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


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