概述
本文主要介绍关于ceph rbd卷特性相关知识,包括开/关特性,以及各个特性适用场景
配置rbd feature
开启rbd卷特性
rbd feature enable rbdpool-name/image-name 特性名
例如开启 pool rbd1 中test-image的fast-diff特性
rbd feature enable rbd1/test-imagefast-diff
关闭rbd卷特性
rbd feature disable rbdpool-name/image-name 特性名
查询卷信息
rbd info rbdpool-name/image-name
feature介绍
layering
快照写时复制和克隆支持
striping
条带化支持
exclusive-lock
占用锁,在多个client时保证数据一致性,多客户端访问支持
object-map
对象映射,相当于记录image中对象位图,此特性依赖于exclusive-lock
这里需要额外强调的是,某些场景下,该特性会加快io。例如删除image时,由于位图的存在,不需要对所有块检验,空的位置可以直接回收,大大加快删除效率。
由于生成类似位图,需要额外空间占用。如果不是创建image默认开启,后续开启时,需要针对现有object先构建一次才能开启。
rbd object-map rebuild rbdpool-name/image-name
fast-diff
差异对比的io加速,依赖于object-map特性,当计算镜像,快照数据差异,容量统计时,若开启该特性,返回会非常快,否则会告警。
deep-flatten
快照扁平化操作支持
journaling
修改数据是写日志记录,依赖exclusive-lock特性
data-pool
高版本特性,纠删码支持
ceph.conf配置默认开启特性
feature | bit码 |
---|---|
layering | 1 |
striping | 2 |
exclusive-lock | 4 |
object-map | 8 |
fast-diff | 16 |
deep-flatten | 32 |
journaling | 64 |
data-pool | 128 |
当我们想配置默认开启某些特性时,根据bit码,算出特性和,写入ceph.conf配置文件即可。
例如,想开启layering,exclusive-lock,object-map,fast-diff,计算得1+4+8+16=29
ceph.conf:
[globa]
rbd_default_features =29