ceph_osd故障检测

1.     当前monitor可以通过3种途径检测到osd离线

1)      Osd自主上报

2)      Osd通过投票的方式(满足一下条件之一,mon会将osd标记为down)

a)      投票携带了Force/Immediate标识(和其他osd建立链接时返回econnrefused)

b)      有效票数已经达到阈值mon_osd_min_down_reporters(默认为2)(同一故障域只会记1票)

<1>   选择每个pg的Up与Acting中的osd

<2>   选择在编号上与本osd相邻的前一个和后一个状态为Up的osd

<3>   如果该osd的心跳伙伴个数小于最小值osd_heartbeat_min_peers(默认为10),则以本osd编号作为基准,依次选择集群中下一个状态为Up,编号相邻的osd,直至达到最小值

Note: osd之间的心跳采用单播(点对点)的方式(如果集群较大,采用广播可能会导致广播风暴)

3)      周期性向monitor发送beacon消息进行保活

Osd周期性向monitor发送beacon消息进行保活osd_beacon_report_interval(默认100秒),超过mon_osd_report_timeout(默认 300秒)没有收到osd的beacon消息,则将该osd标记为Down

2.     osd心跳

1)      osd之间的心跳:

       OSD 之间每 osd_heartbeat_interval(默认 2 秒)会有一个来回心跳包的检测,该心跳包会分别从public和cluster网分别发出,当一个 OSD 在 osd_heartbeat_grace(默认 7 秒)时间内没有收到其他 OSD 心跳的时候,那么这个 OSD 会向 MON 汇报说另一个 OSD 心跳已经超时。当MON 收到多个来自不同故障域的 OSD 都汇报了同一个 OSD 的心跳问题,就会将这个 OSD mark DOWN

2)      OSD向mon报告自己的状态:

       OSD每最小osd_beacon_report_interval(默认100秒),如果一 OSD 在 mon_osd_report_timeout(默认300秒) 时间内没向mon报告过自己的状态,mon就认为它 down 了。

3)      Osd向mon报告自己的事件

       从一 OSD 启动或其它可报告事件发生以来,osd_mon_report_interval_min(默认3秒)时间内必须向监视器报告一次,监视器允许 OSD 报告的最大间隔为osd_mon_report_interval_max(默认为15秒),超时将认为 OSD 挂了( down )

4)      Osd心跳参数:

osd_heartbeat_interval

描述:默认值2,osd发送heartbeat给其他osd的间隔时间

osd_heartbeat_grace

描述:默认值7,OSD 多久没心跳就会被集群认为它挂( down )了

5)      Osd向mon心跳参数

osd_beacon_report_interval

描述:默认值100,osd报告beacon消息间隔

mon_osd_report_timeout

描述:默认值300,宣布无响应 OSD down 前的宽限期,秒

mon_osd_adjust_heartbeat_grace

描述:默认值false,设置为 true 时, Ceph 将根据滞后量伸缩

6)      Osd事件参数:

osd_mon_report_interval_min

描述:默认值3,从一 OSD 启动或其它可报告事件发生以来,多长时间内必须向监视器报告一次

osd_mon_report_interval_max

描述:默认值15,监视器允许 OSD 报告的最大间隔,超时将认为 OSD 挂了( down )

mon_osd_down_out_interval

描述:默认值10800,在 OSD 停止响应多少秒后把它标记为 down 且 out

mon_osd_adjust_down_out_interval

描述:默认值false,设置为 true 时, Ceph 将根据滞后量伸缩

3.     参考资料:

1、http://wiki.xsky.com

2、《ceph之rados设计原理与实现》

3、http://docs.ceph.com

转载于:https://www.cnblogs.com/hlc-123/p/10740035.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值