GlusterFS异地备份--GeoReplication(六)

glusterfs异地备份--GeoReplication

    注意:本篇命令比较生僻,务必熟悉在官方文档中查阅相关命令

上草图~

实验环境:    image.png

    1)node1、node2组成的卷v1是本地存储

    2)node5上的卷v_geo是异地存储(不建立peer关系即可)

    3)卷v1是master,卷v_geo是slave

    注意:异地卷v_geo空间大小至少要等于本地卷v1大小

        1)本地卷v1分布式两节点,有效空间6G

        2)异地卷v_geo空间10G

实验需求

    把本地卷v1的内容备份到异地卷v_geo中

1、在node5上,创建卷v_geo切记:node5不要和其他节点创建peer关系

    分区已存在:/dev/vda3

    卷组vg已存在:vg_bricks

    卷组vg重命名

    # vgrename vg_bricks vg0

    创建池pool

    # lvcreate -L 20G -T vg0/thin_pool

    创建精简lv

    # lvcreate -V 10G -n lv1 -T vg0/thin_pool

    格式化精简lv

    # mkfs.xfs /dev/vg0/lv1

    创建挂载点

    # mkdir /xx

    # vim /etc/fstab

        /dev/vg0/lv1  /xx  xfs  defaults  0 0 

    # mount -a

    挂载点中创建目录

    # mkdir /xx/data

    安装/启动glusterfs

    # yum -y install glusterfs

    # systemctl start glusterd

    # systemctl enable glusterd

    创建卷v_geo

    # gluster volume create v_geo node5:/xx/data

    # gluster volume start v_geo

    # gluster volume info v_geo

        Volume Name: v_geo

        Type: Distribute

        Status: Started

        Number of Bricks: 1

        Brick1: node5:/xx/data

        performance.readdir-ahead: on

2、在node5上,创建管理备份的用户、组

    # groupadd group1

    # useradd -g group1 bob

    # echo redhat |passwd --stdin bob

3、在node5上,创建备份目录

    # mkdir /var/root

    # chmod 711 /var/root

4、在node5上,修改配置文件

    # vim /etc/glusterfs/glusterd.vol

        #   option base-port 49152

        增加以下几行:

             option mountbroker-root /var/root      #指定备份目录

             option mountbroker-geo-replication.bob v_geo  #指定管理备份的用户、卷

             option geo-replication-log-group group1    #指定管理备份用户的组

             option rpc-auth-allow-insecure on

        end-volume

    # systemctl restart glusterd

3、在node1上,配置免密登录node5

    创建密钥对

    # ssh-keygen -N ""

    拷贝公钥id_rsa.pub给node5

    # ssh-copy-id bob@node5   #bob密码:redhat

    测试免密登录

    # ssh bob@node5

    # ssh [email protected]

4、在node1上,生成glusterfs类型的证书/密钥

    # gluster system:: execute gsec_create

        Common secret pub file present at /var/lib/glusterd/geo-replication/common_secret.pem.pub

5、在node1上,建立卷v1和卷v_geo的复制关系

    # gluster volume geo-replication v1 bob@node5::v_geo create push-pem

        #复制卷v1,使用bob用户登录node5,复制为v_geo

        Creating geo-replication session between v1 & bob@node5::v_geo has been successful

6、在node5上,设置主辅关系(只能在slave上设置)

    # /usr/libexec/glusterfs/set_geo_rep_pem_keys.sh bob v1 v_geo

        Successfully copied file.

        Command executed successfully.

7、在client中创建文件

    # mount node1:/v1

    # touch /mnt/aa{1..10}

    node1中查看:

    # ls /xx/data

        aa1  aa3  aa4  aa8

    node2中查看

    # ls /yy/data

        aa10  aa2  aa5  aa6  aa7  aa9

8、在node1上开启复制

    # gluster volume geo-replication v1 bob@node5::v_geo start

        Starting geo-replication session between v1 & bob@node5::v_geo has been successful

    查看复制状态

    # gluster volume geo-replication v1 bob@node5::v_geo status

        MASTER NODE              MASTER VOL    MASTER BRICK  SLAVE USER    SLAVE               SLAVE NODE    STATUS    CRAWL STATUS    

        ----------------------------------------------------------------------------------------------------------------------------------------------

        node1.domain1.rhce.cc    v1                  /xx/data            bob             bob@node5::v_geo    node5         Active      Changelog Crawl    

        node2.domain1.rhce.cc    v1                  /yy/data            bob             bob@node5::v_geo    node5         Active      Changelog Crawl    

    复制状态为:Active  表示复制成功

    在node5上查看

    # ls /xx/data

       aa1  aa10  aa2  aa3  aa4  aa5  aa6  aa7  aa8  aa9

    停止复制

    # gluster volume geo-replication v1 bob@node5::v_geo stop 

    删除复制

    # gluster volume geo-replication v1 bob@node5::v_geo delete


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章