前言
记录Ceph块设备-内核模块操作中遇到的错误以及解决办法。
记录汇总
$ sudo rbd map swimmingpool/bar --id admin
rbd: sysfs write failed
RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable swimmingpool/bar object-map fast-diff deep-flatten".
In some cases useful info is found in syslog - try "dmesg | tail".
rbd: map failed: (6) No such device or address
$ dmesg | tail
[10990.458213] rbd: loaded (major 252)
[10990.492744] libceph: mon0 192.168.47.128:6789 session established
[10990.493531] libceph: client54572 fsid ce89b98d-91a5-44b5-a546-6648492b1646
[10990.523525] rbd: image bar: image uses unsupported features: 0x38
[11770.367401] libceph: mon3 192.168.47.130:6789 session established
[11770.368311] libceph: client5246 fsid ce89b98d-91a5-44b5-a546-6648492b1646
[11770.377915] rbd: image bar: image uses unsupported features: 0x38
[12219.339830] libceph: mon2 192.168.47.129:6789 session established
[12219.340894] libceph: client5237 fsid ce89b98d-91a5-44b5-a546-6648492b1646
[12219.349674] rbd: image bar: image uses unsupported features: 0x38
解决办法:
# 查资料是因为出layering外,其他feature和内核不兼容,所以需要disable其他的feature
$ rbd info swimmingpool/bar
rbd image 'bar':
size 1 GiB in 256 objects
order 22 (4 MiB objects)
id: 144b6b8b4567
block_name_prefix: rbd_data.144b6b8b4567
format: 2
features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
op_features:
flags:
create_timestamp: Tue Apr 14 17:23:20 2020
# disable掉其他的feature
$ rbd feature disable swimmingpool/bar exclusive-lock, object-map, fast-diff, deep-flatten
再次执行映射
[cephadm@ceph-master ~]$ sudo rbd map swimmingpool/bar
/dev/rbd0
2020-04-14 22:58:27.014 7f02757b2700 0 -- 192.168.47.128:0/1619458471 >> 192.168.47.129:6800/188581 conn(0x7f024c006cf0 :-1 s=STATE_CONNECTING_WAIT_CONNECT_REPLY_AUTH pgs=0 cs=0 l=1).handle_connect_reply connect got BADAUTHORIZER
# 重启ceph节点
$ systemctl restart ceph.target