【ceph】ceph如何排查哪个osd曾经down过,超级实用

 本站以分享各种运维经验和运维所需要的技能为主

《python零基础入门》:python零基础入门学习

《python运维脚本》: python运维脚本实践

《shell》:shell学习

《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战

《k8》暂未更新

《docker学习》暂未更新

《ceph学习》ceph日常问题解决分享

《日志收集》ELK+各种中间件

《运维日常》运维日常

《linux》运维面试100问

【ceph】ceph如何排查哪个osd曾经down过,超级实用 

背景:

在巡检ceph集群的时候,发现osd的时间发生了变化

    osd: 186 osds: 186 up (since 30m), 185 in (since 15h)

需要查看是哪个osd发生过被集群mark out 过

操作:

一、查看osd的日志:

for i in `cat osd-num`;do cat /var/log/ceph/ceph-osd.$i.log | egrep "Monitor daemon marked" ; done

二、直接查看mon的日志:

cat ceph-mon.xxx.log | grep "we have enough reporters to mark"

这里附加一下:集群是如何将一个osd进行mark out的:

判断原理:

【ceph】ceph如何排查哪个osd曾经down过,超级实用_第1张图片

osd之间都会进行心跳检查,都会向mon打小报告如果检查到某个osd不行,

这个小报告的数量达到某个阈值之后集群就会进行mark out操作

相关日志:

相关日志:

2024-01-24 10:11:26.601 7f5aee043700  0 log_channel(cluster) log [DBG] : osd.114 reported failed by osd.64
2024-01-24 10:12:30.897 7f5aee043700  1 mon.xxx@0(leader).osd e8511  we have enough reporters to mark osd.78 down

与下面这两个参数有关:

【ceph】ceph如何排查哪个osd曾经down过,超级实用_第2张图片

【ceph】ceph如何排查哪个osd曾经down过,超级实用_第3张图片

参数:

mon_osd_down_out_interval

mon_osd_min_down_reporters

查看命令:

# ceph daemon osd.0 config show | grep mon_osd_down_out_interval
    "mon_osd_down_out_interval": "600",
# ceph daemon osd.0 config show | grep mon_osd_min_down_reporters
    "mon_osd_min_down_reporters": "2",

参考:

Configuring Monitor/OSD Interaction — Ceph Documentation

你可能感兴趣的:(ceph,ceph)