本节介绍了在使用高可用性拓扑的 Edge 部署中,用于检测和防止脑裂状态的机制。
在高可用性部署中,有两种机制可用于检测和防止脑裂情况(该情况下,两个 HA Edge 都变为活动状态)。
第一种机制是,在设备之间的 HA 检测信号链路丢失的情况下,在两个 HA Edge 之间发送第 2 层广播检测信号。第 2 层广播 (EtherType 0x9999) 检测信号会从活动 Edge 在其所有 WAN 接口上发送,以便在该广播网络中找到备用 Edge。当备用 Edge 收到该数据包时,它会将数据包解释为维持其当前备用状态的一种指示。此机制由传统高可用性部署使用,在该部署中,两个 HA Edge 的 WAN 端口均连接到同一个第 2 层交换机。
用于检测和防止脑裂情况的第二种机制是,利用 HA Edge 使用的主网关。这种机制是在增强型高可用性部署中检测和防止脑裂的唯一方法,因为该拓扑不会将两个 HA Edge 都连接到上游第 2 层交换机。
网关具有到活动 Edge (VCE1) 的预先存在的连接。在脑裂情况下,备用 Edge (VCE2) 将状态更改为“活动”,并尝试与网关 (VCG) 建立隧道。网关将响应发回到备用 Edge (VCE2),以通知它变为“备用”状态,并且不允许建立隧道。网关仅保留其与活动 Edge 之间的隧道。事件的顺序如下所示:
一旦 HA 链路生故障,VCE2 就将变为“活动”状态并启用 LAN/WAN 端口,然后尝试与主网关建立隧道。如果 VCE1 仍具有隧道,则主网关会指示 VCE2 恢复为“备用”状态,因此 VCE2 会阻止其 LAN 端口。仅 LAN 接口保持阻止状态(只要 HA 电缆中断)。正如下图所示,网关指示 VCE2 变为“备用”状态。从逻辑上讲,这会防止出现脑裂情况。
将“HA 故障切换检测时间倍数”(HA Failover Detection Time Multiplier) 设置为高于默认值,可以降低在这种场景中出现脑裂状态的风险。默认值为 700 毫秒 (ms),此值最多可以增加到 7000 毫秒。有关更多信息,请参阅激活高可用性。