配置群集故障切换参数
机箱群集中的 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 秒后,辅助节点状态将变为 Disabled。
当控制链路关闭时,将生成系统日志消息。
控制链路故障定义为未通过控制链路接收检测信号,而仍通过结构链路接收检测信号。
如果发生合法的控制链路故障,冗余组 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 设备),则检查是否在任一控制链路上接收到至少三个连续检测信号。这是为了确保控制链路不会发生抖动并且运行正常。
在确定控制链路运行正常后,当控制链路发生故障时,无论节点的状态如何(不合格或禁用),系统都会发出自动重新启动命令。节点重新启动时,可以重新加入群集。无需任何手动干预。
在此示例中,您将启用机箱群集控制链路恢复。
配置
程序
分步过程
要启用机箱群集 control-link-recovery,请执行以下作:
启用控制链路恢复。
{primary:node0}[edit] user@host# set chassis cluster control-link-recovery如果完成设备配置,请提交配置。
{primary:node0}[edit] user@host# commit