rbd: sysfs write failed解决办法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rbd: sysfs write failed解决办法相关的知识,希望对你有一定的参考价值。

问题描述

映射块设备时,出现如下错误

[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

以上是关于rbd: sysfs write failed解决办法的主要内容,如果未能解决你的问题,请参考以下文章

rdb map出错rbd sysfs write failed

ORA-09817: Write to audit file failed 报错解决办法

(转) 解决ssh的"Write failed: Broken pipe"问题

解决gpg failed to sign the data fatal: failed to write commit object解决方案

curl: (23) Failed writing body (1354 i= 1371)问题解决办法

解决Linux下ssh登录后出现 报错 Write failed: Broken pipe 的方法