一、环境准备
3台机器,Ip地址依次为IP1,IP2,IP3
二、设置服务器时间同步
Minio集群需要各个节点的时间保持同步,使用NTP作为时间同步服务,这里以Minio-1(IP1)为上游服务器,其它2个节点为下游服务器,做时间节点同步
1、Minio-1 服务器安装NTP
(1)安装ntp
yum install ntp ntpdate –y
(2) 启动ntp服务
systemctl start ntpd
(3)服务端修改配置文件 /etc/ntp.conf
server 127.127.1.1
fudge 127.127.1.1 stratum 10
(4)重启ntp服务
systemctl restart ntpd
(5)查看ntp状态
ntpq -p
(6)设置开机启动
systemctl enable ntpd
2、其它下游服务器做时间同步,Minio-2(IP2)、Minio-3(IP3) 以下操作需要在所有下游服务器操作
(1)安装ntp
yum install ntp ntpdate –y
(2)手动同步一次时间
/usr/sbin/ntpdate -u IP1
(3)修改配置文件(/etc/ntp.conf)
restrict IP1 nomodify notrap noqueryserver IP1
fudge IP1 stratum 10
(4)启动ntp服务
systemctl start ntpd
(5)设置开机启动
systemctl enable ntpd
(6)查看状态
ntpq -p
三、设置Minio集群(注意docker部署集群模式时必须指定-–net=host参数,使用主机网络,采用端口映射无法创建集群)
1、拉取镜像(所有Minio节点都需要执行
docker pull minio/minio
2、配置本地hosts解析(所有Minio节点都需要执行,/etc/hosts文件)
IP1 minio-1
IP2 minio-2
IP3 minio-3
3、创建minio本地存储路径(所有Minio节点都需要执行)
mkdir -p /home/minio/{data,backup}
4、创建minio容器(各个节点执行各个节点的命令)
(1)Minio-1(IP1)节点执行命令
docker run -d --name minio-01 --restart=always --net=host \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=xxxxx" \
-e "MINIO_SERVER_URL=http://IP1:9000" \
-v /home/minio/data:/data1 \
-v /home/minio/backup:/data2 \
minio/minio:latest server \
--address IP1:9000 \
--console-address '0.0.0.0:9001' http://minio-{1...3}/data{1...2}
(2)Minio-2(IP2)节点执行命令
docker run -d --name minio-02 --restart=always --net=host \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=xxxxx" \
-e "MINIO_SERVER_URL=http://IP1:9000" \
-v /home/minio/data:/data1 \
-v /home/minio/backup:/data2 \
minio/minio:latest server \
--address IP2:9000 \
--console-address '0.0.0.0:9001' http://minio-{1...3}/data{1...2}
(3)Minio-3(IP3)节点执行命令
docker run -d --name minio-03 --restart=always --net=host \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=xxxxx" \
-e "MINIO_SERVER_URL=http://IP1:9000" \
-v /home/minio/data:/data1 \
-v /home/minio/backup:/data2 \
minio/minio:latest server \
--address IP3:9000 \
--console-address '0.0.0.0:9001' http://minio-{1...3}/data{1...2}
四、访问任意节点IP:9001访问
五、新版踩坑:
在分享share文件的时候会出现IP 地址为127.0.0.1或者localhost的情况,解决办法:
找一台机器,例如IP地址为IP1的话,在三台机器启动容器的时候,分别添加环境变量参数:
-e "MINIO_SERVER_URL=http://IP1:9000" \
并且集群内的所有机器都需要是IP1地址