背景
项目中由于会使用到minio对象存储,在需要满足项目多点灾备的情况下,记录下使用mirror和replicate来实现minio同步和镜像的相关功能,作为后续配置参考。
mirror和replicate的区别
mc mirror 用于在两个minio server中的桶之间进行数据同步。mc mirror 命令类似于 Unix rsync 命令,会对源和目标地址进行比较,并只将新增或修改的内容从源复制到目标,可以实现将源目录快速同步到目标目录。
mc replicate 用于配置 Minio 服务器上的桶(replication rules)用于在区域间自动复制对象。这通常用于地理冗余和跨区域数据复制。最大的优势是在源桶和目标桶之间实现自动、异步的对象复制。
1
|
mc replicate add
|
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后续再补…..