Ceph发光的rbd地图永远挂起

时间:2017-12-29 18:15:03

标签: ceph

运行1节点ceph集群,并使用另一个节点的ceph-client。 Qemu与RBD安装工作正常。当我尝试在ceph-client上安装RBD块设备时,我得到一个没有输出的无限期挂起。如何诊断错误?

系统是ubuntu 16.04服务器,和Ceph Luminous。

sudo ceph tell osd.* version
{
    "version": "ceph version 12.2.2 (cf0baeeeeba3b47f9427c6c97e2144b094b7e5ba) luminous (stable)"
}


ceph -s
  cluster:
    id:     4bfcc109-e432-4ac0-ba9d-bf81243aea
    health: HEALTH_OK

  services:
    mon: 1 daemons, quorum gcmaster
    mgr: gcmaster(active)
    osd: 1 osds: 1 up, 1 in

  data:
    pools:   1 pools, 128 pgs
    objects: 1512 objects, 5879 MB
    usage:   7356 MB used, 216 GB / 223 GB avail
    pgs:     128 active+clean

rbd info gcbase
rbd image 'gcbase':
    size 512 MB in 128 objects
    order 22 (4096 kB objects)
    block_name_prefix: rbd_data.376974b0dc51
    format: 2
    features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
    flags: 
    create_timestamp: Fri Dec 29 17:58:02 2017

这永远挂起

rbd map gcbase --pool rbd

就像这样

rbd map typo_gcbase --pool rbd

dmesg显示

Dec 29 13:27:32 cephclient1 kernel: [85798.195468] libceph: mon0 192.168.1.55:6789 feature set mismatch, my 106b84a842a42 < server's 40106b84a842a42, missing 400000000000000
Dec 29 13:27:32 cephclient1 kernel: [85798.222070] libceph: mon0 192.168.1.55:6789 missing required protocol features

1 个答案:

答案 0 :(得分:3)

dmesg输出告诉我们发生了什么:集群需要一个libceph内核模块不支持的功能位。

有问题的功能位是CEPH_FEATURE_CRUSH_TUNABLES5,CEPH_FEATURE_NEW_OSDOPREPLY_ENCODING或CEPH_FEATURE_FS_FILE_LAYOUT_V2(它们是重叠的,因为它们是同时引入的),这些只在内核4.5上可用,而Ubuntu 16.04使用4.4内核。

一个类似的问题(尽管与CephFS有关)came up on the mailing list有一个可能的解决方案:

  

是的,您应该能够将CRUSH可调参数配置文件设置为锤子   用“ceph osd crush tunables hammer”。

这将禁用某些功能,但应使旧内核与群集兼容。

或者,您可以升级到主线内核或更新的操作系统版本。