共计 1751 个字符,预计需要花费 5 分钟才能阅读完成。
丸趣 TV 小编给大家分享一下在 Ceph 的 osd 节点上启动 osd 进程失败怎么办,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
在 Ceph 的 osd 节点上,启动 osd 进程失败,查看其日志 /var/log/ceph/ceph-osd.{osd-index}.log 日志,报错如下:
2017-02-14 16:26:13.558535 7fe3883f58c0 0 filestore(/var/lib/ceph/osd/ceph-1) mount: enabling WRITEAHEAD journal mode: checkpoint is not enabled
2017-02-14 16:26:13.558712 7fe3883f58c0 -1 journal FileJournal::_open: disabling aio for non-block journal. Use journal_force_aio to force use of aio anyway
2017-02-14 16:26:13.558714 7fe3883f58c0 1 journal _open /var/lib/ceph/osd/ceph-1/journal fd 18: 5368709120 bytes, block size 4096 bytes, directio = 1, aio = 0
2017-02-14 16:26:13.558866 7fe3883f58c0 1 journal _open /var/lib/ceph/osd/ceph-1/journal fd 18: 5368709120 bytes, block size 4096 bytes, directio = 1, aio = 0
2017-02-14 16:26:13.559190 7fe3883f58c0 1 filestore(/var/lib/ceph/osd/ceph-1) upgrade
2017-02-14 16:26:13.559342 7fe3883f58c0 -1 osd.1 0 backend (filestore) is unable to support max object name[space] len
2017-02-14 16:26:13.559348 7fe3883f58c0 -1 osd.1 0 osd max object name len = 2048
2017-02-14 16:26:13.559350 7fe3883f58c0 -1 osd.1 0 osd max object namespace len = 256
2017-02-14 16:26:13.559353 7fe3883f58c0 -1 osd.1 0 (36) File name too long
2017-02-14 16:26:13.559863 7fe3883f58c0 1 journal close /var/lib/ceph/osd/ceph-1/journal
2017-02-14 16:26:13.560411 7fe3883f58c0 -1 ^[[0;31m ** ERROR: osd init failed: (36) File name too long
这个错误的原因是 Ceph 官网建议使用 XFS 作为 OSD 存储数据的文件系统,但我的文件系统时 ext4,而 ext4 存储 xattrs 的大小有限制,使得 OSD 信息不能安全的保存。因此就有两种方法来解决这个问题:
修改 Ceph 配置文件的 osd 选项。将下面的信息添加到 Ceph 配置文件中 global 的 section 中,Ceph 集群中,如果 osd 存储数据的文件系统是 ext4 的,都需要修改这个配置文件。然后重启对应的 osd 服务。
osd max object name len = 256
osd max object namespace len = 64
将文件系统改为 XFS。
看完了这篇文章,相信你对“在 Ceph 的 osd 节点上启动 osd 进程失败怎么办”有了一定的了解,如果想了解更多相关知识,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!
正文完