-
切換到建立 Ceph 時的目錄:
#cd ~/ceph-deploy
-
編輯 Ceph 設定檔:
#vim ceph.conf
(在檔尾追加下列設定:)
[client]
rbd_cache = true
rbd_cache_writethrough_until_flush = true
-
重新配置 Ceph :
#ceph-deploy --overwrite-conf config push serverd servere
-
為 RBD 客戶端建立憑證:
#ceph auth get-or-create client.rbd.serverb osd 'allow rwx pool=rbd' mon 'allow r' -o /etc/ceph/ceph.client.rbd.serverb.keyring
(上述指令若輸入錯誤,請先刪除,再重新輸入:)
ceph auth del client.rbd.serverb
-
建立一個 RBD 影像檔:
#rbd create test --size 128
-
確認剛才建立的 RBD 影像檔:
#rbd info test
-
切換至 Serverb 主機,安裝 Ceph 指令工具:
#yum install -y ceph-common
-
在 Serverb 主機上,啟動 RBD Map 服務:
#chkconfig rbdmap on
#systemctl start rbdmap
-
在 Serverb 主機,導入 RBD 核心驅動工具:
#modprobe rbd
#lsmod | grep rbd
-
將 ServerC 上的 keyring 與 ceph.conf 檔,複製到 Serverb 主機:
#scp root@serverc:/etc/ceph/ceph.client.rbd.serverb.keyring /etc/ceph/
#scp root@serverc:/etc/ceph/ceph.conf /etc/ceph/
-
在 Serverb 主機上,繪製 RBD 影像檔:
#rbd --id rbd.serverb map test
-
在 Serverb 主機上,驗證 RBD 影像檔:
#rbd --id rbd.serverb showmapped
-
在 Serverb 主機上,將 RBD 影像檔,製成檔案系統:
#mkfs.ext4 /dev/rbd0
#mkdir /mnt/rbd
#mount /dev/rbd0 /mnt/rbd
(亦可寫入 /etc/fstab 檔案內:)
/dev/rbd0 /mnt/rbd ext4 defaults,_netdev 0 0
-
測試一下效能:
#dd if=/dev/zero of=/tmp/test1 bs=10M count=1
#df
#cp /tmp/test1 /mnt/rbd
#ls /mnt/rbd/
#rados --id rbd.serverb df
#dd if=/dev/zero of=/tmp/test2 bs=10M count=1
#cp /tmp/test2 /mnt/rbd
#df
#rados --id rbd.serverb df
-
在 Serverb 主機上,利用 rbd put 指令,上傳物件到 RADOS :
#dd if=/dev/zero of=/tmp/test3 bs=10M count=1
#rados --id rbd.serverb -p rbd put test3 /mnt/test3
#rados --id rbd.serverb df
#rados --id rbd.serverb -p rbd stat test3
(以下是不允許的狀況:)
#rados --id rbd.serverb -p data put test1 /tmp/test1