一、背景
公司文件服务器(Minio Server)保存了很多重要资料,一旦服务器宕机,影响正常运行,为保障服务的稳定性,所以使用Minio Client实现数据的同步功能。
二、资源
1. master服务器
地址:192.168.110.10
系统:Windows Server
文件服务:Minio Server(已安装)
文件服务地址:http://192.168.110.10:9000/minio
Accesskey:minioadmin
Secretkey:minioadmin
2. slave服务器
地址:192.168.110.20
系统:CentOS7
文件服务:Minio Server(已安装)
文件服务地址:http://192.168.110.20:9000/minio
Accesskey:minioadmin
Secretkey:minioadmin
三、配置
1. 在slave服务器上安装mc,即Minio Client。安装目录/usr/local/bin/
。
[root@20]# wget http://dl.minio.org.cn/client/mc/release/linux-amd64/mc -P /usr/local/bin/
2. Minio Client赋权限
[root@20]# chmod +x /usr/local/bin/mc
3. 在slave上配置minio服务的访问权限
[root@20]# mc config host add minio_master http://192.168.110.10:9000 minioadmin minioadmin
[root@20]# mc config host add minio_slave http://192.168.110.20:9000 minioadmin minioadmin
4. 将master的minio所有桶(bucker)数据同步至slave的minio中。
注:同步功能将会清空slave的minio所有桶,如果有重要文件,见意先备份。
[root@20]# mc mirror --remove --overwrite --watch minio_master minio_slave
5. 配置Minio Client 服务自动启动,在命令行输入下方命令并运行:
#master的minio服务别名
master_uat="minio_master"
#slaver的minio服务别名
slave_uat="minio_slave"
#将以下代码一起复制到命令窗口
cat > /usr/lib/systemd/system/minioc.service <<EOF
[Unit]
Description=minioc
After=network.target
[Service]
Type=simple
ExecStart=$(command -v mc) mirror --remove --overwrite --watch ${master_uat} ${slave_uat}
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
6. 启动Minio Client 服务
[root@20]# chmod +x /usr/lib/systemd/system/minioc.service
[root@20]# systemctl daemon-reload
[root@20]# systemctl enable minioc.service
[root@20]# systemctl start minioc.service
7. 打开master的minio服务上进行文件操作,也可以使用mc在slave服务器上给master创建桶
[root@20]# mc mb minio_master/bucket名称