Ceph 块设备 rbd 相关学习
块设备相关文档
http://docs.ceph.org.cn/rbd/rbd/
rbd 命令
创建 rbd
$ rbd create --size 10240 kcha/mysqldata
查看 rbd
$ rbd list kcha
mysqldata
调整块设备映像大小:
$ rbd resize --size 10240 kcha/mysqldata
Resizing image: 100% complete...done.
查看信息:
$ rbd info kcha/mysqldata
rbd image 'mysqldata':
size 10240 MB in 2560 objects
order 22 (4096 kB objects)
block_name_prefix: rbd_data.b21066b8b4567
format: 2
features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
flags:
移除 features
$ rbd feature disable kcha/mysqldata exclusive-lock, object-map, fast-diff, deep-flatten
rbd 占用
查看 rbd 实际占用:
$ rbd diff kcha/mysqldata | awk '{ SUM += $2 } END { print SUM/1024/1024 " MB" }'
860.449 MB
$ rbd diff kcha/mysqldata | awk '{ SUM += $2 } END { print SUM/1024/1024/1024 " GB" }'
0.840282 GB
删除 rbd
直接删除:
$ rbd rm kcha/mysqldata
Removing image: 100% complete...done.
若 rbd 被占用,则需要先将占用加入黑名单,后再删除。
# 加入黑名单
$ ceph osd blacklist add 10.105.136.63:0/1081512968
blacklisting 10.105.136.63:0/1081512968 until 2020-09-01T10:46:28.920245+0000 (3600 sec)
# 删除
$ rbd rm kcha/mysqldata
Removing image: 100% complete...done.
# 查看黑名单
$ ceph osd blacklist ls
listed 1 entries
10.105.136.63:0/1081512968 2020-09-01T10:46:28.920245+0000
# 移除黑名单
$ ceph osd blacklist rm 10.105.136.63:0/1081512968
un-blacklisting 10.105.136.63:0/1081512968
导入导出
$ rbd export kcha/mysqldata ~/mysqldata
Exporting image: 100% complete...done.
$ rbd import ~/mysqldata mantidata/mysqldata --image-format 2
Importing image: 100% complete...done.
RBD 特性解析
特性一览表
RBD 支持的特性,及具体 BIT 值的计算如下
属性 | 功能 | BIT 码 |
---|---|---|
layering | 支持分层 | 1 |
striping | 支持条带化 v2 | 2 |
exclusive-lock | 支持独占锁 | 4 |
object-map | 支持对象映射(依赖 exclusive-lock ) | 8 |
fast-diff | 快速计算差异(依赖 object-map ) | 16 |
deep-flatten | 支持快照扁平化操作 | 32 |
journaling | 支持记录 IO 操作(依赖独占锁) | 64 |
默认属性值
ceph kraken 版本默认属性值
# ceph --show-config|grep rbd|grep featuresrbd_default_features = 61
为啥是 61?我们创建一个默认配置的 rbd 看看
# rbd create test-feature --size 64# rbd info rbd/test-featurerbd image 'test-feature': size 65536 kB in 16 objects order 22 (4096 kB objects) block_name_prefix: rbd_data.107d238e1f29 format: 2 features: layering, exclusive-lock, object-map, fast-diff, deep-flatten flags:
1+4+8+16+32 = 61
就是说除了特性:striping 和 journaling 外都开启了。
控制属性
有三种方法来开启需要的特性
1、在创建 image 时,通过 --image-feature
来指定需要开启的特性
2、对已存在的 image 可以通过如下命令开启和关闭
rbd feature enable <pool-name>/<image-name> <feature-name>rbd feature disable <pool-name>/<image-name> <feature-name>
3、当然,每次通过 enable 和 disable 来不是很便捷,可以通过修改配置文件来解决
vim /etc/ceph/ceph.conf...rbd_default_features = 1...
具体该设为多少可以通过上面 BIT 值查表计算得出。
相关文章