高可用与运维76 条

双机脑裂预防

双机之间失去互信时可能两台都认为自己是主设备(脑裂);通过心跳冗余、独立路径与合理参数降低发生概率。

安全设备配置速查安全更新于 2026-10-13

脑裂怎么发生

双机之间靠心跳互相确认状态,心跳一旦中断,两台设备都可能认为自己是主设备,于是同时持有同一地址、处理同一份流量,出现地址冲突与流量异常。心跳链路的冗余度、是否与业务路径共用、检测参数是否合理,共同决定脑裂发生的概率。

基本信息

成因心跳中断且两台无法互相确认角色
预防双心跳链路、独立路径、合理的检测参数
辅助上下行组网避免两台落入同一故障域
代价脑裂会同时引发地址冲突与业务中断

典型使用场景

  • 双机上线前设计心跳链路与故障域
  • 交换机故障后出现地址冲突的事故复盘
  • 巡检检查心跳口错包与光功率
  • 变更窗口安排:避免两台同时重启
  • 演练心跳中断时设备的行为是否可预期

预防措施清单

预防措施清单
# 1. 心跳链路双线,与业务路径走不同物理通道
# 2. 心跳链路独立于业务交换机与上联设备
# 3. 检测参数与业务容忍度匹配,不盲目调快调慢
# 4. 定期检查心跳口错包、丢包与光功率
# 5. 变更时避免两台设备同时重启或同时断电
# 6. 组网确认两台设备不落在同一故障域

风险点与后果

风险点后果
单条心跳链路该链路故障即进入脑裂风险窗口
心跳与业务共用交换机交换机故障同时打断业务与心跳
检测参数过于激进链路轻微抖动即误判,角色反复切换
两台同时重启重启期间互相争夺主设备角色
脑裂的代价是地址冲突与流量异常,预防成本远低于事后恢复。
心跳链路与业务链路走同一台交换机,等于把双机的可靠性绑在单台交换机上。

易错点

  • 心跳和业务走同一台交换机,交换机故障直接诱发脑裂
  • 两台同时升级或重启,重启期间互相争夺角色
  • 只看设备状态不查心跳链路错包与光功率,隐患长期存在
  • 组网时两台设备落在同一故障域,一次断电两台同时下线
  • 检测参数调得过激,链路抖动就切换,业务体验反而变差

数据来源与参考

  • 华为 USG6000 产品文档:双机可靠性
  • 通用高可用设计实践
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌