ceph客户端服务端属性匹配关系

ceph的server是定期会发布版本,而它的客户端是放到linux 内核当中的,一些属性的支持是依赖于内核版本的,这样就存在一些问题,一些功能后端支持,而客户端旧了;还有可能是客户端用的很新的内核,而后端比较旧不支持,所以查看了下内核中的 features 文件,可以看到这个对应关系,总结了下就是下面的列表

注意表中:

  • S=SUPPORTED_DEFAULT 代表客户端支持这个属性
  • R=REQUIRED_DEFAULT 代表需要服务端支持这个属性

missing 2040000 意思是 CEPH_FEATURE_CRUSH_TUNABLES (40000) 和 CEPH_FEATURE_CRUSH_TUNABLES2 (2000000) 不被当前客户端支持,一般要么关闭新的server端的这个属性,或者升级到支持的版本的内核.

内核代码查看地址:https://elixir.bootlin.com/linux/v5.7/source/include/linux/ceph/ceph_features.h

Some examples of errors that can be encountered :

1
mon0 192.168.0.1:6789 feature set mismatch, my XXXXXX < server's XXXXXX, missing 2040000

—> Upgrade kernel client up to 3.9 or set tunables to legacy : ceph osd crush tunables legacy

1
mon0 192.168.0.1:6789 feature set mismatch, my XXXXXX < server's XXXXXX, missing 40000000

—> Upgrade kernel client up to 3.9 or unset hashpspool : ceph osd pool set rbd hashpspool false

1
mon0 192.168.0.1:6789 feature set mismatch, my XXXXXX < server's XXXXXX, missing 800000000

—> Remove cache pool and reload monitors or upgrade kernel client up to 3.14

1
mon0 192.168.0.1:6789 feature set mismatch, my XXXXXX < server's XXXXXX, missing 1000000000

—> Upgrade kernel client up to 3.14

1
mon0 192.168.0.1:6789 feature set mismatch, my 4a042a42 < server's 2004a042a42, missing 20000000000

—> Upgrade kernel client up to 3.15 or disable tunable 3 features

变更记录

Why Who When
创建 武汉-运维-磨渣 2015-09-18
增加解决方案 武汉-运维-磨渣 2017-01-12

参考文档:http://cephnotes.ksperis.com/blog/2014/01/21/feature-set-mismatch-error-on-ceph-kernel-client/