Linux搭建minio集羣

方式一:4臺服務器(或虛擬機)搭建minio集羣

1.1、 準備4臺服務器(或虛擬機),並在對應機器上面創建/data{num}文件夾

192.168.31.128/data0 
192.168.31.129/data1 
192.168.31.130/data2 
192.168.31.131/data3

本集羣由4臺服務器構成(官方推薦集羣最小4臺服務器),每個服務器上掛載兩個磁盤目錄,最小數據掛載點爲4個。

1.2、創建相關目錄(所有節點)

數據存儲目錄
$ mkdir -p /var/minio/bin

啓動腳本目錄
$ cd /var/minio/bin
$ wget https://dl.minio.io/server/minio/release/linux-amd64/minio
$ chmod +x minio

集羣配置文件目錄
$ mkdir -p /etc/minio

1.3、編寫集羣啓動腳本(所有節點配置文件相同)

$ vim /var/minio/bin/run.sh
#!/bin/bash
export MINIO_ACCESS_KEY=minio
export MINIO_SECRET_KEY=test123456
/var/minio/bin/minio server --config-dir /etc/minio \
http://192.168.31.128/data0 http://192.168.31.129/data1 \
http://192.168.31.130/data2 http://192.168.31.131/data3

注意:

  1. MINIO_ACCESS_KEY:用戶名
  2. MINIO_SECRET_KEY:密碼,密碼不能設置過於簡單,不然minio會啓動失敗
  3. -config-dir:指定集羣配置文件目錄

賦權:

$ chmod +x /var/minio/bin/run.sh

1.4、編寫服務腳本(所有節點都要進行如下配置)

$ vim /usr/lib/systemd/system/minio.service
[Unit]
Description=Minio service
Documentation=https://docs.minio.io/
[Service]
WorkingDirectory=/var/minio/bin/
ExecStart=/var/minio/bin/run.sh
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target

注意:

  1. WorkingDirectory:啓動腳本目錄
  2. ExecStart:指定集羣啓動腳本

賦權:

$ chmod +x /usr/lib/systemd/system/minio.service

1.5、啓動測試

 

$ systemctl daemon-reload
$ systemctl start minio
$ systemctl enable minio

1.6、驗證

 

瀏覽器輸入:集羣任意節點IP:9000,即可訪問minio,用戶名密碼爲前面設置的“MINIO_ACCESS_KEY”和“MINIO_SECRET_KEY”,可創建“bucket”並上傳文件測試。

方式二:3臺Linux服務器(或虛擬機),並使用supervisor進行服務管理

2.1、準備3臺服務器,並在3臺服務器上都創建/data{num}文件夾

192.168.31.130/data1 /data2
192.168.31.131/data3 /data4
192.168.31.132/data5 /data6

2.2、創建啓動腳本目錄

$ mkdir /opt/minio
$ cd /opt/minio/

# 下載minio $ wget https://dl.minio.io/server/minio/release/linux-amd64/minio $ chmod +x minio

2.3、安裝supervisor

# 方法一:使用yum安裝,並設置開機啓動
$ yum install -y supervisor

#方法二:由於supervisor在python3下無法使用,因此只能用python2去下載
$ yum install python-setuptools
$ easy_install supervisor
# 具體步驟請查看supervisor安裝

2.4、創建minio配置文件

$ mkdir /etc/supervisor.d/
[program:minio] 
directory = /opt/minio/ 
command = /opt/minio/minio server --address :30000   http://192.168.31.130:30000/data/minio1   http://192.168.31.130:30000/data/minio2   http://192.168.31.131:30000/data/minio3   http://192.168.31.131:30000/data/minio4   http://192.168.31.132:30000/data/minio5   http://192.168.31.132:30000/data/minio6 
user = root 
autostart = true 
autorestart = true 
startsecs = 5 
redirect_stderr = true 
stopasgroup = true 
ikillasgroup = true 
stdout_logfile_maxbytes = 50MB 
stdout_logfile_backups = 10 
stdout_logfile = /var/log/supervisor/minio.log 
environment=MINIO_SECRET_KEY=password,MINIO_ACCESS_KEY=minio

2.5 啓動supervisor服務和minio服務

systemctl start supervisord.service  # 啓動,使用systemctl命令,minio服務就已經起來了
systemctl enable supervisord.service 

systemctl restart supervisord.service # 重啓,這個命令不要執行
# 注意,supervisor服務起來後可以使用下面的命令管理minio服務
$ supervisorctl start minio # 啓動 $ supervisorctl status minio # 查看狀態 $ supervisorctl stop minio # 關閉

2.6 安裝mc

1. 下載mc:https://docs.min.io/cn/minio-client-quickstart-guide.html
2. 添加服務器:
 a. mc alias set minio1 {minio1_url} ak sk  # 添加minio服務器1  ak:用戶名  sk:密碼
 b. mc alias set minio2 {minio2_url} ak sk
3. 同步:
 a. mc mirror minio1/{bucket_name} minio2/{bucket_name}

例子:

$ ./mc config host add minio1 http://minio_service1:30001 minio password  # 添加minio1服務  注意 minio1和minio2是兩個不同的集羣
$ ./mc config host add minio2 http://minio_service2:30001 minio passw0rd
$ ./mc mirror minio2/paas-etcd-bak minio1/paas-etcd-bak  # 將minio2服務裏面的桶遷移到minio1裏面
參考地址:https://docs.min.io/cn/minio-client-complete-guide.html#mirror
Mc mirrir用法:
   mc mirror [FLAGS] SOURCE TARGET
FLAGS:
  --help, -h                       顯示幫助。
  --force              強制覆蓋已經存在的目標。
  --fake               模擬一個假的操作。
  --watch, -w                      監聽改變並執行鏡像操作。
  --remove             刪除目標上的外部的文件。

結束!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章