Ceph v12.2 Luminous 塊存儲(RBD)搭建

仍是上篇文章說的,搭建塊存儲以前,先把官方的文檔看一遍,保證獲益匪淺。
傳送門:Ceph官方文檔html

注意:
(1) rbd塊存儲最好不要安裝在osd節點,能夠安裝在mon節點、admin節點或其餘節點。若是安裝在其餘節點請按上一篇文章步驟安裝ceph。
(2) 在luminous版本,在建立集羣時,不會自動建立默認的’rbd’池。這是跟舊版本比較大的區別。操作系統

1. 建立pool

建立存儲池: ceph osd pool create {pool-name} {pg-num} [{pgp-num}] [replicated] [crush-ruleset-name] [expected-num-objects]
刪除存儲池: ceph osd pool delete {pool-name} [{pool-name} --yes-i-really-really-mean-it]
重命名存儲池: ceph osd pool rename {current-pool-name} {new-pool-name}code

ceph osd pool create test_pool 128 128 replicated

2. 查看存儲池列表

ceph osd lspools

3.建立塊設備鏡像

建立塊設備鏡像命令是rbd create --size {megabytes} {pool-name}/{image-name},若是pool_name不指定,則默認的pool是rbd。 下面的命令將建立一個10GB大小的塊設備:orm

rbd create --size 10240 test_image  -p test_pool

刪除鏡像: rbd rm test_pool/test_imageserver

4. 查看塊設備鏡像

查看塊設備的命令是rbd info {pool-name}/{image-name}htm

hcy@admin_server:~/my-cluster$ rbd info test_pool/test_image
rbd image 'test_image':
    size 1024 MB in 256 objects
    order 22 (4096 kB objects)
    block_name_prefix: rbd_data.372674b0dc51
    format: 2
    features: layering
    flags: 
    create_timestamp: Sat Sep 23 18:16:28 2017

注意到上面的rbd info顯示的RBD鏡像的format爲2,Format 2的RBD鏡像支持RBD分層,是實現Copy-On-Write的前提條件。blog

5.將塊設備映射到系統內核

塊設備映射到操做系統的命令是rbd map {image-name}文檔

sudo rbd map test_pool/test_image

取消映射: rbd unmap test_pool/test_image
此時若是打印:get

rbd: sysfs write failed
RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable".
In some cases useful info is found in syslog - try "dmesg | tail" or so.
rbd: map failed: (6) No such device or address

表示當前系統不支持feature,禁用當前系統內核不支持的feature:同步

rbd feature disable test_pool/test_image exclusive-lock, object-map, fast-diff, deep-flatten

從新映射:

hcy@admin_server:~/my-cluster$ sudo rbd map test_pool/test_image
/dev/rbd0

6. 格式化塊設備鏡像

sudo mkfs.ext4 /dev/rbd/test_pool/test_image

7. 掛載文件系統

sudo mkdir /mnt/ceph-block-device
sudo chmod 777  /mnt/ceph-block-device
sudo mount /dev/rbd/test_pool/test_image /mnt/ceph-block-device
cd /mnt/ceph-block-device

至此,Ceph的塊設備搭建已完成。可是目前我遇到了一個問題,兩臺Client機器掛載了同一個鏡像,兩臺機器的文件列表不能保持同步,可能要用到rbd mirror相關的知識,這方面還沒接觸,後續跟進更新。

參考:

Ceph塊存儲之RBD
ceph pool相關命令

相關文章
相關標籤/搜索