常见SEO搭建云服务器免流MinIO主从同步使用MC实现数据实时备份
2017云服务器
一、为什么需要 MinIO 主从同步?
MinIO 作为高性能对象存储,常需应对数据备份、故障恢复等需求。通过 Docker 部署主从架构,配合 MC(MinIO Client)工具实现实时同步,可大幅提升数据安全性 —— 主节点写入数据后自动同步至从节点,避免单点故障导致的数据丢失。
二、认识 MC:MinIO 的命令行 管家
(一)MC 是什么?
MC 全称MinIO Client,是 MinIO 官方推出的跨平台命令行工具,可类比为对象存储的 瑞士军刀。它支持 Windows、Linux、macOS 等系统,不仅能管理 MinIO 集群,还兼容 AWS S3 协议的各类存储服务(如 AWS S3、阿里云 OSS 等)。
其核心能力包括:
管理存储桶:创建、删除、权限配置等数据操作:上传、下载、复制、删除文件节点配置:添加、管理不同 MinIO 节点(主从节点均需通过 MC 关联)同步监控:实现跨节点数据镜像、实时增量同步(二)为什么主从同步必须用 MC?
Web 控制台的局限性MinIO 自带的 Web 控制台(如 9001 端口)仅支持基础文件管理,无法实现 主节点变化→从节点自动同步 的实时联动,也缺乏批量操作和后台运行能力。
主从同步的核心需求匹配主从架构需要三大关键能力,而 MC 恰好满足:
实时性:--watch参数可监控主节点文件变化,秒级触发同步完整性:支持增量同步(仅同步变化文件)、全量镜像,还能通过--remove保持主从数据一致稳定性:可通过系统服务(如 systemd)后台运行,避免终端关闭导致同步中断自动化与集成优势MC 支持命令行脚本化,可轻松集成到 Shell 脚本、定时任务(crontab)或自动化运维平台(如 Ansible),相比手动操作更高效,也便于后续扩展(如添加同步日志、告警等)。
多节点管理便捷性通过mc config host add命令为每个 MinIO 节点配置 别名 后,后续同步、管理只需调用别名(如minio_master),无需重复输入节点 IP、端口和账号密码,降低操作复杂度。
三、前期准备
环境要求两台 Linux 主机(示例:主节点 192.168.44.128,从节点 192.168.44.129)已安装 Docker(建议 20.10 + 版本)开放端口:9000(API 端口)、9001(控制台端口)镜像选择优先使用带控制台的稳定版本,避免新版本 UI 缺失问题:
docker pull minio/minio:RELEASE.2025-04-22T22-12-26Z-cpuv1
四、Docker 部署 MinIO 主从节点
(一)主节点部署(192.168.44.128)
创建数据与配置目录:mkdir -p /opt/minio-master/{data,conf}
docker run -d \
--name minio-master \
--restart unless-stopped \
-p 9000:9000 \
-p 9001:9001 \
-e MINIO_ROOT_USER=admin \
-e MINIO_ROOT_PASSWORD=Minio@123 \
-v /opt/minio-master/data:/data \
-v /opt/minio-master/conf:/root/.minio \
minio/minio:RELEASE.2025-04-22T22-12-26Z-cpuv1 \
server /data --console-address ":9001"
(二)从节点部署(192.168.44.129)
创建目录(同主节点):mkdir -p /opt/minio-slave/{data,conf}
docker run -d \
--name minio-slave \
--restart unless-stopped \
-p 9010:9000 \
-p 9011:9001 \
-e MINIO_ROOT_USER=admin \
-e MINIO_ROOT_PASSWORD=Minio@123 \
-v /opt/minio-slave/data:/data \
-v /opt/minio-slave/conf:/root/.minio \
云 代理服务器
minio/minio:RELEASE.2025-04-22T22-12-26Z-cpuv1 \
server /data --console-address ":9001"
⚠️ 注意:容器内控制台端口必须为 9001,否则无法登录
五、MC 客户端配置(从节点操作)
(一)安装 MC 工具
下载并授权:wget http://dl.minio.org.cn/client/mc/release/linux-amd64/mc -P /usr/local/bin/
chmod +x /usr/local/bin/mc
mc --version 输出版本信息即为成功
(二)配置主从节点连接
添加主节点别名:mc config host add minio_master http://192.168.44.128:9000 admin Minio@123
mc config host add minio_slave http://192.168.44.129:9010 admin Minio@123
mc alias list 显示两个节点信息即为配置成功
六、启动实时同步
(一)基础同步命令
在从节点执行以下命令,实现主→从单向实时同步:
mc mirror --remove --overwrite --watch minio_master minio_slave
(二)后台运行与服务化
为避免终端关闭导致同步中断,建议配置 systemd 服务:
创建服务文件:cat > /usr/lib/systemd/system/minioc.service << EOF
[Unit]
Description=MinIO MC Sync Service
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/mc mirror --remove --overwrite --watch minio_master minio_slave
Restart=always
[Install]
WantedBy=multi-user.target
阿里云服务器终端
EOF
systemctl daemon-reload
systemctl enable --now minioc.service
systemctl status minioc.service 检查服务状态
七、同步验证与问题排查
(一)验证同步效果
主节点上传测试文件:通过 Web 控制台(http://192.168.44.128:9001)创建 bucket 并上传文件。
从节点检查:登录从节点控制台(http://192.168.44.129:9011),确认文件已同步。
(二)常见问题解决
同步失败:检查主从节点网络连通性,执行mc ping minio_master验证。权限错误:确保 MC 配置的账号密码与 MinIO 节点一致。容器重启数据丢失:确认/opt/minio-{master/slave}/data目录挂载正确。八、注意事项
双向同步风险:不建议配置互相同步,可能导致数据冲突丢失。版本兼容性:MC 工具版本需与 MinIO 服务器版本匹配。性能优化:大文件场景建议增加同步线程数(--concurrency参数)。云服务器最快
推荐阅读
- 云服务器初始密码北京首例比特币“挖矿”合同案宣判法院认定合同无效判决驳回原告诉讼请求 2025-12-16 19:08:42
- 阿里云服务器多个网站“你的系统已中病毒,要解决必须支付…比特币!” 2025-12-16 18:58:35
- 博客 云服务器阿里云LinkID²安全加码,助力云丁鹿客“锁定安全” 2025-12-16 18:48:29
- 阿里云服务器 iis聚焦家庭安全“核芯”德施曼、阿里云联合发布小嘀云智能锁T86 2025-12-16 18:38:28
- 阿里云服务器 备案阿里云LinkID²全面加成德施曼智能锁新品智能锁行业实现安全性能升级 2025-12-16 18:28:23

