不定期更新
1. 替換OSD
# destory osd first
ceph osd destroy {id} --yes-i-really-really-mean-it
# zap disk for new osd
ceph-volume lvm zap {disk-path} --destroy
# replace new osd with same osd id
ceph-volume lvm create --osd-id {id} --data {disk-path}
2. 刪除OSD
# purge OSD
ceph osd purge {osd-id} --yes-i-really-really-mean-it
# then remove ceph.conf about osd x
3. 存儲池
rbd池關(guān)聯(lián)
rbd pool init {pool-name}
4. 指定pool application
ceph osd pool application enable {pool-name}{application-name}
5. 獲取/添加元數(shù)據(jù)
ceph osd pool application set {pool-name} {pool-type} {key} {value}
ceph osd pool application get {pool-name} {pool-type} [{pool-type} {key}]
6. 刪除存儲池
ceph osd pool delete {pool-name} {pool-name} --yes-i-really-really-mean-it
7. trash-垃圾桶功能
如果rbd有snapshot或者clone image搅窿,也能夠放進(jìn)trash里面屁商,但不能夠真正地刪除因為內(nèi)部關(guān)聯(lián)還是存在的
7.1 查看trash內(nèi)容
rbd trash ls {pool-name}
7.2 將image放進(jìn)trash
rbd trash mv {pool-name}/{image-name} [--delay <seconds>]
7.3 刪除trash的image
rbd trash rm {pool-name}/{image-id} [--force]
如果前面的mv trash的操作指定了delay時間语御,且為滿足delay時間失效,則需要加上--force才能強制刪除trash的image。當(dāng)刪除trash的image后洪橘,image才能真正地執(zhí)行刪除操作颠区。
7.4 恢復(fù)trash的image
rbd trash restore {pool-name}/{image-id} [--image {new-name}]
8. snapshot limit 約束快照數(shù)量
rbd snap limit set {pool-name}/{image-name} --limit {int}
# clear limit
rbd snap limit clear {pool-name}/{image-name}
image是否有快照數(shù)量約束可以通過rbd info命令查到。當(dāng)然,其數(shù)據(jù)均是存儲在image header內(nèi)的儡首,也可以通過
rados listomapvals rbd_header.{image-id} -p {pool-name}
9. EC-pool rbd
EC-pool 已經(jīng)支持完全覆蓋寫功能片任,使rbd和cephfs也能夠使用ec-pool,但是目前僅限于數(shù)據(jù)存儲蔬胯,元數(shù)據(jù)還不能使用ec-pool
糾刪碼池創(chuàng)建对供,并打開允許覆蓋寫的特性(由于checksuming原因,該特性僅限于Bluestore使用)
# create
ceph osd pool create {pool-name} {pg-num} {pgp-num} {erasure [{profile}]}/{rule}
# allow-overwrite
ceph osd pool set {ec-pool} allow _ec_overwrite true
rbd image 創(chuàng)建:元數(shù)據(jù)存儲在副本吃中氛濒,數(shù)據(jù)存儲在糾刪碼池
rbd create {replicated-pool}/{image-name} --size {num} --data-pool {ec-pool}
可以通過rbd info {pool-name}/{image-name} 的方式查看關(guān)聯(lián)的data-pool
10. flatten copy import
flatten 已經(jīng)可以省略不存在的object产场,在J版本中,即使image是空的舞竿,但是flatten時仍然會把所有objects創(chuàng)建起來京景,現(xiàn)在指揮創(chuàng)建已存在的objects.
copy和import命令支持稀疏檢測,在使用時添加
rbd cp {pool-name}/{image-name} {dest-pool}/{dest-image} [--sparse-size {numB/K/M}]
rbd import {file-path} {dest-pool}/{dest-image} [--sparse-size {numB/K/M}]