centos8 安装Minion 双机热备
准备两台服务器假定IP分别为 192.168.10.42,192.168.10.52
一、概述
minio和mc无需安装,下载之后配置环境变量即可使用,mc与minio是独立的,minio需要先启动,mc启动会自动备份缺失的文件。

二、下载minio和mc
下载之后上传至 /opt/minio/bin,下载地址:
weget https://dl.min.io/aistor/minio/release/linux-amd64/minio weget https://dl.min.io/aistor/mc/release/linux-amd64/mc
设置软件权限:可执行
chmod +x /opt/minio/bin/minio chmod +x /opt/minio/bin/mc
三、创建配置文件
配置文件目录:/opt/minio/config/minio.env 文件内容:
# MinIO 服务器配置 MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=Admin1234! MINIO_DATA_DIR=/opt/minio/data MINIO_ADDRESS=:9000 MINIO_CONSOLE_ADDRESS=:9001 # MinIO 主从节点地址 MINIO_MASTER_URL=http://192.168.10.52:9000 MINIO_SLAVE_URL=http://192.168.10.42:9000 # mc 客户端配置 MC_BINARY_PATH=/opt/minio/bin/mc MINIO_CONFIG_DIR=/root/.mc # 配置文件存储路径
这里注意:本机为SLAVE节点,数据是从MASTER备份到SLAVE。
四、开机启动
4.1创建minio.service文件
文件地址:/etc/systemd/system/minio.service 文件内容:
[Unit] Description=Minio server After=network.target [Service] Type=simple User=root Group=root # 读取配置文件 EnvironmentFile=/opt/minio/config/minio.env # 使用完整路径(而非变量)避免解析问题 ExecStart=/opt/minio/bin/minio server --console-address ${MINIO_CONSOLE_ADDRESS} --address ${MINIO_ADDRESS} ${MINIO_DATA_DIR} Restart=always LimitNOFILE=65536 [Install] WantedBy=multi-user.target
4.2创建miniomc.service文件
文件地址:/etc/systemd/system/miniomc.service 文件内容:
[Unit] Description=MinIO Mirror Service # 在minio.service之后启动 After=network.target minio.service Requires=minio.service [Service] Type=simple User=root WorkingDirectory=/opt/minio/bin # 读取配置文件 EnvironmentFile=/opt/minio/config/minio.env # 等待minio.service启动30秒 ExecStartPre=/bin/sleep 30 # 前置命令,配置主备地址 ExecStartPre=/opt/minio/bin/mc config host add minio_master ${MINIO_MASTER_URL} ${MINIO_ROOT_USER} ${MINIO_ROOT_PASSWORD} ExecStartPre=/opt/minio/bin/mc config host add minio_slave ${MINIO_SLAVE_URL} ${MINIO_ROOT_USER} ${MINIO_ROOT_PASSWORD} # 正式启动 ExecStart=/opt/minio/bin/mc mirror --overwrite --watch minio_master minio_slave Restart=always RestartSec=5 [Install] WantedBy=multi-user.target
五、启动
开放端口:
firewall-cmd --zone=public --add-port=9000/tcp --permanent firewall-cmd --zone=public --add-port=9001/tcp --permanent firewall-cmd --reload
启动命令:
# 刷新 systemctl daemon-reload # 启动服务 systemctl restart minio systemctl restart miniomc # 开机启动 systemctl enable minio.service systemctl enable miniomc.service
# 查看状态
systemctl status minio
systemctl status miniomc
六、总结
安装总结:
1、两台服务器安装上述配置安装,配置文件里面的MASTER和SLAVE 的url地址对调即可
2、先启动两台服务器的minio,再启动mc
问答:
问:为什么不把配置放在service 里面
答:service文件权限对普通用户可见,账号密码等安全等级高的信息不应该放在里面
问:为什么不用脚本命令直接启动
答:脚本命令看似简短实则不方便管理和维护,再则进程会泄露账号密码等信息不安全
不推荐: /opt/minio/bin/minio server --address ":9000" --console-address ":9001" --config-dir "/opt/minio/config"
mc config host add minio_master http://192.168.0.111:9000 test test8888 mc config host add minio_slave http://192.168.0.112:9000 test test8888 mc mirror --overwrite --watch minio_master minio_slave
问: 为什么不采用--remove模式
答:通常数据是宁愿重复也不删除的,删除后难以找回,而且--remove重启mc会导致SLAVE节点多余的数据被删除。

浙公网安备 33010602011771号