Ceph osd啓動報錯osd init failed (36) File name too long

在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信息不能安全的保存。因此就有兩種方法來解決這個問題:
1. 修改Ceph配置文件的osd選項。將下面的信息添加到Ceph配置文件中global的section中,Ceph集羣中,如果osd存儲數據的文件系統是ext4的,都需要修改這個配置文件。然後重啓對應的osd服務。

osd max object name len = 256
osd max object namespace len = 64

2. 將文件系統改爲XFS。

發佈了122 篇原創文章 · 獲贊 55 · 訪問量 54萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章