CephFS:挂载失败,"无法读取超级块"

时间:2016-05-14 17:59:12

标签: mount ceph

我已经在配备了Ubuntu Server 14.04的3个节点上设置了Ceph Jewel。

ceph -v
ceph version 10.2.1 (3a66dd4f30852819c1bdaa8ec23c795d4ad77269)

群集已启动并正在运行:

ceph -s
cluster cb3537cf-05a0-4411-840d-ab5b8d855579
 health HEALTH_OK
 monmap e3: 3 mons at {ceph-monitor=192.168.0.173:6789/0,ceph-node01=192.168.0.171:6789/0,ceph-node02=192.168.0.172:6789/0}
        election epoch 28, quorum 0,1,2 ceph-node01,ceph-node02,ceph-monitor
  fsmap e25: 1/1/1 up {0=ceph-monitor=up:active}
 osdmap e55: 3 osds: 3 up, 3 in
        flags sortbitwise
  pgmap v302: 368 pgs, 9 pools, 3704 bytes data, 191 objects
        120 MB used, 15206 MB / 15326 MB avail
             368 active+clean

我已经设置了一个单独的客户端节点。当我尝试挂载文件系统

mount -t ceph 192.168.0.173:6789:/ /mnt/cephfs -o name=admin,secret=AQC3QjdXi1e3LBAAFzrYKXKz6oupPGXaKaW1cQ==

我得到这个输出(经过长时间的延迟):

mount: 192.168.0.173:6789:/: can't read superblock

所有服务似乎都在运行:

ps -A | grep ceph
1207 ?        00:00:00 ceph-mon
1208 ?        00:00:00 ceph-mds
1375 ?        00:00:00 ceph-osd

有人知道发生了什么事吗?

3 个答案:

答案 0 :(得分:2)

在Ubuntu Server 14.04上将内核从3.13升级到4.4x时,问题就消失了。

通过apt-get install linux-generic-lts-xenial安装最新的内核版本并重启您的计算机。

另一个选择是使用ceph-fuse而不是内核驱动程序。它随apt-get install ceph-fuse一起安装。 ceph-fuse能够毫无问题地挂载文件系统。看看这里:http://docs.ceph.com/docs/hammer/cephfs/fuse/

答案 1 :(得分:0)

在内核客户端挂载失败后,您可以看到内核日志来诊断此问题,可能是协议功能不匹配。

答案 2 :(得分:0)

你的内核版本很低,我也有这个问题。

Linux版本3.10.0-862.2.3.el7.x86_64没关系,你可以挂载cephfs。 但Linux版本3.10.0-327.36.3.el7.x86_64不行。