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

ceph_osd故障检测的更多相关文章

  1. Ceph剖析:故障检测

    作者:吴香伟 发表于 2014/10/10 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 心跳是用于OSD节点间检测对方是否故障的,以便及时发现故障节点进入相应 ...

  2. LTE Module User Documentation(翻译15)——示例程序、参考场景以及故障检测和调试技巧

    LTE用户文档 (如有不当的地方,欢迎指正!)     21 Examples Programs(示例程序)   路径 src/lte/examples/ 包含一些示例仿真程序,这些例子表明如何仿真不 ...

  3. Windows10系统故障检测你知道多少-上海IT33

    Windows 10作为微软公司最新的一款操作系统,从使用的方便和界面的整洁上来说,固然是很好的,但是其因为隐私问题,致使很多人不惜一切代价想要远离Windows 10这款操作系统.尽管Windows ...

  4. 剑指Offer——知识点储备-故障检测、性能调优与Java类加载机制

    剑指Offer--知识点储备-故障检测.性能调优与Java类加载机制 故障检测.性能调优 用什么工具可以查出内存泄露 (1)MerroyAnalyzer:一个功能丰富的java堆转储文件分析工具,可以 ...

  5. [深度应用]·DC竞赛轴承故障检测开源Baseline(基于Keras 1D卷积 val_acc:0.99780)

    [深度应用]·DC竞赛轴承故障检测开源Baseline(基于Keras1D卷积 val_acc:0.99780) 个人网站--> http://www.yansongsong.cn/ Githu ...

  6. Greenplum FTS故障检测原理

    前言 FTS(Fault Tolerance Serve)是GreenPlum中的故障检测服务,是保证GP高可用的核心功能.GreenPlum的Segment的健康检测及HA是由GP Master实现 ...

  7. 故障检测、性能调优与Java类加载机制

    故障检测.性能调优与Java类加载机制 故障检测.性能调优 用什么工具可以查出内存泄露 (1)MerroyAnalyzer:一个功能丰富的java堆转储文件分析工具,可以帮助你发现内存漏洞和减少内存消 ...

  8. 基于案例分析 MySQL Group Replication 的故障检测流程

    故障检测(Failure Detection)是 Group Replication 的一个核心功能模块,通过它可以及时识别集群中的故障节点,并将故障节点从集群中剔除掉.如果不将故障节点及时剔除的话, ...

  9. Windows Azure的故障检测和重试逻辑

    高度可用的应用程序设计的一个关键点,是利用代码中的重试逻辑正常处理临时中断的服务.Microsoft 模式和实践团队开发的暂时性故障处理应用程序块可协助应用程序开发人员完成此过程.“暂时性”一词表示仅 ...

随机推荐

  1. L1,L2范数和正则化 到lasso ridge regression

    一.范数 L1.L2这种在机器学习方面叫做正则化,统计学领域的人喊她惩罚项,数学界会喊她范数. L0范数  表示向量xx中非零元素的个数. L1范数  表示向量中非零元素的绝对值之和. L2范数  表 ...

  2. dubbo学习 三 dubbox概述

    当当网根据自身的需求,对dubbo进行了扩展就叫成了dubbox.具体的使用方法可以参照官网各种例子:http://dangdangdotcom.github.io/dubbox/   支持rest风 ...

  3. 自定义对话框<转>

    效果如下: <ignore_js_op> QQ截图20130221234404.png (51.02 KB, 下载次数: 126) 下载附件  保存到相册 2013-2-21 23:44 ...

  4. OpenGL3.x,4.x中使用FreeImage显示图片的BUG-黑色,或颜色分量顺序错乱

    //参照FreeImage官网给出的CTextrueManager写的加载函数 //官方给的例子是用opengl3.0以下的旧GL写的,没有使用glGenerateMipmap(GL_TEXTURE_ ...

  5. 有关Lucene的问题(4):影响Lucene对文档打分的四种方式

    原文出自:http://forfuture1978.iteye.com/blog/591804点击打开链接 在索引阶段设置Document Boost和Field Boost,存储在(.nrm)文件中 ...

  6. php扩展开发1--添加函数

    目标:便携php扩展 要求实现 输出hello word 首先用的是php7.0.3   centos7.1或者centos6.+ 1.1 RPM安装PHP rpm -Uvh https://mirr ...

  7. 一个小仓鼠的js动画

    直接在网页打开就可以玩了: http://cdn.abowman.com/widgets/hamster/hamster.swf?up_bodyColor=f0e9cc&up_feetColo ...

  8. solr第二天 京东案例 课程文档 有用

    全文检索技术   Lucene&Solr               Part3 1. 课程计划 1. Solr配置中文分析器 a) Schema.xml的配置 b) 配置IKAnalyzer ...

  9. javascript nonono

    javascript实现的点击元素实现当前轮换展现效果 javascript实现的点击元素实现当前轮换展现效果:本章节分享一段代码实例,它实现了点击元素实现当前展现效果,并且具有比较人性化的变换效果. ...

  10. rpmbuild SPEC语法

    rpmbuild SPEC语法 摘自:http://bbs.chinaunix.net/thread-4179207-1-1.html spec文件写作规范 2008-09-28 11:52:17 分 ...