重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
发布时间:2020-06-23 10:48:25 来源:51CTO 阅读:311 作者:腿快抖断了 栏目:系统运维 问题描述
映射块设备时,出现如下错误
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、虚拟主机、营销软件、网站建设、乳山网站维护、网站推广。[root@ceph-client /]# rbd map --image block/rbd0 --name client.rbd
rbd: sysfs write failed
In some cases useful info is found in syslog - try "dmesg | tail".
出现这种错误的原因是OS kernel不支持块设备镜像的一些特性,所以映射失败,查看该镜像支持了哪些特性
[root@ceph-client ~]# rbd info block/rbd0 --name client.rbd
rbd image \'rbd0\':
size 2 GiB in 512 objects
order 22 (4 MiB objects)
id: 15fe16b8b4567
block_name_prefix: rbd_data.15fe16b8b4567
format: 2
features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
op_features:
flags:
create_timestamp: Thu Dec 19 10:33:18 2019
可以看到特性feature一栏,由于我的内核仅仅支持layering,其他都不支持,所以需要把部分不支持的特性disable掉,有以下三种方法
1)动态禁用
rbd feature disable rbd0 exclusive-lock object-map deep-flatten fast-diff --name client.rbd
2) 创建RBD镜像时,只启用 分层特性。
rbd create rbd2 --size 10240 --image-feature layering --name client.rbd
3)ceph 配置文件在global中添加如参数来禁用
rbd_default_features = 1