云计算百科
云计算领域专业知识百科平台

minio数据迁移(两台服务器没法相互通信)

场景描述: A服务器 无法访问 B服务器,B服务器 也无法访问 A(即双方都不能通过公网或内网直连对方)

MinIO 官方提供了 mc(MinIO Client)命令行工具,可以直接实现 Bucket 之间的数据迁移:

安装 mc

在A, B两台机器上安装 mc:

wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
mv mc /usr/local/bin/

✅ 方案:A 上导出,B 上导入(借助 mc 本地操作 + 中间传输文件)

步骤 1:在 A 服务器导出 Bucket 到本地目录

mc alias set minioserverA http://localhost:9000 <accessKey> <secretKey>
mc mirror minioserverA /saas-demo /tmp/saas-demo/

这会将所有对象从 MinIO A 的 saas-demo Bucket 复制到 A 服务器本地 /tmp/saas-demo/ 目录中。


步骤 2:压缩导出的目录并拷贝到 B 服务器

cd /tmp
tar -czvf saas-demo.tar.gz saas-demo/
scp saas-demo.tar.gz user@B服务器IP:/tmp/

(如果不能用 scp,可用 U 盘、中转网盘或任何方式)


步骤 3:在 B 服务器解压并导入到 MinIO B

tar -xzvf /tmp/saas-demo.tar.gz -C /tmp/

# 然后用 mc 把本地数据上传到 MinIO B
mc alias set minioserverB http://localhost:9000 <accessKey> <secretKey>
mc mirror /tmp/saas-demo/ minioserverB/saas-demo

⚠️ 注意事项

  • 如果 Bucket 数据特别大,建议分批迁移。

  • 如果 Bucket 开启了 versioning,mc mirror 默认只迁移当前版本,历史版本不会同步(需要特别处理)。

赞(0)
未经允许不得转载:网硕互联帮助中心 » minio数据迁移(两台服务器没法相互通信)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!