minio实现实时同步


下载mc

$ wget http://dl.minio.org.cn/client/mc/release/linux-amd64/mc
# 复制到指定位置
$ cp mc /usr/local/bin/

$ chmod +x /usr/local/bin/mc

添加别名

# mc alias set <别名> http://<ip>:<端口> <用户名> <密码>

# 创建主服务器别名
$ mc alias set minio_master http://192.168.122.110:9000 admin admin123

# 创建从服务器别名
$ mc alias set minio_slave http://192.168.122.111:9000 admin admin123

# 查看别名创建情况
$ mc alias list

基于minio的存储管理的站点复制

# 下边的命令必须在主站执行,执行之前先确保两个minio都是初始状态
# 此命令启动站点复制,整个minio所有信息都进行同步并启用minio的版本控制
# 选填:--replicate-ilm-expiry 这个参数会将过期规则一同复制
$ mc admin replicate add minio_master minio_slave --replicate-ilm-expiry

# 为了释放空间增加以下版本控制规则 123为桶名称
# 为了释放历史存储空间,定期清理历史版本文件,历史版本只保留7天,7天后删除
$ mc ilm rule add minio_master/123 --noncurrent-expire-days 7

# 清除带有删除标记的元数据,一般为每日删除
$ mc ilm rule add minio_master/123 --expire-delete-marker

# 查看桶的版本控制规则
$ mc ilm rule ls minio_master/123

# 删除站点复制,这将删除所有与minio_master有关的站点复制
$ mc admin replicate rm minio_master --all --force

# 如果启用同步后发现数据存在差异,可以手动同步数据
$ mc mirror minio_master/123 minio_slave/123

创建同步服务(基于服务的,尽量只使用单向复制,双向复制会出现循环复制,占用带宽)

$ vim /usr/lib/systemd/system/minioc.service

[Unit]
Description=startup minioc mirror master to slave
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/mc mirror --remove --overwrite --watch  minio_master  minio_slave

Restart=on-failure

[Install]
WantedBy=multi-user.target

# 启动服务
$ systemctl start minioc.service

# 服务开机自启
$ systemctl enable minioc.service

从服务到主服务在从服务的机器上做同样的操作,注意更换ip和端口


文章作者: 花舞流觞
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 花舞流觞 !
  目录