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 :
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
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
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
mon0 192.168.0.1:6789 feature set mismatch, my XXXXXX < server's XXXXXX, missing 1000000000
—> Upgrade kernel client up to 3.14
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/