Linux下MinIO分布式安装部署
https://www.osyunwei.com/archives/13787.html
1、源集群和目的集群之间的网络要打通,集群之间要能互访,权限要正常
2、使用MinIO自带的mc命令进行数据迁移
3、在源集群或者目的集群中的任意1个节点上面执行mc命令操作
具体操作:
1、添加minio源集群和目的集群的别名
源集群别名:srcminio
目的集群别名:destminio
#进入安装目录
cd /data/server/minio/bin
#设置源集群别名
./mc alias set srcminio http://192.168.128.196:6901 admin admin123
#设置目的集群别名
./mc alias set destminio http://192.168.253.8:6901 admin admin123
#检测别名
./mc alias list
2、进行数据同步
cd /data/server/minio/bin
./mc mirror --watch srcminio/ destminio/
#在后台执行
nohup ./mc mirror --watch srcminio/ destminio/ > /data/server/minio/logs/mirror_all_buckets.log 2>&1 &
#查看日志
tail -f /data/server/minio/logs/mirror_all_buckets.log
参数说明:
mirror:
在不同的MinIO集群之间进行数据镜像操作,可以递归地复制整个目录结构、文件以及对象,并保持数据一致。
--watch:
会持续监控源集群中的任何更改,并将这些更改实时同步到目标集群。
srcminio/:
指定的源MinIO集群别名或路径,会从这个集群中同步数据,斜杠 / 表示根目录下的所有存储桶都将被同步。
destminio/:
指定的目标MinIO集群别名或路径,数据会被同步到这个集群中,如果没有对应的存储桶,mc mirror 会自动创建。
3、验证
cd /data/server/minio/bin
验证数据完整性:
对比源集群和目标集群中的对象数量和大小,以确保数据已正确同步。
./mc ls --details srcminio/bucketname
./mc ls --details destminio/bucketname
#比较 srcminio/ 和 destminio/ 之间的差异
./mc diff srcminio/ destminio/
#默认情况下,mc diff 不会递归比较子目录中的文件。可以使用 --recursive 参数进行递归比较:
./mc diff --recursive srcminio/ destminio/
#如果只关心文件内容的差异,而忽略最后修改时间的不同,可以使用 --size-only 参数
./mc diff --size-only srcminio/ destminio/
#使用 --debug 参数可以查看更详细的调试信息
mc diff --debug srcminio/ destminio/
#递归比较,忽略修改时间
./mc diff --recursive --size-only srcminio/ destminio/
输出说明
mc diff 的输出会标明以下几种情况:
Only in source:文件或对象仅存在于源存储中,目标存储中没有。
Only in target:文件或对象仅存在于目标存储中,源存储中没有。
Different size:文件或对象在源和目标中都存在,但大小不同。
Different time:文件或对象在源和目标中都存在,但最后修改时间不同。
Identical:文件或对象在源和目标中完全相同。
至此,不同网段的2个minio集群进行数据迁移完成。



