美文网首页中台建设
MinIO Server 及Minio Client数据同步

MinIO Server 及Minio Client数据同步

作者: michael_fang | 来源:发表于2021-02-22 17:46 被阅读0次

    背景

    项目需求中需要将一个k8s集群中的Minio服务的数据同步到另一个k8s集群的Minio服务中去,因为对数据实时性要求不高,仅仅起到灾备恢复的作用,所以使用Minio client实现数据间的同步使用。废话不多说,开始我们的Minio 服务数据同步旅程。

    物料准备

    两台虚拟机(可相互通信)
    192.168.28.128
    192.168.28.131
    

    minio server (两台虚拟机同样操作)

    二进制完成Minio服务的安装

    #下载minio服务端并安装至目录/usr/local/bin/
    wget http://dl.minio.org.cn/server/minio/release/linux-amd64/minio -P /usr/local/bin/
    #赋权
    chmod +x /usr/local/bin/minio
    #后台启动并指定Minio服务数据的存储判路径以及日志路径
    nohup /usr/local/bin/minio server  /data/minio > /data/minio/minio.log 2>&1 &
    备注:后面的/data/minio为存储目录。如果你想建立更多存储目录,使用命令:nohup /usr/local/bin/minio server  /data/minio  /data1/minio /data2/minio > /data/minio/minio.log 2>&1 &
    

    因为没有修改用户名和和密码,即Accesskey、Secretkey,故是默认的minioadmin/minioadmin.

    浏览器访问地址:

    http://192.168.28.131:9000/minio
    http://192.168.28.128:9000/minio
    Accesskey、Secretkey输入minioadmin、minioadmin
    
    image.png

    给配置开机启动:命令行输入下方命令后回车

    minio="server /data/minio"
    #将以下代码一起复制到SSH运行
    cat > /etc/systemd/system/minio.service <<EOF
    [Unit]
    Description=minio
    After=network.target
    
    [Service]
    Type=simple
    ExecStart=nohup  $(command -v minio) ${minio} > /data/minio/minio.log 2>&1 &
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    EOF
    

    继续执行命令:

    systemctl daemon-reload
    systemctl enable minio.service
    systemctl start minio.service
    

    minio client 安装:192.168.28.128

    安装minio客户端至/usr/local/bin/目录

    wget http://dl.minio.org.cn/client/mc/release/linux-amd64/mc -P /usr/local/bin/
    

    给mc赋权限

    chmod +x /usr/local/bin/mc
    

    测试mc是否可用

    mc --help
    

    添加Minio服务的访问权限:128上执行

    #方法1
    mc config host add minio_wuhan http://192.168.28.128:9000 minioadmin minioadmin
    mc config host add minio_shenzhen http://192.168.28.131:9000 minioadmin minioadmin
    #方法2
    mc alias set minio_wuhan http://192.168.28.128:9000 minioadmin minioadmin
    mc alias set minio_shenzhen http://192.168.28.131:9000 minioadmin minioadmin
    
    
    同步两个Minio服务的bucket:将131的Minio的所有桶数据同步至128
    mc mirror --remove --overwrite --watch  minio_shenzhen  minio_wuhan
    

    配置Minio client服务自启动实时监听文件改动并同步,命令行输入下方命令后回车

    #深圳Minio服务别名
    shenzhen_uat="minio_shenzhen"
    #武汉深圳Minio服务别名
    wuhan_uat="minio_wuhan"
    #将以下代码一起复制到SSH运行
    cat > /etc/systemd/system/minioc.service <<EOF
    [Unit]
    Description=minioc
    After=network.target
    
    [Service]
    Type=simple
    ExecStart=$(command -v mc) mirror --remove --overwrite --watch  ${shenzhen_uat}  ${wuhan_uat}
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    EOF
    

    继续执行命令:

    systemctl daemon-reload
    systemctl enable minioc.service
    systemctl start minioc.service
    

    可以在128上给131通过命令行添加桶

    mc mb minio_shenzhen/artifacts
    

    也可以访问页面进行添加

    image.png

    131上可以分别尝试更新文件、新增文件、删除文件,在128页面查看是否同步成功

    参看文档链接

    https://www.moewah.com/archives/2877.html
    https://www.moewah.com/archives/2886.html

    相关文章

      网友评论

        本文标题:MinIO Server 及Minio Client数据同步

        本文链接:https://www.haomeiwen.com/subject/ypjkfltx.html