溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

jewel中rbd-mirror有什么用

發(fā)布時間:2021-12-18 16:40:47 來源:億速云 閱讀:123 作者:小新 欄目:云計算

這篇文章主要介紹jewel中rbd-mirror有什么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

rbd-mirror是jewel版本新加入的一個特性,目的是在不同的ceph集群中同步rbd設(shè)備上的數(shù)據(jù)。

rbd-mirror的內(nèi)部實現(xiàn)如下圖所示:

jewel中rbd-mirror有什么用

在兩個相互獨立的ceph集群中分別多了一個守護進程rbd-mirror,該守護進程負責同步rbd設(shè)備上的數(shù)據(jù)。rbd-mirror的主要處理流程如下圖所示:

jewel中rbd-mirror有什么用

用戶操作塊設(shè)備向塊設(shè)備中寫入數(shù)據(jù)時,librbd首先將寫操作寫入日志,當日志寫入完畢后應答用戶寫操作完畢。之后日志向本地塊設(shè)備寫入數(shù)據(jù),于此同時日志通過rbd-mirror守護進程將日志發(fā)送到對端ceph集群。對端ceph集群將日志內(nèi)容寫入到塊設(shè)備中,由此完成塊設(shè)備的同步功能。由此看到rbd-mirror的核心在于rbd-mirror守護進程和塊設(shè)備寫入的日志。

rbd-mirror動手實踐部分如下:

1、集群環(huán)境。

    rbd-mirror的測試環(huán)境采用手動編譯ceph源代碼的方式安裝并配置ceph集群,具體操作過程請參考http://my.oschina.net/linuxhunter/blog/682013。集群名稱分別是ceph和ceph3。測試rbd-mirror使用的用戶是各自集群中的admin用戶(當然可以自行創(chuàng)建一個專門為rbd-mirror的特定用戶)。

2、rbd-mirror設(shè)置。

    1)復制ceph配置文件和admin用戶的keyring到對端ceph集群。

        將ceph集群中的ceph.conf和ceph.client.admin.keyring復制到ceph3集群中的/etc/ceph目錄下,于此同時將ceph3集群中的ceph3.conf和ceph3.client.admin.keyring復制到ceph集群中。這樣ceph集群可以查看ceph3集群的狀態(tài),ceph3集群也可以查看ceph集群的狀態(tài)。

    2)在兩個ceph集群中創(chuàng)建相同名稱的pool。

        #rbd --cluster ceph osd pool create image-pool 64 64

        #rbd --cluster ceph3 osd pool create image-pool 64 64

    3)使能mirror功能。

        #rbd --cluster ceph mirror pool enable image-pool pool

        #rbd --cluster ceph3 mirror pool enable image-pool pool

    4)添加cluster peer。

        #rbd --cluster ceph mirror pool peer add image-pool client.admin@ceph3

        #rbd --cluster ceph3 mirror pool peer add image-pool client.admin@ceph

    5)啟動rbd-mirror守護進程。

        #rbd-mirror -f --cluster ceph --setuser ceph --setgroup ceph

        #rbd-mirror -f --cluster ceph3 --setuser ceph --setgroup ceph

    6)查看rbd-mirror狀態(tài)。

        #rbd --cluster ceph mirror pool info

Mode: image

Peers: 

  UUID                                 NAME  CLIENT       

  30018a0a-52b6-499e-b8f2-174d61eeeafe ceph3 client.admin 

        #rbd --cluster ceph mirror pool status 

health: OK

images: 0 total

        到此rbd-mirror環(huán)境已經(jīng)成功搭建完畢。

3、rbd-mirror測試。

    1)在ceph集群中image-pool中創(chuàng)建一個塊設(shè)備。

        #rbd --cluster ceph create image-pool/test1 --size 10240 --image-feature exclusive-lock, journaling

    2)向ceph集群中image-pool中的塊設(shè)備寫入數(shù)據(jù)。

        #mkdir -p /tmp/rbd

        #rbd-fuse -p image-pool /tmp/rbd

        #mkfs.ext4 /tmp/rbd/test1

        #mount -o loop /tmp/rbd/test1 /mnt/

        #echo "hello, world" > /mnt/test.txt

        #umount /mnt

        #fusermount -u /tmp/rbd

    3)在ceph3集群中查看image-pool中的塊設(shè)備信息。

        #rbd --cluster ceph3 -p image-pool ls

test1

        此時在ceph3集群中就可以看到剛剛在ceph集群中創(chuàng)建出來的test1塊設(shè)備;

    4)在ceph3集群中掛載塊設(shè)備且查看塊設(shè)備中的內(nèi)容。

        #mkdir -p /tmp/rbd

        #rbd-fuse -p image-pool /tmp/rbd

        #mount -o loop /tmp/rbd/test1 /mnt

        #ls /mnt/

test1.txt

        #cat /mnt/test1.txt

hello,world

        #umount /mnt

        #fusermount -u /tmp/rbd

4、補充說明。

    1)當前版本的rbd-mirror功能只支持集群之間一對一的mirror,并不支持一對多的mirror;

    2)做rbd-mirror的兩個集群的pool名稱必須一致;

以上是“jewel中rbd-mirror有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI