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节点多余的数据被删除。

 

posted @ 2025-05-19 15:40  一文搞懂  阅读(145)  评论(0)    收藏  举报