Ceph Luminous部分指令更新(OSD RBD POOL)

不定期更新

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 ]
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}]

你可能感兴趣的:(Ceph Luminous部分指令更新(OSD RBD POOL))