1、先搭建一个两节点的 minio 集群

集群1主机 ip :

worker-2  192.168.32.63   

worker-3  192.168.32.64

docker run -d --name minio --restart=always --network=host \
      -e "MINIO_ROOT_USER=admin" \
      -e "MINIO_ROOT_PASSWORD=WYRtaW4xMjM3ODk=" \
      -v /root/minio-2/data1:/data1 \
      -v /root/minio-2/data2:/data2 minio/minio:RELEASE.2024-06-13T22-53-53Z server \
      --address 192.168.32.63:9000 --console-address '0.0.0.0:9999' \
         http://worker-{2...3}/data{1...2}



docker run -d --name minio --restart=always --network=host \
      -e "MINIO_ROOT_USER=admin" \
      -e "MINIO_ROOT_PASSWORD=WYRtaW4xMjM3ODk=" \
      -v /root/minio-2/data1:/data1 \
      -v /root/minio-2/data2:/data2 minio/minio:RELEASE.2024-06-13T22-53-53Z server \
      --address 192.168.32.64:9000 --console-address '0.0.0.0:9999' \
         http://worker-{2...3}/data{1...2}

登录 web 界面

http://192.168.32.63:9999/
admin     WYRtaW4xMjM3ODk=

创建 bucket→test、policies→test(读写)、user→test→AK  SK

并上传两个文件

2、数据备份

先在两个节点查看上传的数据是否存在

数据进行备份

worker-2:
rsync -avz --delete /root/minio-2/data1/test/ /root/minio-back
rsync -avz --delete /root/minio-2/data2/test/ /root/minio-back2

worker-3:
rsync -avz --delete /root/minio-2/data1/test/ /root/minio-back
rsync -avz --delete /root/minio-2/data2/test/ /root/minio-back2

3、搭建新的两节点 minio 集群

集群2主机 ip :

worker-4  192.168.32.65 

worker-5  192.168.32.66

docker run -d --name minio --restart=always --network=host \
      -e "MINIO_ROOT_USER=admin" \
      -e "MINIO_ROOT_PASSWORD=WYRtaW4xMjM3ODk=" \
      -v /root/minio-2/data1:/data1 \
      -v /root/minio-2/data2:/data2 minio/minio:RELEASE.2024-06-13T22-53-53Z server \
      --address 192.168.32.65:9000 --console-address '0.0.0.0:9999' \
         http://worker-{4...5}/data{1...2}



docker run -d --name minio --restart=always --network=host \
      -e "MINIO_ROOT_USER=admin" \
      -e "MINIO_ROOT_PASSWORD=WYRtaW4xMjM3ODk=" \
      -v /root/minio-2/data1:/data1 \
      -v /root/minio-2/data2:/data2 minio/minio:RELEASE.2024-06-13T22-53-53Z server \
      --address 192.168.32.66:9000 --console-address '0.0.0.0:9999' \
         http://worker-{4...5}/data{1...2}

登录 web 界面

http://192.168.32.65:9999/
admin     WYRtaW4xMjM3ODk=

创建 bucket→test、policies→test(读写)、user→test→AK  SK

不要上传文件

4、数据恢复

先把 worker-2 和 worker-3 的备份数据打包分别传到 worker-4 和 worker-5 上(步骤省略)

把集群1的数据恢复到集群2

worker-4:
rsync -avz --delete  minio-back/ minio-2/data1/test/
rsync -avz --delete  minio-back2/ minio-2/data2/test/

worker-5:
rsync -avz --delete  minio-back/ minio-2/data1/test/
rsync -avz --delete  minio-back2/ minio-2/data2/test/

刷新集群2的页面,如果不显示数据就重启 minio

可以看到,这时候已经把集群1的数据恢复到了集群2中

至此,minio 集群的数据备份和恢复已完成!

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐