安裝單機版MinIO(準備2臺機器A、B,A、B服務器操作一致)
切換目錄并下載MinIO二進制文件
cd /usr/local/bin
wget https://dl.minio.org.cn/server/minio/release/linux-amd64/minio
chmod +x minio
編輯配置文件
vi /etc/default/minio.confMINIO_VOLUMES="/data"
MINIO_OPTS="--address :9000 --console-address :9001"
MINIO_ACCESS_KEY="minio"
MINIO_SECRET_KEY="minio123456"
注冊系統服務
創建服務單元文件
vi /usr/lib/systemd/system/minio.service[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio[Service]
User=root
Group=root
EnvironmentFile=/etc/default/minio.conf
ExecStart=/usr/local/bin/minio server $MINIO_VOLUMES $MINIO_OPTS
Restart=always
LimitNOFILE=65536
TimeoutStopSec=infinity
SendSIGKILL=no[Install]
WantedBy=multi-user.target
啟動與驗證
啟動服務并檢查狀態
systemctl start minio && systemctl status minio
設置開機自啟
systemctl enable minio
二、配置互為主從【在其中一臺機器操作即可】
1、先安裝mc命令
# 切換目錄
cd /usr/local/bin# 下載,離線安裝請提前下載,上傳服務器替換該步驟
wget https://dl.min.io/client/mc/release/linux-amd64/mcchmod +x /usr/local/bin/mc
2、配置
[root@localhost ~]# mc alias set minio1 http://192.168.247.158:9000 admin password123
mc: Configuration written to `/root/.mc/config.json`. Please update your access credentials.
mc: Successfully created `/root/.mc/share`.
mc: Initialized share uploads `/root/.mc/share/uploads.json` file.
mc: Initialized share downloads `/root/.mc/share/downloads.json` file.
Added `minio1` successfully.
[root@localhost ~]# mc alias set minio2 http://192.168.247.145:9000 admin password123
Added `minio2` successfully.
[root@localhost ~]# mc admin replicate add minio1 minio2
Requested sites were configured for replication successfully.
[root@localhost ~]# mc admin replicate info minio1
SiteReplication enabled for:Deployment ID | Site Name | Endpoint | Sync | Bandwidth | ILM Expiry Replication | | | | Per Bucket |
8ffd3069-84ba-4687-8438-93bedff772e6 | minio1 | http://192.168.247.158:9000 | | N/A | false
1319c229-28fa-44e2-a3fb-4ae1680f6090 | minio2 | http://192.168.247.145:9000 | | N/A | false
[root@localhost ~]# mc admin replicate status minio1
Bucket replication status:
No Buckets presentPolicy replication status:
● 5/5 Policies in syncUser replication status:
No Users presentGroup replication status:
No Groups presentILM Expiry Rules replication status:
No ILM Expiry Rules presentObject replication status:
Replication status since 6 minutes
Summary:
Replicated: 0 objects (0 B)
Queued: ● 0 objects, (0 B) (avg: 0 objects, 0 B; max: 0 objects, 0 B)
Received: 0 objects (0 B)
3、驗證
(1)AB桶的數據會保持一致,無論在AB桶先寫入數據
(2)停掉A 服務器,在B寫入或者刪除數據后,在啟動A,A數據也會同步
4、NGINX負載
upstream minio-server { server 192.168.10.1:9000 weight=25 max_fails=2 fail_timeout=30s; server 192.168.20.2:9000 weight=25 max_fails=2 fail_timeout=30s; } upstream minio-console { ip_hash; server 192.168.10.1:9001 weight=25 max_fails=2 fail_timeout=30s; server 192.168.20.2:9001 weight=25 max_fails=2 fail_timeout=30s; } server { listen 9000; server_name localhost; # To allow special characters in headers ignore_invalid_headers off; # 配置成上傳文件不限制大小 client_max_body_size 0; # To disable buffering proxy_buffering off; location / {proxy_pass http://minio-server; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header; expires 0; # 后端服務器連接的超時時間_發起握手等候響應超時時間 proxy_connect_timeout 300; proxy_http_version 1.1; chunked_transfer_encoding off; # 是否開啟proxy忽略客戶端中斷 proxy_ignore_client_abort on; }}server { listen 9001; server_name localhost; # To allow special characters in headers ignore_invalid_headers off; # 配置成上傳文件不限制大小 client_max_body_size 0; # To disable buffering proxy_buffering off; location / { proxy_pass http://minio-console; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header; expires 0; # 后端服務器連接的超時時間_發起握手等候響應超時時間 proxy_connect_timeout 300; proxy_http_version 1.1; chunked_transfer_encoding off; # 是否開啟proxy忽略客戶端中斷 proxy_ignore_client_abort on; } }