ceph-RBD塊操作

Bamshk發表於2020-11-03

1.建立pool
建立pool時,ceph會使用預設值,但是建議設定池的副本大小、佈局組的預設數量。設定的方式,①執行pool命令時指定②修改ceph.conf 中配置

osd pool default pg num = 256
osd pool default pgp num = 256
ceph osd pool create {pool-name} {pg-num}{pgp-num}

2.檢視pool列表

ceph osd lspools

3.建立image

rbd create --size {位元組大小 如10G} {pool-name}/{image-name}

4.查詢image資訊

rbd ls {pool-name} #列而pool中的image
rbd info {pool-name}/ {image-name} #列出image的詳細資訊

5.調整image的大小

rbd resize --size 30G {pool-name}/{image-name}  #(to increase)
rbd resize --size 20G {pool-name}/{image-name}  --allow-shrink  #(to decrease)

6.刪除裝置影響

rbd rm {pool-name}/{image-name} #從pool中刪除image

7.塊裝置移動到垃圾桶

rbd trash mv {pool-name}/{image-name}

8.從垃圾桶中刪除塊裝置

rbd trash rm {pool-name}/{image-id}  #一個有快照或者正在被克隆使用的塊裝置可以移動到垃圾桶,但不允許在垃圾桶中刪除

9.從垃圾桶中恢復塊裝置

rbd trash restore {image-id} # 可以通過 rbd trash ls {pool-name} 查詢已經刪除的images的id

10.對映塊裝置到核心

rbd device map {pool-name}/{image-name} --id admin

注意:如果報錯如下,可以通過 dmesg 檢視錯誤提示資訊

RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable ceph-demo/rbd-demo.img object-map fast-diff deep-flatten".
In some cases useful info is found in syslog - try "dmesg | tail".
rbd: map failed: (6) No such device or address

解決方法:

rbd feature disable ceph-demo/rbd-demo.img object-map fast-diff deep-flatten

11.取消塊裝置對映

rbd device unmap /dev/rbd/{pool-name}/{image-name}

相關文章