一.概述
通过minio提供的客户端实现资源迁移,本文章的mc通过docker创建。
minio1的api地址是172.20.10.2:9000
minio2的api地址是172.20.10.2:9002
二.docker启动mc实例,并进入容器内部
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
浙公网安备 33010602011771号