上行链路故障检测
上行链路故障检测可检测上行链路接口上的故障,并将此信息通告至下行链路接口,从而可以切换接口以避免流量丢失。以下主题将讨论上行链路故障检测的功能以及配置和验证其工作的步骤。
上行链路故障检测概述
上行链路故障检测允许交换机检测上行链路接口上的链路故障,并将此信息传播到下行链路接口,以便连接到这些下行链路的服务器可以切换到辅助接口。
上行链路故障检测支持网络适配器成组并提供网络冗余。在网络适配器组合中,服务器上的所有网络接口卡 (NIC) 都配置在主要关系或辅助关系中,并共享相同的 IP 地址。当主链路断开时,服务器会透明地将连接转移到辅助链路。借助上行链路故障检测,交换机可以监控上行链路接口的链路故障。当它检测到故障时,它会禁用下行链路接口。当服务器检测到已禁用的下行链路接口时,会切换到辅助链路,以帮助确保故障链路的流量不会被丢弃。
本主题将介绍如下内容:
上行链路故障检测配置
上行链路故障检测允许交换机监控上行链路接口以发现链路故障。当交换机检测到链路故障时,会自动禁用绑定上行链路接口的下行链路接口。连接到已禁用的下行链路接口的服务器会触发网络适配器故障切换到辅助链路,以避免任何流量丢失。
图 1 显示了上行链路故障检测的典型设置。

对于上行链路故障检测,您可以指定一组在上行链路发生故障时要监控的上行链路接口和要关闭的下行链路接口。下行链路接口绑定到组内的上行链路接口。如果组中的所有上行链路接口都出现故障,则交换机会关闭该组中的所有下行链路接口。如果任何上行链路接口恢复服务,交换机会使该组中的所有下行链路接口恢复服务。
交换机可以监控物理接口链路和 逻辑接口 链路是否存在上行链路故障,但您必须将这两种类型的接口分成不同的组。
对于逻辑接口,服务器必须在交换机和服务器之间发送激活,以检测逻辑链路的故障。
故障检测对
上行链路故障检测要求您在组中创建上行链路和下行链路接口对。每对都包含以下各项之一:
链路到监控接口 — 链路到监控接口指定交换机监控的上行链路。您最多可以将 48 个上行链路接口配置为组的链路到监控接口。
链路到禁用接口 — 链路到禁用接口指定交换机检测到上行链路故障时交换机禁用的下行链路。您最多可以配置 48 个下行链路,以便在组中禁用。
链路到禁用接口绑定到组内的链路到监控接口。当链路到监控接口恢复服务时,交换机会自动启用组中的所有链路到禁用接口。
去抖动间隔
去抖动间隔是指在上行链路接口发生相应状态更改后,在启动下行链路接口之前经过的时间(以秒为单位)。您可以为上行链路故障检测组配置去抖动间隔。如果没有去抖动间隔配置,下行链路接口会在上行链路接口发生状态更改后立即启动,这可能会对下行链路接口进行不必要的状态更改,并在连接到这些端口的服务器上引入不必要的故障转移。
如果上行链路接口在去抖动间隔期间出现故障,则当上行链路接口重新启动时,就会启动去抖动计时器。如果上行链路接口在去抖动间隔到期前关闭,则当上行链路接口重新启动时,去跳出计时器将重新启动。
对去抖动间隔所做的任何更改都会立即生效。如果在退振计时器生效时对退振间隔进行更改,则如果新的到期时间在未来,则将进行更改。否则,计时器会立即停止。
如果上行链路故障检测在去抖动间隔内重新启动,则去抖动计时器将重置,并且重新启动上行链路故障检测之前经过的时间将丢失。链路到禁用接口无需等待去抖动间隔过去即可启动。
如果 link-to-disable 接口在 debounce 计时器过期后未启动,则 debback 计时器过期的时间与 link-to-disable 接口实际启动的时间之间可能存在延迟。
配置接口以检测上行链路故障
您可以配置上行链路故障检测来帮助确保均衡的流量。使用该功能,交换机可以监测和检测上行链路接口上的链路故障,并将故障信息传播到下行链路接口,以便连接到这些下行链路的服务器可以切换到辅助接口。
请遵循以下配置准则:
仅在一个组中配置接口。
为每台交换机最多配置 48 组。
每个组最多配置 48 个要监控的上行链路,最多 48 个要禁用的下行链路。
在单独的组中配置物理链路和逻辑链路。
要在交换机上配置上行链路故障检测:
配置上行链路故障检测组后,使用 show uplink-failure-detection group (Uplink Failure Detection) group-name 命令验证该组中的所有接口是否都已开启。如果接口关闭,上行链路故障检测将无法正常工作。
示例:配置上行链路故障检测接口
上行链路故障检测允许交换机检测上行链路接口上的链路故障,并将故障信息传播到下行链路接口。服务器上的所有网络接口卡 (NIC) 都配置为主链路或辅助链路,并共享相同的 IP 地址。当主链路中断时,服务器会透明地将连接转移到辅助链路,以确保故障链路上的流量不会被丢弃。
此示例描述:
要求
此示例使用以下软件和硬件组件:
QFX 系列的 Junos OS 19.2R1 或更高版本
两台 QFX5100、QFX5110、QFX5120、QFX5200 或 QFX5210 交换机
两台聚合交换机
一台双宿主服务器
概述和拓扑
此示例中的拓扑说明如何在交换机 1 和交换机 B 上配置上行链路故障检测。交换机 1 和交换机 2 均配置了链路到监控接口(聚合交换机的上行链路接口)和链路禁用接口(到服务器的下行链路接口)。为简单起见,每台交换机仅配置一组链路到监控接口和链路到禁用接口。服务器对交换机 1 和交换机 2 都有双宿主。在这种情况下,如果禁用了通往交换机 1 的链路到监控接口,服务器将改用到交换机 2 的链路到监控接口。
此示例不介绍如何配置双宿主服务器或聚合交换机。有关详细信息,请参阅这些设备的文档。
图 2 显示了上行链路故障检测的典型设置。

表 1 列出了每台QFX3500交换机的上行链路故障设置。
拓扑学
交换机 1 | 、交换机 2 |
---|---|
|
|
在两台交换机上配置上行链路故障检测
要在两台交换机上配置上行链路故障检测,请执行以下任务。
程序
CLI 快速配置
要在交换机 1 和交换机 2 上快速配置上行链路故障保护,请复制以下命令并将其粘贴到交换机终端窗口中:
[edit protocols] set uplink-failure-detection group group1 set uplink-failure-detection group group2 set uplink-failure-detection group group1 link-to-monitor xe-0/0/0 set uplink-failure-detection group group1 debounce-interval 20 set uplink-failure-detection group group2 link-to-monitor xe-0/0/0 set uplink-failure-detection group group2 debounce-interval 20 set uplink-failure-detection group group1 link-to-disable xe-0/0/1 set uplink-failure-detection group group2 link-to-disable xe-0/0/1
分步过程
要在两台交换机上配置上行链路故障保护:
为交换机 1 上的上行链路故障检测组指定名称:
[edit protocols] user@switch# set uplink-failure-detection group group1
将上行链路接口添加到交换机 1 上的组:
[edit protocols] user@switch# set uplink-failure-detection group group1 link-to-monitor xe-0/0/0
将下行链路接口添加到交换机 1 上的组:
[edit protocols] user@switch# set uplink-failure-detection group group1 link-to-disable xe-0/0/1
配置交换机 1 上 group1 的去抖动间隔:
[edit protocols] user@switch# set uplink-failure-detection group group1 debounce-interval 20
为交换机 2 上的上行链路故障检测组指定名称:
[edit protocols] user@switch# set uplink-failure-detection group group2
将上行链路接口添加到交换机 2 上的组:
[edit protocols] user@switch# set uplink-failure-detection group group2 link-to-monitor xe-0/0/0
配置交换机 1 上 group2 的去抖动间隔:
[edit protocols] user@switch# set uplink-failure-detection group group2 debounce-interval 20
将下行链路接口添加到交换机 2 上的组:
[edit protocols] user@switch# set uplink-failure-detection group group2 link-to-disable xe-0/0/1
结果
显示配置结果:
uplink-failure-detection { group { group1 { debounce-interval 20; link-to-monitor { xe-0/0/0; } link-to-disable { xe-0/0/1; } } group2 { debounce-interval 20; link-to-monitor { xe-0/0/0; } link-to-disable { xe-0/0/1; } } } }
验证
要验证上行链路故障检测是否正常工作,请在交换机 1 和交换机 2 上执行以下操作:
验证上行链路故障检测是否正常工作
目的
验证交换机在检测到上行链路故障时是否禁用下行链路接口。
行动
查看当前上行链路故障检测状态:
user@switch> show uplink-failure-detection Group : group1 Uplink : xe-0/0/0* Downlink : xe-0/0/1* Failure Action : Inactive Debounce Interval : 20
注意:星号 (*) 表示链路已打开。
禁用上行链路接口:
[edit] user@switch# set interface xe-0/0/0 disable
保存交换机上的配置。
查看当前上行链路故障检测状态:
user@switch> show uplink-failure-detection Group : group1 Uplink : xe-0/0/0 Downlink : xe-0/0/1 Failure Action : Active Debounce Interval : 20
意义
步骤 1 中的输出显示上行链路接口已启动,因此下行链路接口也已启动,并且 “故障操作 ”的状态为 “非活动”。
步骤 4 中的输出显示上行链路和下行链路接口均已关闭(接口名称后没有星号), 并且“故障操作 ”的状态已更改为 “活动”。此输出显示上行链路故障检测工作正常。
验证上行链路故障检测是否正常工作
目的
验证交换机在检测到上行链路故障时是否禁用下行链路接口。
行动
查看当前上行链路故障检测状态:
user@switch> show uplink-failure-detection Group : group1 Uplink : xe-0/0/0* Downlink : xe-0/0/1* Failure Action : Inactive Debounce Interval : 20
注意:星号 (*) 表示链路已打开。
禁用上行链路接口:
[edit] user@switch# set interface xe-0/0/0 disable
保存交换机上的配置。
查看当前上行链路故障检测状态:
user@switch> show uplink-failure-detection Group : group1 Uplink : xe-0/0/0 Downlink : xe-0/0/1 Failure Action : Active Debounce Interval : 20
意义
步骤 1 中的输出显示上行链路接口已启动,因此下行链路接口也已启动,并且 “故障操作 ”的状态为 “非活动”。
步骤 4 中的输出显示上行链路和下行链路接口均已关闭(接口名称后没有星号), 并且“故障操作 ”的状态已更改为 “活动”。此输出显示上行链路故障检测工作正常。