一.概述

通过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

 

  

posted on 2023-08-16 10:58  属于我的梦,明明还在  阅读(1817)  评论(0)    收藏  举报