Minio文件镜像同步配置

mirror和replicate的区别 双向同步

背景

项目中由于会使用到minio对象存储,在需要满足项目多点灾备的情况下,记录下使用mirror和replicate来实现minio同步和镜像的相关功能,作为后续配置参考。

mirror和replicate的区别

mc mirror 用于在两个minio server中的桶之间进行数据同步。mc mirror 命令类似于 Unix rsync 命令,会对源和目标地址进行比较,并只将新增或修改的内容从源复制到目标,可以实现将源目录快速同步到目标目录。

mc replicate 用于配置 Minio 服务器上的桶(replication rules)用于在区域间自动复制对象。这通常用于地理冗余和跨区域数据复制。最大的优势是在源桶和目标桶之间实现自动、异步的对象复制。

1
mc replicate add <source-bucket> --priority <arg> --remote-bucket <arg> --storage-class <value> --tags <value> --prefix <string> --arn <string>

replicate配置

两者的主要区别在于mc replicate 适用于设置自动跨区域复制规则,而 mc mirror 则更适合于手动的、一次性的数据迁移或备份。

配置别名(源节点和备节点)

alias主要的作用是方便好记,方便后续配置。

1
2
3
mc alias set minio-server http://10.8.40.1:9000 minio password --api s3v4 
mc alias set minio-backup http://10.8.40.2:9000 minio password --api s3v4 
mc alias ls

 

创建bucket(源节点)

1
2
3
4
mc mb -p minio-server/ucap 
mc mb -p minio-backup/ucap 
mc version enable minio-server/ucap 
mc version enable minio-backup/ucap

配置双向同步的主主复制(源节点)

1
2
3
4
5
#主节点上配置 
mc replicate add --remote-bucket http://minio:password@10.8.40.2:9000/ucap --replicate "delete,delete-marker,existing-objects" --sync minio-server/ucap --limit-upload 200Mi  

#备份节点配置-如果是灾备,只有执行1条即可。 
mc replicate add --remote-bucket http://minio:password@10.8.40.1:9000/ucap --replicate "delete,delete-marker,existing-objects" --sync minio-backup/ucap --limit-upload 200Mi

测试效果

用以下方法测试在多点写入,是否都可以访问。

1
2
3
4
5
6
mc cp /etc/hosts minio-server/ucap 
mc cp /etc/alias minio-backup/ucap 
curl http://10.8.40.1:9000/ucap/hosts 
curl http://10.8.40.2:9000/ucap/hosts 
curl http://10.8.40.1:9000/ucap/alias 
curl http://10.8.40.2:9000/ucap/alias

 

replicate相关状态查看

命令 描述
mc replicate add 添加服务器端复制配置规则
mc replicate edit 修改现有的服务器端复制配置规则
mc replicate ls 列出服务器端复制配置规则
mc replicate status 显示服务器端复制状态
mc replicate resync 重新复制所有以前复制的对象
mc replicate export 导出服务器端复制配置
mc replicate import 以 JSON 格式导入服务器端复制配置
mc replicate rm 删除服务器端复制配置规则

mirror后续再补…..

mirror后续再补…..

留下评论