ceph集群jewel版本 rbd 块map 报错-故障排查

网友投稿 720 2022-09-28

ceph集群jewel版本 rbd 块map 报错-故障排查

ceph集群jewel版本 rbd 块map 报错-故障排查

测试信息如下:

#新建rbd 块:

rbd create rbd/test2 --size 10G --image-format 2

#查看块信息:

rbd ls

#将rbd 块映射到主机:

rbd map rbd/test2

#报错内容如下

rbd: sysfs write failed

RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable".

In some cases useful info is found in syslog - try "dmesg | tail" or so.

rbd: map failed: (6) No such device or address

故障排查:

rbd 块ceph 支持两种格式:

rbd create rbd/test2 --size 10G --image-format 2

--image-format format-id

选择用哪个对象布局,默认为 1 。

format 1 - 新建 rbd 映像时使用最初的格式。此格式兼容所有版本的 librbd 和内核模块,但是不支持较新的功能,像克隆。

format 2 - 使用第二版 rbd 格式, librbd 和 3.11 版以上内核模块才支持(除非是分拆的模块)。此格式增加了克隆支持,使得扩展更容易,还允许以后增加新功能。

为使用rbd 块新特性,使用格式2,在map 时发生以上报错:

查找官网相关资料,找到信息如下:

笔者安装的是jewel 版本,新建rbd块指定格式2,默认格式2的rbd 块支持如下特性,默认全部开启;

layering: 支持分层

striping: 支持条带化 v2

exclusive-lock: 支持独占锁

object-map: 支持对象映射(依赖 exclusive-lock )

fast-diff: 快速计算差异(依赖 object-map )

deep-flatten: 支持快照扁平化操作

journaling: 支持记录 IO 操作(依赖独占锁)

笔者使用系统为centos7.2 ,内核版本 3.10.0-327.18.2.el7.x86_64,根据报错内容提示可知,服务器系统内核版本,不支持有些格式2 的新特性导致。可以使用

--image-feature   选项指定使用特性,不用全部开启。我们的需求仅需要使用快照等特性,开启layering即可,配置方式如下:

rbd create rbd/test1 --size 10G --image-format 2 --image-feature  layering

rbd ls

rbd map rbd/test1   #可以正常映射;

#经测试,内核版本 3.10,仅支持此特性(layering),其它特性需要使用更高版本内核,或者从新编译内核加载特性模块才行。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:ceph集群jewel版本部署osd激活权限报错-故障排查
下一篇:关于两个BeanUtils.copyProperties()的用法及区别
相关文章

 发表评论

暂时没有评论,来抢沙发吧~