Linux MinIO安装后如何备份数据
小樊
32
2026-01-01 06:00:01
Linux 上 MinIO 备份与恢复实操指南
一、备份方式选型
- 使用 mc mirror 做跨服务器或异地备份/迁移:适合把数据从源 MinIO 持续镜像到目标 MinIO(或兼容 S3 的存储),支持全量与持续增量,命令简洁、可脚本化。
- 直接拷贝对象存储到本地归档:用 mc cp -r 将指定 bucket 或整站数据拉到本地磁盘,便于落地归档、压缩和长期保留。
- 对服务器本地数据目录做文件系统级备份:当 MinIO 数据目录位于本地磁盘/NFS 时,用 rsync 做定时全量/增量与快照,适合“备份服务器/冷备”。
- 生产建议:关键数据采用“远端镜像(mc mirror)+ 本地归档(mc cp/rsync)”的双轨策略,兼顾快速回滚与离线留存。
二、准备与环境
- 安装并配置 mc(MinIO Client):
- 下载匹配架构的 mc(如 linux-amd64),放入 /usr/local/bin 并赋权:
- wget https://dl.min.io/client/mc/release/linux-amd64/mc
- chmod +x mc && mv mc /usr/local/bin/
- 配置别名(alias):
- mc alias set minio_src http://源地址:9000 ACCESS_KEY SECRET_KEY
- mc alias set minio_dst http://目标地址:9000 ACCESS_KEY SECRET_KEY
- 校验连通与权限:
- mc ls minio_src
- mc mb minio_dst/test # 如做全量镜像可省略,mirror 会自动创建 bucket
三、常用备份方法步骤
- 方法一(推荐)跨服务器镜像备份/迁移
- 全量镜像整站:mc mirror minio_src minio_dst
- 持续镜像(守护式,新增/变更自动同步):mc mirror --watch minio_src minio_dst
- 覆盖式同步(重名文件强制覆盖):mc mirror --overwrite minio_src minio_dst
- 指定单个桶:mc mirror minio_src/桶名 minio_dst/桶名
- 方法二 本地归档备份(拉到磁盘,便于压缩与长期留存)
- 整站归档:mc cp -r minio_src /backup/minio_$(date +%F)
- 指定桶归档:mc cp -r minio_src/桶名 /backup/桶名_$(date +%F)
- 归档后压缩清理(示例保留 7 天):
- tar czf /backup/minio_$(date +%F).tar.gz -C /backup/minio_$(date +%F) .
- find /backup -name “minio_*.tar.gz” -mtime +7 -delete
- 方法三 服务器本地数据目录备份(文件系统级)
- 全量+增量思路:用 rsync 定期同步 MinIO 数据目录到备份盘,并结合日志、标志文件与压缩归档实现保留策略(示例脚本与保留逻辑可参考下述脚本模板)。
四、自动化与保留策略
- 定时任务(crontab)示例:
- 每天 02:00 全量镜像整站:
- 0 2 * * * /usr/local/bin/mc mirror --overwrite minio_src minio_dst >> /var/log/minio_backup.log 2>&1
- 每 6 小时增量镜像:
- 0 */6 * * * /usr/local/bin/mc mirror minio_src minio_dst >> /var/log/minio_backup.log 2>&1
- 每天 03:00 做本地归档并保留 7 天:
- 0 3 * * * /usr/local/bin/mc cp -r minio_src /backup/minio_$(date +%F) && \
tar czf /backup/minio_$(date +%F).tar.gz -C /backup/minio_$(date +%F) . && \
find /backup -name “minio_*.tar.gz” -mtime +7 -delete
- 保留与校验:
- 按“按天归档 + 定期清理”执行,保留周期按合规要求设定(如 7/30/90 天)。
- 建议每周做一次恢复演练与抽样校验(对象数量、关键文件大小/哈希)。
五、数据恢复与验证
- 从远端镜像恢复整站:mc mirror minio_dst minio_src(或加 –overwrite 强制覆盖)。
- 从本地归档恢复到 MinIO:
- 目录归档:mc cp -r /backup/minio_2025-03-18/ minio_src
- 压缩包:先解压再恢复:tar xzf /backup/minio_2025-03-18.tar.gz -C /restore && mc cp -r /restore minio_src
- 单桶恢复:mc cp -r /backup/桶名_2025-03-18/ minio_src/桶名
- 一致性快速校验:对比源/目标的 bucket 列表 与关键对象数量/大小;必要时抽样计算哈希校验。