不定期更新
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池关联
rbd pool init {pool-name}
4. 指定pool application
ceph osd pool application enable {pool-name}{application-name}
5. 获取/添加元数据
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,也能够放进trash里面,但不能够真正地删除因为内部关联还是存在的
7.1 查看trash内容
rbd trash ls {pool-name}
7.2 将image放进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。当删除trash的image后,image才能真正地执行删除操作。
7.4 恢复trash的image
rbd trash restore {pool-name}/{image-id} [--image {new-name}]
8. snapshot limit 约束快照数量
rbd snap limit set {pool-name}/{image-name} --limit {int}
# clear limit
rbd snap limit clear {pool-name}/{image-name}
image是否有快照数量约束可以通过rbd info命令查到。当然,其数据均是存储在image header内的,也可以通过
rados listomapvals rbd_header.{image-id} -p {pool-name}
9. EC-pool rbd
EC-pool 已经支持完全覆盖写功能,使rbd和cephfs也能够使用ec-pool,但是目前仅限于数据存储,元数据还不能使用ec-pool
纠删码池创建,并打开允许覆盖写的特性(由于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 创建:元数据存储在副本吃中,数据存储在纠删码池
rbd create {replicated-pool}/{image-name} --size {num} --data-pool {ec-pool}
可以通过rbd info {pool-name}/{image-name} 的方式查看关联的data-pool
10. flatten copy import
flatten 已经可以省略不存在的object,在J版本中,即使image是空的,但是flatten时仍然会把所有objects创建起来,现在指挥创建已存在的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}]
网友评论