這篇文章主要介紹jewel中rbd-mirror有什么用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)公司是一家專業(yè)提供噶爾企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站建設(shè)、網(wǎng)站制作、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為噶爾眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。
rbd-mirror是jewel版本新加入的一個(gè)特性,目的是在不同的ceph集群中同步rbd設(shè)備上的數(shù)據(jù)。
rbd-mirror的內(nèi)部實(shí)現(xiàn)如下圖所示:
在兩個(gè)相互獨(dú)立的ceph集群中分別多了一個(gè)守護(hù)進(jìn)程rbd-mirror,該守護(hù)進(jìn)程負(fù)責(zé)同步rbd設(shè)備上的數(shù)據(jù)。rbd-mirror的主要處理流程如下圖所示:
用戶操作塊設(shè)備向塊設(shè)備中寫入數(shù)據(jù)時(shí),librbd首先將寫操作寫入日志,當(dāng)日志寫入完畢后應(yīng)答用戶寫操作完畢。之后日志向本地塊設(shè)備寫入數(shù)據(jù),于此同時(shí)日志通過rbd-mirror守護(hù)進(jìn)程將日志發(fā)送到對(duì)端ceph集群。對(duì)端ceph集群將日志內(nèi)容寫入到塊設(shè)備中,由此完成塊設(shè)備的同步功能。由此看到rbd-mirror的核心在于rbd-mirror守護(hù)進(jìn)程和塊設(shè)備寫入的日志。
rbd-mirror動(dòng)手實(shí)踐部分如下:
1、集群環(huán)境。
rbd-mirror的測(cè)試環(huán)境采用手動(dòng)編譯ceph源代碼的方式安裝并配置ceph集群,具體操作過程請(qǐng)參考http://my.oschina.net/linuxhunter/blog/682013。集群名稱分別是ceph和ceph3。測(cè)試rbd-mirror使用的用戶是各自集群中的admin用戶(當(dāng)然可以自行創(chuàng)建一個(gè)專門為rbd-mirror的特定用戶)。
2、rbd-mirror設(shè)置。
1)復(fù)制ceph配置文件和admin用戶的keyring到對(duì)端ceph集群。
將ceph集群中的ceph.conf和ceph.client.admin.keyring復(fù)制到ceph3集群中的/etc/ceph目錄下,于此同時(shí)將ceph3集群中的ceph3.conf和ceph3.client.admin.keyring復(fù)制到ceph集群中。這樣ceph集群可以查看ceph3集群的狀態(tài),ceph3集群也可以查看ceph集群的狀態(tài)。
2)在兩個(gè)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)啟動(dòng)rbd-mirror守護(hù)進(jìn)程。
#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測(cè)試。
1)在ceph集群中image-pool中創(chuàng)建一個(gè)塊設(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
此時(shí)在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、補(bǔ)充說明。
1)當(dāng)前版本的rbd-mirror功能只支持集群之間一對(duì)一的mirror,并不支持一對(duì)多的mirror;
2)做rbd-mirror的兩個(gè)集群的pool名稱必須一致;
以上是“jewel中rbd-mirror有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
新聞名稱:jewel中rbd-mirror有什么用
地址分享:http://jinyejixie.com/article16/gggjdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、域名注冊(cè)、面包屑導(dǎo)航、網(wǎng)頁(yè)設(shè)計(jì)公司、企業(yè)建站、網(wǎng)站營(yíng)銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)