配置群集故障切换参数
机箱群集中的 SRX 系列设备使用心跳传输来确定控制链路的“运行状况”。如果未错过的心跳数已达到配置的阈值,系统将评估是否存在故障情况。有关更多信息,请参阅以下主题:
了解机箱群集控制链路心跳、故障和恢复
了解机箱群集控制链路心跳
在配置 机箱群集时,请指定心跳阈值和心跳间隔。
系统默认监控控制链路的状态。
对于在SRX5600线路和SRX5800线路上支持的双控制链路,瞻博网络服务冗余协议进程 (jsrpd) 会在两个控制链路上发送和接收控制心跳消息。只要其中一个控制链路上收到心跳,Junos OS 就会认为另一个节点处于活动状态。
选项heartbeat-interval
产品和heartbeat-threshold
选项定义触发故障转移前的等待时间。这些选项的默认值会产生 3 秒的等待时间。如果心跳阈值为 5,心跳间隔为 1000 毫秒,则等待时间为 5 秒。将心跳阈值设置为 4,并将心跳间隔设置为 1250 毫秒,也会产生 5 秒的等待时间。
在机箱群集环境中,如果使用了 1000 多个逻辑接口,建议将群集心跳计时器从默认的 3 秒增加到 3 秒。如果SRX4600、SRX5400、SRX5600或SRX5800设备的最大容量,我们建议您在故障转移前将配置的时间增加到至少 5 秒。
了解机箱群集控制链路故障和恢复
如果控制链路发生故障,Junos OS 将辅助节点的操作状态更改为没有资格进行 180 秒倒计时。如果交换矩阵链路在 180 秒内也发生故障,Junos OS 将辅助节点更改为主节点;否则,在 180 秒后,辅助节点状态将变为禁用。
控制链路关闭时,将生成系统日志消息。
控制链路故障定义为,当心跳仍然通过交换矩阵链路接收时,通过控制链路未接收心跳。
如果出现合法控制链路故障,则冗余组 0 在当前为主节点上保持主状态,主节点上的不活动冗余组 x 将变为活动状态,辅助节点将进入禁用状态。
禁用辅助节点后,您仍然可以登录管理端口并运行诊断程序。
要确定是否发生了合法控制链路故障,系统依赖于通过控制链路和交换矩阵链路发送的冗余实时线路信号。
系统定期通过交换矩阵链路传输探测器,并通过控制链路传输心跳信号。探测器和心跳信号共享一个通用序列号,用于将其映射到一个独特的时间事件。如果存在以下两个条件,Junos OS 会识别合法控制链路故障:
心跳阈值数丢失。
交换矩阵链路上至少接收了一个序列号与缺失的心跳信号对应的探测器。
如果控制链路发生故障,则开始 180 秒倒计时,辅助节点状态不符合条件。如果交换矩阵链路在第 180 秒倒计时为零之前出现故障,则辅助节点将成为主节点,因为系统会将两条链路的丢失解释为另一个节点已失效。由于同时失去控制和交换矩阵链路意味着节点不再同步状态或比较优先级,因此两个节点都可能暂时成为主节点,而这种状态不稳定。但是,重新建立控制链路后,优先级值较高的节点会自动成为主节点,另一个节点将成为辅助节点,群集将恢复正常操作。
发生合法控制链路故障时,适用以下条件:
冗余组 0 在当前处于主要状态的节点上保持主状态(因此其路由引擎保持活动),节点上的所有冗余组 x 都将成为主节点。
如果系统无法确定哪个路由引擎是主要路由引擎,则冗余组 0 优先级值较高的节点为主节点,其路由引擎处于活动状态。(当您为冗余组 0 配置语句时,请为每个节点配置
redundancy-group
优先级。)系统将禁用辅助节点。
要从禁用模式恢复设备,必须重新启动设备。重新启动禁用的节点时,该节点会将其动态状态与主节点同步。
如果在禁用辅助节点时对配置进行任何更改,请在重新启动节点后执行 commit 命令以同步配置。如果未进行配置更改,则配置文件将保持与主节点的同步。
您不能为冗余组 0 启用抢占。如果要更改冗余组 0 的主节点,必须执行手动故障切换。
使用双控制链路(在SRX5600和SRX5800设备上受支持)时,请注意以下情况:
在控制链路故障期间,主机入站或出站流量可能会受到影响长达 3 秒。例如,假设冗余组 0 在节点 0 上是主要,而通过节点 1 上的网络接口端口与路由引擎有 Telnet 会话。如果当前活动控制链路出现故障,Telnet 会话将丢失数据包 3 秒,直到检测到此故障。
在跨两个节点运行提交流程时发生的控制链路故障可能会导致提交失败。在这种情况下,3 秒后再次运行 commit 命令。
对于SRX5600和SRX5800设备,双控制链路需要在 机箱群集的每个节点上都有另一个路由引擎。
您可以通过设置 control-link-recovery
语句指定由系统自动执行控制链路恢复。在这种情况下,一旦系统确定控制链路正常运行,就会在禁用的节点上发出自动重新启动。禁用的节点重新启动时,该节点将再次加入群集。
示例:配置机箱群集控制链路恢复
此示例说明如何启用控制链路恢复,这样系统就可以在控制链路从故障中恢复后自动接管。
要求
开始之前:
了解机箱群集控制链路。请参阅 了解机箱群集控制平面和控制链路。
了解机箱群集双控制链路。请参阅 了解机箱群集双控制链路。
连接机箱群集中的双控制链路。请参阅 机箱群集中 SRX 系列防火墙的双控制链路连接。
概述
您可以启用系统自动执行控制链路恢复。恢复控制链路后,系统将采取以下措施:
它会检查是否在控制链路上收到至少三个连续的心跳,或者,如果是双控制链路(仅限SRX5600和SRX5800设备),则是否在任一控制链路上接收连续三个心跳。这是为了确保控制链路不会翻动且运行正常。
确定控制链路正常运行后,当控制链路出现故障时,无论节点的状态(不符合资格或禁用)如何,系统都自动重新启动。节点重新启动时,它可以重新加入群集。无需任何手动干预。
在此示例中,您启用机箱群集控制链路恢复。
配置
程序
逐步过程
要启用机箱群集控制链路恢复:
启用控制链路恢复。
{primary:node0}[edit] user@host# set chassis cluster control-link-recovery
完成设备配置后,提交配置。
{primary:node0}[edit] user@host# commit