一、基礎環境
操作系統:CentOS 7.3
將下載好的minio移動到 /opt/minio/文件夾下 或 者進入到/opt/minio/文件夾下使用下面的命令下載:
wget https://dl.minio.io/server/minio/release/linux-amd64/minio
二、準備工作
2.1、機器資源
192.168.129.133 掛載磁盤路徑:/data/minio_data
192.168.129.135 掛載磁盤路徑:/data/minio_data
192.168.129.136 掛載磁盤路徑:/data/minio_data
192.168.129.137 掛載磁盤路徑:/data/minio_data
生成環境強烈建議最少四臺機器,這也是官方的建議要求,這樣的話就可以做到掛掉一臺機器集羣依然可以讀寫,掛掉兩臺機器集羣依然可讀,本文僅以兩臺機器爲例子說明如何搭建集羣
2.2、創建相關目錄(所有節點,上面四臺機器都創建相同路徑的文件夾)
[root@localhost /]# mkdir /data/minio_data/
注意:需要將新建的目錄掛在到對應的磁盤下,磁盤不掛在好,集羣啓動會報錯:找不到磁盤,如下:
[root@localhost /]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 475M 0 475M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.7M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/mapper/centos-root 17G 7.4G 9.6G 44% /
/dev/sda1 1014M 137M 878M 14% /boot
tmpfs 98M 0 98M 0% /run/user/0
[root@localhost /]# mount /dev/sda1 /data/minio_data/
mount: /dev/sda1 is already mounted or /data/minio_data busy
/dev/sda1 is already mounted on /boot
/dev/sda1 is already mounted on /data/minio_data
[root@localhost /]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /data/minio_data
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 4.4G 0 rom
[root@localhost /]#
創建啓動腳本目錄
[root@localhost /]# mkdir /opt/minio/
三、編寫集羣啓動腳本(所有節點配置文件相同)
腳本如下:
[root@localhost /]# vim /opt/minio/run.sh
#!/bin/bash
export MINIO_ACCESS_KEY=Xxyminio
export MINIO_SECRET_KEY=Test123456
/opt/minio/minio server \
http://192.168.129.133/data/minio_data/data1 http://192.168.129.135/data/minio_data/data1 \
http://192.168.129.136/data/minio_data/data1 http://192.168.129.137/data/minio_data/data1
其中,“MINIO_ACCESS_KEY”爲用戶名,“MINIO_SECRET_KEY”爲密碼,密碼不能設置過於簡單,不然minio會啓動失敗
創建好的/opt/minio/目錄下的結構如下圖:
四、編寫服務腳本(所有節點)
[root@localhost minio]# vim /usr/lib/systemd/system/minio.service
[Unit]
Description=Minio service
Documentation=https://docs.minio.io/
[Service]
WorkingDirectory=/opt/minio/
ExecStart=/opt/minio/run.sh
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
其中,“WorkingDirectory”爲啓動腳本目錄,“ExecStart”爲指定集羣啓動腳本
五、啓動測試
5.1、將下載好的minio文件賦予權限
[root@localhost minio]# chmod +x /opt/minio/minio
5.2、賦予啓動文件權限
[root@localhost minio]# chmod +x /opt/minio/run.sh
5.3、依次啓動每個服務器的minio
[root@localhost minio]# systemctl daemon-reload
[root@localhost minio]#
[root@localhost minio]# systemctl start minio
[root@localhost minio]#
[root@localhost minio]# systemctl status minio
● minio.service - Minio service
Loaded: loaded (/usr/lib/systemd/system/minio.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2020-04-22 10:32:54 CST; 44s ago
Docs: https://docs.minio.io/
Main PID: 1569 (run.sh)
CGroup: /system.slice/minio.service
├─1569 /bin/bash /opt/minio/run.sh
└─1570 /opt/minio/minio server http://192.168.129.133/data/minio_data/data1 http://192.168.129.135/data/minio_data/data1 http://192....
Apr 22 10:32:54 localhost.localdomain systemd[1]: Started Minio service.
Apr 22 10:33:17 localhost.localdomain run.sh[1569]: Waiting for a minimum of 2 disks to come online (elapsed 18s)
Apr 22 10:33:20 localhost.localdomain run.sh[1569]: Waiting for a minimum of 2 disks to come online (elapsed 21s)
Apr 22 10:33:23 localhost.localdomain run.sh[1569]: Waiting for a minimum of 2 disks to come online (elapsed 24s)
Apr 22 10:33:26 localhost.localdomain run.sh[1569]: Waiting for a minimum of 2 disks to come online (elapsed 27s)
Apr 22 10:33:29 localhost.localdomain run.sh[1569]: Waiting for a minimum of 2 disks to come online (elapsed 30s)
Apr 22 10:33:32 localhost.localdomain run.sh[1569]: Waiting for a minimum of 2 disks to come online (elapsed 33s)
Apr 22 10:33:35 localhost.localdomain run.sh[1569]: Waiting for a minimum of 2 disks to come online (elapsed 36s)
Apr 22 10:33:38 localhost.localdomain run.sh[1569]: Waiting for a minimum of 2 disks to come online (elapsed 39s)
[root@localhost minio]#
5.4、測試
瀏覽器輸入集羣任意節點地址+9000端口,即可訪問minio,用戶名密碼爲前面設置的“MINIO_ACCESS_KEY”和“MINIO_SECRET_KEY”,可創建“bucket”並上傳文件測試