1、伺服器清單 IP 持載的盤 192.168.254.201 /data1/ data2/ 192.168.254.202 /data1/ /data2/
2、下載下傳minio的服務端 wget https://dl.min.io/server/minio/release/linux-amd64/minio -O /usr/local/bin/minio && chmod +x /usr/local/bin/minio
如果下載下傳不下來,可以先下載下傳再上傳到對應的目錄,再給此檔案授權
chmod +x /usr/local/bin/minio
3、下載下傳minio的用戶端 wget https://dl.min.io/client/mc/release/linux-amd64/mc -O /usr/local/bin/mc && chmod +x /usr/local/bin/mc
如果下載下傳不下來,可以先在本機下下載下傳再上傳到對應的目錄再給此檔案授權
chmod +x /usr/local/bin/mc
4、建立配置檔案/etc/default/minio cat <<EOT >> /etc/default/minio
MINIO_VOLUMES=http://192.168.245.20{1...2}/data{1...2}
MINIO_OPTS="--address 0.0.0.0:9199"
MINIO_ACCESS_KEY=D99KGE6ZTQXSATTJWU24
MINIO_SECRET_KEY=QyVqGnhIQQE734UYSUFlGOZViE6+ZlDEfUG3NjhJ
MINIO_REGION="cn-south-1"
#MINIO_DOMAIN=minio.zmd.com
EOT
說明:
MINIO_VOLUMES:是我們連接配接的伺服器位址
MINIO_OPTS 指定監聽端口(也可以不監聽具體ip,隻寫 :9199即可)
MINIO_ACCESS_KEY Access key,相當于賬号
MINIO_SECRET_KEY Secret key,相當于密碼
MINIO_REGION 區域值,這是完全自己寫的,比如你願意的話寫“abcd”也行,但标準格式是“國家-區域-編号”, 如“中國-華北-1号”就可寫成“cn-north-1”,又比如“美國-西部-2号”可寫成“us-west-1”
MINIO_DOMAIN 域名
5、設定開機自啟動 wget https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/distributed/minio.service -O /usr/lib/systemd/system/minio.service
編輯minio.service
vi /usr/lib/systemd/system/minio.service
把其中的 User Group 注釋掉,也可以指定具體使用者
#User=minio-user
#Group=minio-user
重載minio.service檔案
6、配置用戶端資訊 mc config host add minio http://192.168.245.201:9199 D99KGE6ZTQXSATTJWU24 QyVqGnhIQQE734UYSUFlGOZViE6+ZlDEfUG3NjhJ
7、檢視叢集資訊 # mc admin info minio
● 192.168.245.202:9199
Uptime: 13 minutes
Version: 2021-04-22T15:44:28Z
Network: 2/2 OK
Drives: 2/2 OK
● 192.168.245.201:9199
Uptime: 13 minutes
Version: 2021-04-22T15:44:28Z
Network: 2/2 OK
Drives: 2/2 OK
4 drives online, 0 drives offline
上傳一些資料,用于驗證擴容後資料可正常使用
mc mb minio/bucket01
mc cp * minio/bucket01
anaconda-ks.cfg: 1.21 KiB / 1.21 KiB ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 93.66 KiB/s 0s [root@minio-01 ~]# ░░░░░░░░░░░░░░░░░░░░░▓┃
登入控制台檢視上傳正常
minio的叢集與擴容 8、擴容 8.1、服務清單 IP 持載的盤 說明 192.168.254.201 /data1/ 原盤 /data2/ 192.168.254.202 /data1/ 原盤 /data2/ 192.168.254.203 /data1/ 擴容 /data2/ 192.168.254.204 /data1/ 擴容 /data2/
在擴容叢集時用到了2組http://{...}的文法參數,是以舊叢集以及擴容都必須使用這種文法形式建立,指令行中的每組server稱為一個zone,此示例中有2 server pools,對于外部的寫資料請求,minio server會首先查找可用空間多的zone,然後再在zone内選擇set和disk drive。
注意:添加的每個zone必須具有與原始zone相同的set集大小,以便維持相同的資料備援SLA。例如,如果您的第一個zone是8個磁盤,則可以添加每個server pools包含16、32或1024個磁盤的zone。您隻需確定部署SLA是原始資料備援SLA的倍數。
8.2、停止原服務 在192.168.254.201與192.168.254.202停卡minio服務
systemctl stop minio.service
8.3、在擴容的機器上192.168.254.203與192.168.254.203安裝minio 具體參考:上面2與3、5小節
8.4、修改原來192.168.254.201與192.168.254.202的配置檔案 vi /etc/default/minio
#把MINIO_VOLUMES=http://192.168.245.20{1...2}/data{1...2} 改為MINIO_VOLUMES=http://192.168.245.20{1...2}/data{1...2} http://192.168.245.20{3...4}/data{1...2}
8.5、在新加的擴容機器192.168.254.203與192.168.254.203加入配置檔案 cat <<EOT >> /etc/default/minio
MINIO_VOLUMES=http://192.168.245.20{1...2}/data{1...2} http://192.168.245.20{3...4}/data{1...2}
MINIO_OPTS="--address 0.0.0.0:9199"
MINIO_ACCESS_KEY=D99KGE6ZTQXSATTJWU24
MINIO_SECRET_KEY=QyVqGnhIQQE734UYSUFlGOZViE6+ZlDEfUG3NjhJ
MINIO_REGION="cn-south-1"
#MINIO_DOMAIN=minio.zmd.com
EOT
8.6、啟動所有機器上面服務 systemctl start minio.service
8.7、驗證配置 # mc admin info minio
● 192.168.245.202:9199
Uptime: 1 hour
Version: 2021-04-22T15:44:28Z
Network: 2/2 OK
Drives: 2/2 OK
● 192.168.245.203:9199
Uptime: 3 seconds
Version: 2021-04-22T15:44:28Z
Network: 4/4 OK
Drives: 0/0 OK
● 192.168.245.204:9199
Uptime: 3 seconds
Version: 2021-04-22T15:44:28Z
Network: 4/4 OK
Drives: 0/0 OK
● 192.168.245.201:9199
Uptime: 13 minutes
Version: 2021-04-22T15:44:28Z
Network: 4/4 OK
Drives: 0/0 OK
2 drives online, 0 drives offline
[root@minio-01 bin]#
上傳一些資料,用于驗證擴容後資料可正常使用
#上傳以前建的桶
touch 123 > test.txt
mc cp test.txt minio/bucket01
0 B / ? ┃░░░░░░░░░░░
#建立一個桶看新桶是否正常
mc mb minio/bucket02
Bucket created successfully `minio/bucket02`.
mc cp test.txt minio/bucket02
0 B / ? ┃░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓
minio的叢集與擴容 9、nginx配置互載代理 配置檔案如下,http
upstream minio-server {
server 192.168.245.201:9199 weight=25 max_fails=2 fail_timeout=30s;
server 192.168.245.202:9199 weight=25 max_fails=2 fail_timeout=30s;
server 192.168.245.203:9199 weight=25 max_fails=2 fail_timeout=30s;
server 192.168.245.204:9199 weight=25 max_fails=2 fail_timeout=30s;
}
server {
listen 9000;
server_name localhost;
charset utf-8;
default_type text/html;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $remote_addr;
client_body_buffer_size 10M;
client_max_body_size 10G;
proxy_buffers 1024 4k;
proxy_read_timeout 300;
proxy_next_upstream error timeout http_404;
proxy_pass http://minio-server;
}
}