一.概述
通过minio提供的客户端实现资源迁移,本文章的mc通过docker创建。
minio1的api地址是172.20.10.2:9000
minio2的api地址是172.20.10.2:9002
二.docker启动mc实例,并进入容器内部
1 | docker run -it --entrypoint=/bin/sh minio/mc |
三.通过mc命令连接两个minio服务
sh-4.4# mc alias set minio1 http://192.21.11.78:30007 DRk6W4Mf dfdsfdsfsZaQtBkfqi1D mc: Configuration written to `/root/.mc/config.json`. Please update your access credentials. mc: Successfully created `/root/.mc/share`. mc: Initialized share uploads `/root/.mc/share/uploads.json` file. mc: Initialized share downloads `/root/.mc/share/downloads.json` file. Added `minio1` successfully. sh-4.4# mc alias set minio2 http://192.21.11.56:9000 c5P53PBb NKVxcsdsdvICUa8adIsgzT Added `minio2` successfully.
四.迁移数据
#全量迁移,重名文件不覆盖,bucket不存在会自动创建 mc mirror minio1 minio2 #只是迁移某个bucket,以test为例,目标的bucket需要提前建好 mc mirror minio1/test minio2/test #覆盖重名文件,加--overwrite mc mirror --overwrite minio1/test minio2/test
五.数据比对
sh-4.4# mc ls minio1 [2023-08-16 02:41:45 UTC] 0B dept/ [0001-01-01 00:00:00 UTC] 0B oprm/ [0001-01-01 00:00:00 UTC] 0B we/ [0001-01-01 00:00:00 UTC] 0B wa/ [0001-01-01 00:00:00 UTC] 0B wp/ [0001-01-01 00:00:00 UTC] 0B wg/ [0001-01-01 00:00:00 UTC] 0B ws/ sh-4.4# mc du minio1 794MiB 1002 objects sh-4.4# mc ls minio2 [2023-08-16 02:41:45 UTC] 0B dept/ [0001-01-01 00:00:00 UTC] 0B oprm/ [0001-01-01 00:00:00 UTC] 0B we/ [0001-01-01 00:00:00 UTC] 0B wa/ [0001-01-01 00:00:00 UTC] 0B wp/ [0001-01-01 00:00:00 UTC] 0B wg/ [0001-01-01 00:00:00 UTC] 0B ws/ sh-4.4# mc du minio2 794MiB 1002 objects
检查:
#使用命令检查是否有未完整传输的文件,如果有未传输完全的文件,会在回显中列出:
mc ls --incomplete minio1
#如果有必要,可以删除某个桶中的残缺文件:
mc rm --incomplete $hostName/$bucket
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架