知识卡片
分布式系统为何对时钟漂移敏感
内容
Ceph 的 Monitor 之间会持续检验彼此的时间误差,一旦抖动超过阈值(默认 0.05 秒)就报警,因为组件间大量协作逻辑隐含”各节点时间基本一致”这个假设——一旦假设被打破,跨节点的事件顺序判断、超时判定都可能出错,进而威胁数据一致性。解决时间漂移优先用 NTP 做强同步而不是简单调高报警阈值,因为阈值只是掩盖了症状、没有消除节点间真实的时间差。发散:这是分布式系统的一个通用命门——任何用本地时钟做跨节点判断的设计(会话过期、证书有效期、日志排序、租约续期)都在赌”时钟不会漂太远”,一旦硬件时钟或虚拟化环境导致漂移超出预期,这类判断就会静默出错,而且往往比副本不一致更难被发现,因为系统不会主动报错。
参考来源
《Ceph分布式存储实战》第13章《Ceph运维与排错》