如何建立一個Ceph RADOS simple block device?

前言

如果你想透過Ceph RBD(block device service client)來建立一個simple block device來使用,你可以按照這篇文章的步驟來實作。

下列的例子會建立一個名稱為vpool01的pool,並且在這個pool上建立一個4GB的image(vdisk01)來使用。然後在Client端在使用RBD來map這個image,建立一個block device,直接這個4GB的空間。

步驟

1. 在Admin Node上,建立一個新的pool

 ~$ ceph osd pool create vpool01 256 256  


2. 在Admin Node上,建立一個大小為4GB的simple block device image

 ~$ rbd create vpool01/vdisk01 --size 4096  

確認一下,剛剛建立的device image是否有成功
 ~$ rbd list vpool01  
 ~$ rbd info vpool01/vdisk01  



3. 使用ceph-deploy安裝Client

 ~$ ceph-deploy new {client node}  

 ~$ ceph-deploy admin {client node}  

Client節點為使用block device的主機,透過ceph-deploy安裝RBD與相關的驅動程式與kernel module。這邊的Client是一台Ubuntu Linux主機。

4. 在Client Node上,確認simple block device image狀態

 ~$ rbd info vpool01/vdisk01  



成功安裝完成的Client節點,可以透過rbd指令來查詢Image的資訊,由圖中可以確認該大小為4GB。

5. 修改/etc/ceph/rbdmap設定檔

將預使用的image加入到rbdmap這個設定檔中。

 vpool01/vdisk01 id=admin,keyring=/etc/ceph/ceph.client.admin.keyring  

6. 將image map到一個block device透過rbd kernel module

 ~$ sudo rbd map vpool01/vdisk01  

7. 確認map的狀態

 ~$ sudo rbd showmapped  



完成map後,會產生一個虛擬的block device對印到剛剛所建立的image,接著就可以直接對這個block device進行操作。

8. 在Admin Node上檢查pool狀態

 ~$ ceph status  



參考

  1. http://docs.ceph.com/docs/master/man/8/rbd/

留言

這個網誌中的熱門文章

如何關閉nouveau-kernel-driver,解決無法安裝Nvidia driver問題

如何在Nginx所設置的Proxy中可以取得真實客戶的IP位址

如何客製VMware ESXi安裝光碟(加入Realtek驅動程式)