重启 k8s 节点后,OSD 未加入集群,并出现与身份验证相关的错误。我已将它们添加到auth list
,该错误消失。现在 OSD 节点已加入集群,但它们未显示为 up,并且 pgs 未显示在 中ceph -s
。
我在这个问题上花了 2 周的时间,但我不明白为什么 OSD 没有显示为 up。将ms
子系统日志记录设置为 20 时,出现错误显示OSD >> MGR - Operation not permitted
:
4038023360,v1:10.244.135.63:6801/4038023360] conn(0x55c2deb3a000 0x55c2dd0ee000 crc :-1 s=READY pgs=2984 cs=0 l=1 rev1=1 rx=0 tx=0).handle_read_frame_preamble_main read frame preamble failed r=-1
((1) Operation not permitted)
并直接从其守护进程检查 OSD 状态:
[root@rook-ceph-osd-3-79b4cddd7f-52kwm ceph]# ceph daemon osd.3 status
{
"cluster_fsid": "6078f23a-41af-4f36-aa54-ddc67de63c18",
"osd_fsid": "b89817d2-3752-4f20-a916-b992990dee8d",
"whoami": 3,
"state": "booting",
"oldest_map": 9094,
"newest_map": 9677,
"num_pgs": 33
}
我到目前为止尝试过的:
- 检查
dmesg | scsi
- 看起来不错 - 检查网络 — 执行 OSD 并 ping mgr 和 mons,OK。
- 检查
iostat -x
,效用低 - 升级后 rook -> 1.9,ceph -> 17
我会尝试(不幸的是... :( ):
- ZAP OSD 磁盘,清除所有 ceph 集群组件,然后重新部署
任何能解决此问题的线索都将非常感谢。
答案1
不要删除它!否则会删除磁盘上的内容。
我猜想这可能与 UNIX 级别的权限有关。可能在容器内,但也可能在其他地方。
如果您可以重新创建存储在 ceph 集群中的数据,那么我认为 zap 和 restore 可能会起作用,但如果容器确实起作用,问题可能仍然存在。