记录一次ceph集群的宕机

进入机房检查,将4台未接入带外的节点都接上千兆的bmc网络,方便后续操作。
问题

发现ceph -s 中一台osd节点中所有硬盘都down。该服务器显示cpu stuck,鼠标键盘无响应,按开机键无反应。强制重启后恢复正常。

然后发现每台osd节点上都有多块osd down,系统在recovery 中。
检查ceph health detail 中,发现
[WRN] MON_CLOCK_SKEW: clock skew detected on mon.mon2, mon.mon3
mon.mon2 clock skew 98.1728s > max 0.05s (latency 0.0134565s)
mon.mon3 clock skew 8.73596s > max 0.05s (latency 0.00214401s)

问题可能出现在Ceph 集群断网后,无法连接ntp 服务器,导致时间同步出问题。因此将mon1 节点设为chrony的server 节点,存储集群节点做为client端。

通过 systemctl restart ceph-osd.target 可以重启整个服务器上的osd服务,不用一个一个重启osd节点,可以让所有节点启动。

问题可能出现在麦洛斯网卡上,因为在dmesg中出现mlx5_core rx queue timeout ,以及cpu stuck

mlx5_core 0000:25:00.0 enp37s0f0: TX timeout detected
mlx5_core 0000:25:00.0 enp37s0f0: TX timeout on queue: 25, SQ: 0x281e, CQ: 0x451, SQ Cons: 0x1c4d SQ Prod: 0x1cd2
mlx5_core 0000:25:00.0 enp37s0f0: TX timeout on queue: 34, SQ: 0x2842, CQ: 0x46c, SQ Cons: 0x232a SQ Prod: 0x247f
mlx5_core 0000:25:00.0 enp37s0f0: TX timeout on queue: 35, SQ: 0x2846, CQ: 0x46f, SQ Cons: 0x2480 SQ Prod: 0x2862
mlx5_core 0000:25:00.0 enp37s0f0: TX timeout on queue: 51, SQ: 0x2886, CQ: 0x49f, SQ Cons: 0x161e SQ Prod: 0x16dc
mlx5_core 0000:25:00.0 enp37s0f0: Link up

问题还有可能出现在服务器固件上,在dmesg 中出现

AMD-Vi: Event logged [IO_PAGE_FAULT device=41:00.0 domain=0x0038 address=0xe3a83004 flags=0x0070]

posted @ 2025-01-13 18:09  guoyaobit  阅读(141)  评论(0)    收藏  举报