配置群集故障切换参数
机箱集群中的 SRX 系列设备使用心跳传输来确定控制链路的“运行状况”。如果心跳丢失的数量已达到配置的阈值,系统将评估是否存在故障情况。有关更多信息,请参阅以下主题:
了解机箱群集控制链路 心跳、故障和恢复
了解机箱群集控制链路心跳
配置 机箱群集时,请指定心跳阈值和心跳间隔。
系统默认监控控制链路的状态。
对于 SRX5600 和 SRX5800 系列上支持的双控制链路,瞻博网络服务冗余协议进程 (jsrpd) 会在两个控制链路上发送并接收控制心跳消息。只要在一个控制链路上收到心跳,Junos OS 就会认为另一个节点还活着。
选项和heartbeat-interval
选项的产品heartbeat-threshold
定义了触发故障转移之前的等待时间。这些选项的默认值会产生 3 秒的等待时间。心跳阈值 5 和 1000 毫秒的心跳间隔将产生 5 秒的等待时间。将心跳阈值设置为 4,将心跳间隔设置为 1250 毫秒也会产生 5 秒的等待时间。
在机箱群集环境中,如果使用了 1000 多个逻辑接口,则建议将群集心跳定时器从默认值增加 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