知识卡片
心跳超时与自杀机制防止线程假死拖垮集群
内容
工作线程每次执行任务时会注册一个 grace 超时时间,OSD 有独立定时器持续检查各线程是否超过这个时限——超时只是标记为”不健康”,但如果一直拖到 suicide_grace 这个更长的上限还没恢复,OSD 会主动触发断言让自己崩溃退出。这看似激进(进程自杀),实际是分布式系统里常见的”宁可快速失败也不要带病硬扛”原则:一个假死但没崩溃的 OSD 不会被集群标记为故障,会一直占着 PG 却不响应请求,比直接崩溃后触发 [[Peering建立PG级数据一致性窗口|Peering]]/故障转移的危害更大。
参考来源
《Ceph源码分析》第2章《Ceph通用模块》