温馨提示×

centos minio迁移步骤是什么

小樊
50
2026-01-07 23:01:45
栏目: 智能运维

CentOS 上 MinIO 迁移步骤

一 迁移方式选择

  • 在线迁移(不停机):适合大多数场景,使用官方客户端 mc 的 mirror/diff 或 rclone 的 sync,边传边校验,支持全量与增量。
  • 离线迁移(停机/维护窗口):直接拷贝后端数据目录(如 /data/minio)到新环境,再启动新实例;跨大版本恢复时通常需清理元数据目录 .minio.sys。适合数据量很大、网络带宽受限或对停机可接受的情况。

二 在线迁移步骤 mc 方式

  • 安装 mc(MinIO 客户端)
    • 下载并安装:curl -O https://dl.min.io/client/mc/release/linux-amd64/mc && chmod +x mc && mv mc /usr/local/bin/
  • 配置源/目标别名
    • mc alias set src http://旧地址:9000
    • mc alias set dst http://新地址:9000
  • 全量迁移与校验
    • 全量镜像:mc mirror --overwrite src/桶名 dst/桶名
    • 增量同步:重复执行同一命令,仅同步新增/变更对象
    • 一致性校验:mc diff src/桶名 dst/桶名
  • 批量与策略
    • 多桶:for b in $(mc ls src | awk ‘{print $5}’); do mc mirror --overwrite src/$b dst/$b; done
    • 桶策略/生命周期等:先导出再导入策略(mc admin policy),必要时用 mc replicate 配置复制规则(注意单盘不支持 replicate)。

三 在线迁移步骤 rclone 方式

  • 安装 rclone
    • curl https://rclone.org/install.sh | sudo bash
  • 配置源/目标(rclone.conf 示例)
    • [src]
      • type = s3
      • provider = Minio
      • env_auth = false
      • access_key_id =
      • secret_access_key =
      • endpoint = http://旧地址:9000
      • region = cn-east-1
    • [dst]
      • type = s3
      • provider = Minio
      • env_auth = false
      • access_key_id =
      • secret_access_key =
      • endpoint = http://新地址:9000
      • region = cn-east-1
  • 执行同步与校验
    • 同步:rclone sync src:桶名 dst:桶名(会删除目标端多余对象,谨慎使用;如需仅补齐差异可用 rclone copy)
    • 校验:rclone check src:桶名 dst:桶名
  • 运行建议
    • 大对象/长时间任务建议放入 screen/tmux 会话,避免中断
    • 迁移前校准两端时间:timedatectl set-timezone Asia/Shanghai;ntpdate ntp.aliyun.com

四 离线迁移步骤 直接拷贝后端数据目录

  • 准备新环境
    • 安装同版本 MinIO(或计划升级到的版本),创建数据目录(如 /data/minio),注意目录权限与 SELinux/防火墙策略
  • 停止旧实例
    • 确保无写入后停服:systemctl stop minio(或 kill/pkill 对应进程)
  • 拷贝数据
    • rsync -avz -e “ssh -p <端口>” 旧主机用户@旧主机IP:/data/minio/ /data/minio/
  • 跨版本恢复注意
    • 若跨大版本,建议清理目标端元数据目录再启动:rm -rf /data/minio/data/.minio.sys(同版本一般无需此步)
  • 启动新实例并验证
    • 启动后访问 http://新地址:9001 控制台,或使用 mc/rclone 校验对象数量与样本对象。

五 迁移前后校验与切换要点

  • 健康检查
    • 控制台/API 可达;就绪探针:curl -v http://localhost:9001/minio/health/ready(返回 200 为就绪)
  • 数据一致性
    • 对象数量/大小对比;抽样下载校验;使用 mc diff 或 rclone check 做全量/增量校验
  • 策略与配置
    • 桶策略、生命周期、通知、加密、对象锁定等需在新环境补齐(mc admin policy/event 等)
  • 切换与回滚
    • 建议通过 VIP/负载均衡DNS 切换 灰度切流;保留旧实例只读一段时间以便回滚
  • 常见注意事项
    • 时间同步(避免签名/校验失败);端口不冲突(如 9000/9001);权限策略需具备列举/读取/写入目标桶的权限;大文件自动分片传输无需额外配置。

0