交换矩阵弹性
交换矩阵弹性和降级
瞻博网络路由器和交换机具有出色的弹性,可以解决正常运行过程中遇到的故障和错误情况。JUNOS 软件会立即采取措施来修复故障情况,以最大限度地减少流量丢失。无需人工干预。交换矩阵降级可能是导致此类错误情况的原因之一。以下部分介绍了 PFE 如何以弹性方式从这些故障中恢复。
PTX 系列路由器上的数据包转发引擎错误和恢复
数据包转发引擎目标在 PTX 系列路由器上可能无法访问,原因如下:
交换矩阵交换机接口板 (SIB) 因 CLI 命令或按下的物理按钮而脱机。
由于高温条件,结构 SIB 被控制板脱机。
SIB 中的电压或轮询 I/O 错误可由控制板检测。
所有连接的平面上都会发生意外的链路训练错误。
两个数据包转发引擎可以到达交换矩阵,但不能相互访问。
如果两个数据包转发引擎与交换矩阵连接,但未通过公共平面连接,则会发生链路错误。
从 Junos OS 13.3 版开始,您可以使用 PTX 系列路由器配置与数据包转发引擎 (PFE) 相关的错误级别,以及在达到指定阈值时要执行的操作。
如果未定义错误级别,则 PTX 系列路由器将开始恢复过程中的以下阶段:
SIB 重启阶段:路由器尝试通过一个一个地重新启动 SIB 来解决问题。如果 SIB 运行正常且单个线卡面临问题,则此阶段不会开始。
SIB 和线卡重启阶段:路由器重新启动 SIB 和线卡。如果存在线卡在重新启动后无法启动与交换矩阵的高速链路,则与丢失实时流量无关,因为不会为这些线卡创建任何接口,从而防止系统出现问题。
线卡脱机阶段:由于先前的恢复尝试失败,因此会关闭线卡和接口,系统可避免问题和错误情况。
T640、T1600 或 TX Matrix 路由器上的数据包转发引擎错误和恢复
由于以下原因,数据包转发引擎目标在 T640、T1600 或 TX Matrix 路由器上可能无法访问:
交换矩阵交换机接口板 (SIB) 因 CLI 命令或按下的物理按钮而脱机。
由于高温条件,交换处理器夹层板 (SPMB) 导致交换矩阵 SB 脱机。
SMB 会检测到 SIB 中的电压或轮询 I/O 错误。
即使 SIB 联机,所有数据包转发引擎也会从远程数据包转发引擎接收所有平面上的目标错误。
即使 SIB 联机,目标超时也会造成结构完全丢失。
恢复过程包括以下阶段:
路由器一个接一个地重新启动交换矩阵平面。如果交换矩阵平面运行正常且单个线卡出现问题,则此阶段不会开始。
交换矩阵平面和线卡重启阶段:路由器重新启动 SIB 和线卡。如果存在线卡在重新启动后无法启动与交换矩阵的高速链路,则与丢失实时流量无关,因为不会为这些线卡创建任何接口,从而防止系统出现问题。
线卡脱机阶段:由于先前的恢复尝试失败,因此线卡和接口已关闭,系统可避免导致严重后果的问题和错误情况。
从 Junos OS 14.2R6 版开始,如果 SIB 因高电压或高温等极端条件而脱机,那么作为恢复过程的一部分,路由器不会重新启动该 SIB 的交换矩阵平面。
上述分阶段恢复机制详尽无遗,除非存在可能与这些问题相关的其他错误。
从 Junos OS 14.2R6 版开始,您可以通过整合交换矩阵自 ping 和数据包转发引擎活跃机制,在单机箱系统中更好地管理交换矩阵降级。交换矩阵自 ping 是一种检测交换矩阵数据路径中问题的机制。通过使用交换矩阵自 ping 机制,当数据包通过交换矩阵路径发送时,每个数据包转发引擎都会确定发往自己的数据包是否正在到达该数据包。数据包转发引擎的存活性是一种检测数据包转发引擎是否可以在交换矩阵平面上访问的机制。为了验证它是否可访问,数据包转发引擎会定期通过交换矩阵平面发送自发数据包。如果这两种机制检测到任何错误,交换矩阵管理器将发出 交换矩阵降级告警 ,并通过重新启动线卡启动恢复。
MX 系列路由器交换矩阵弹性
MX 路由器提供智能机制,以减少硬件故障情况下的丢包情况。MX 系列路由器通过一系列多层物理、逻辑和协议级别的弹性方面确保网络和服务可用性
MX10008 提供冗余和弹性。包括电源系统、冷却系统和控制板在内的所有主要硬件组件都是完全冗余的。
MX10004 电源系统和路由控制板 (RCB) 提供冗余和弹性。
MX2020 和 MX2010 机箱提供冗余和弹性。包括电源系统、冷却系统、控制板和交换机阵列在内的所有主要硬件组件都是完全冗余的。
交换阵列板 (SFB) 是 MX 路由器机箱中子系统的数据平面。SFB 可创建高度可扩展且具有弹性的“全活动”集中式交换机交换矩阵,为 MX2000 路由器中的每个 MPC 插槽提供高达 4 Tbps 的全双工交换容量。
MX240、MX480 和 MX960 机箱提供冗余和弹性。硬件系统是完全冗余的,包括电源、风扇托盘、路由引擎和交换机控制板。
MX304 路由器包含冗余、可插拔路由引擎,支持多达三个线卡 MIC (LMIC)。
本主题包含以下部分,这些部分介绍了交换矩阵弹性选项、使用的故障检测方法和纠正措施:
恢复交换矩阵连接
数据包转发引擎目标可能由于以下原因而无法访问:
-
由于 CLI 命令或按下的物理按钮,控制面板脱机。
-
结构控制板因高温而脱机。
-
交换矩阵中的电压或轮询的 I/O 错误。
-
即使交换矩阵联机,所有数据包转发引擎也会从远程数据包转发引擎接收所有平面上的目标错误。
-
目标超时造成的交换矩阵完全丢失,即使交换矩阵联机也是如此。
当系统检测到任何无法访问的数据包转发引擎目标时,将尝试恢复交换矩阵连接。如果恢复失败,系统将关闭接口以触发本地保护操作或流量在相邻路由器上进行重新路由。
恢复过程包括以下阶段:
-
交换矩阵平面重启阶段:通过一个接一个地重新启动交换矩阵平面来尝试恢复。如果交换矩阵平面正常运行,并且仅通过一个线卡报告错误,则此阶段不会开始。生成一条错误消息,指定连接丢失是交换矩阵平面脱机的原因。此阶段仅针对交换矩阵平面错误执行。
-
交换矩阵平面和线卡重启阶段:系统等待第一阶段完成,然后再次检查系统状态。如果在执行第一阶段后未恢复连接,或者问题在 10 分钟内再次出现,则通过重新启动交换矩阵平面和线卡来尝试恢复连接。如果在尝试恢复时将语句
[edit chassis fabric degraded]
配置为action-fpc-restart-disable
禁用线卡重新启动,则触发告警以指示已发生连接丢失。在第二阶段,我们采取了三个步骤:-
PFE 上存在目标错误的所有线卡都已脱机。
-
从备用平面开始,交换矩阵平面一个接一个地脱机并重新联机。
-
脱机的线卡重新联机。
-
-
线卡脱机阶段:系统等待第二个阶段完成,然后再次检查系统状态。由于之前的恢复尝试都失败,因此连接丢失会通过脱机线卡和关闭接口来限制。如果问题未通过重新启动线卡解决,或者如果问题在重新启动线卡后 10 分钟内再次出现,则执行此阶段。
这三个阶段由计时器控制。在这些阶段,如果事件(如关闭线卡/内联线卡或交换矩阵平面)超时,则该阶段将跳过该事件并继续下一个事件。计时器控制的超时值为 10 分钟。如果在具有两个或多个线卡的系统中发生第一个交换矩阵错误,则交换矩阵平面将重新启动。如果在接下来的 10 分钟内发生其他交换矩阵错误,将重新启动交换矩阵平面和线卡。但是,如果第二个交换矩阵错误发生在 10 分钟超时期外,则执行第一阶段,即仅重新启动交换矩阵平面。
如果所有目标超时都跟踪到某个线卡(例如,一个源线卡或一个目标线卡),则只有该线卡脱机并联机。交换矩阵平面不会脱机或联机。如果在 10 分钟内发生其他交换矩阵故障,则线卡将脱机。
默认情况下,系统通过检测严重降级的交换矩阵来限制连接丢失时间。无需用户交互。
交换矩阵降级的线卡
您可以将交换矩阵降级的线卡配置为脱机状态。在 MX10008、MX10004、MX2020、MX2010、MX960、MX480、MX304 或 MX240 路由器上,您可以配置链路错误或错误的交换矩阵平面。此配置在部分连接丢失情况下特别有用,因为线卡脱机可加快重新路由速度。要配置线卡上的此选项,请在offline-on-fabric-bandwidth-reduction
层级使用语句[edit chassis fpc slot-number]
。有关详细信息,请参阅 MX304 路由器上的交换矩阵平面管理、MX10K-LC9600 和 SFB2 上的交换矩阵平面管理(型号:JNP10008-SF2)、 MX10004 设备上的交换矩阵平面管理、JNP10K-LC2101 和 JNP10K-LC480、MX10008 设备上的交换矩阵平面管理以及 AS MLC 模块化载卡上的阵列平面管理。
仅针对单个目标的连接丢失
在某些部署中,线卡仅表示与单个目标完全断开连接,但它在其他目标上正常工作。将识别此类情况并恢复受影响的线卡。考虑一个示例方案,其中线卡 0、1、2、3 和备用平面为 4、5、6、7。如果线卡 0 在平面 0 和 1 上出现单条链路故障,而线卡 1 在平面 2 和 3 上出现单条链路故障,则两个线卡之间会出现完全的连接性丢失。线卡 0 和线卡 1 都经历分阶段恢复模式并发生交换矩阵修复。
主动控制面板上的冗余交换矩阵模式
您可以将主动控制板配置为处于冗余模式或增加的交换矩阵带宽模式。要为主动控制板配置冗余模式,请在 redundancy-mode redundant
层级使用语句 [edit chassis fabric]
。
MX 系列路由器上的线卡检测和纠正措施
您可以将线卡配置为在 MX 系列路由器上移动到脱机状态(如 MX10008、MX10004、MX2020、MX2010、MX2008、MX960、MX480 或 MX304、MX240 等)。配置此功能不会影响系统。您可以配置此功能,而无需重新启动线卡或重新启动系统。
配置功能以禁用线卡时,可能会发生以下情况:
-
-
如果由于交换矩阵错误导致线卡脱机,并且禁用了将线卡移动到脱机状态的此功能,则线卡会自动过渡到联机状态。
-
如果由于交换矩阵错误导致线卡脱机,并且已针对其他线卡禁用或配置了将线卡移动到脱机状态的功能,则已脱机的线卡会自动过渡到联机状态。
-
当您在层次结构级别下
[edit chassis]
提交任何配置时,所有脱机的线卡都会重新联机。同样,重新启动机箱守护程序或 平滑路由引擎切换 (GRES) 操作也会导致由于交换矩阵降级而禁用的线卡移动到联机状态。
当线卡运行的有源交换矩阵平面数量少于所需数量时。如果一个线卡的平面不超过四个,则交换矩阵流量的带宽会降低。
以下情况可能会导致交换矩阵的操作带宽减少:
-
交换矩阵控制板会因意外突然关闭而脱机。
-
特定于应用的集成电路 (ASIC) 错误导致控制板的平面自动脱机。
-
手动将交换矩阵平面或控制板调至脱机状态。
-
卸下控制板
-
任何平面上的自 ping 故障。
-
有源平面的 HSL2 训练失败。
-
如果备用交换矩阵平面有 CRC 错误,并且此备用平面联机,则禁用具有 CRC 错误的链路。此机制可能会导致一个方向的交换矩阵降级,另一个方向上也可能导致空路由。
-
发生自 ping 或 HSL2 训练故障时,特定线卡将禁用交换矩阵平面,而其他线卡则处于联机状态。此情况也可能导致空路由。
如果需要在系统维护期间卸下控制板或将交换矩阵平面移动到脱机状态,则必须启用此功能,将带宽降低的线卡转为脱机状态(通过使用 offline-on-fabric-bandwidth-reduction
层级的 [edit chassis fpc slot-number]
语句)。
当交换矩阵中出现空路由或减少的操作带宽时,将执行以下纠正措施:
-
无论是否有备用控制板,路由引擎将每 5 秒监控一次每个线卡的自 ping 状态。交换矩阵管理器确定是否存在备用控制板
-
交换矩阵托管在 MX10008、MX10004、MX2020、MX2010 和 MX2000 设备上的交换阵列板 (SFB) 上:
-
MX10008 路由器有 8 个线卡插槽,最多可支持 768 个 100 千兆以太网端口 (4x100)、192 个 40 千兆以太网端口、 192 个 100 千兆以太网端口或 192 个 400 千兆以太网端口,线卡插槽 0-7,将数据包转发引擎 (PFE) 和以太网接口组合在一个组件中。MX10008 支持六个交换阵列板 (SFB)有两种 SFB 型号:JNP10008-SF2 和 JNP10008-SF2。在运行的机箱中,已安装的 SFB 必须具有相同的型号类型。
有关详细信息,请参阅 MX10008 设备上的交换矩阵平面管理
-
MX10004 采用紧凑型 7-U 模块化机箱,线卡插槽 0-3 芯片线卡(2.4 Tbps、480 Gbps 和 9.6 Tbps 吞吐量),具有完全的硬件冗余。交换阵列板 (SFB) 为 MX10004 创建交换阵列。每个 SFB 都有一组到线卡的连接器,以及路由和控制板 (RCB) 到交换机交换矩阵。三个 SFB 为 MX10004 路由器提供简化的交换功能。六个 SFB 提供全吞吐量。每个 MX10004 SFB 都有四个连接器。每个连接器均配备一个线卡插槽,无需底板。
有关交换矩阵平面管理的详细信息,请参阅 MX10004 设备上的交换矩阵平面管理。
-
MX10003 路由器包含模块化路由引擎和 PFE。单个 PFE 同时执行入口和出口数据包转发。路由器提供两个专用线卡插槽。该路由器支持一个主要和两个冗余路由和控制板 (RCB)。
-
MX2020 和 MX2010 设备支持 8 个 SFB。Mx2020 有 20 个专用线卡插槽。MX2010 路由器有 10 个专用线卡插槽主机子系统由两个带有路由引擎 (CBRES) 的控制板和八个交换阵列板 (SFB) 组成。数据包通过 SFB 上的交换矩阵 ASIC 在 MPC 之间的背板上进行传输。
交换阵列板 (SFB) 可增加每个插槽的交换阵列带宽。最多 8 个 SFB、SFB2 或
SFB3 可以安装在 MX2020 或 MX2010 路由器中。机箱中的所有交换阵列板类型必须相同。不支持混合模式。
-
MX960 路由器,带有 I 芯片或 I 芯片和基于 Trio 芯片的线卡,包含三个控制板。
-
MX240 或 MX480 路由器,带有 I 芯片或 I 芯片以及基于 Trio 芯片的线卡,包含两个控制板。
-
仅包含基于 Trio 的线卡的 MX960、MX480 或 MX240 路由器不被视为包含备用控制板。
如果在 5 秒的任何此类间隔内,两个线卡表示同一平面出现故障,请切换到备用控制板。在这种情况下,报告错误的控制板脱机,备用控制板联机。
-
-
如果有备用控制板,并且配置了禁用线卡的功能,则路由引擎将每 5 秒监控一次每个线卡的自 ping 状态。可能发生以下情况:
-
在任何 5 秒的间隔内,如果只有一个线卡表示某个平面出现故障,交换矩阵管理器将等待下一个间隔。在随后的间隔内,如果没有其他线卡表示同一平面出现故障,将切换控制板。
-
在任何 5 秒的间隔内,如果多个线卡显示多个控制板出现故障,交换矩阵管理器将等待下一个间隔。在随后的间隔内,如果情况相同,即使存在备用控制板,所有故障的线卡也会脱机。
-
在任何 5 秒的间隔内,如果任何线卡在多个控制面板上显示多个平面故障,交换矩阵管理器将等待下一个间隔。在随后的间隔内,如果相同情况仍然存在,即使存在备用控制板,线卡也会脱机。
-
-
如果备用平面不可用,当线卡显示单个平面或多个平面的故障时,线卡将脱机。仅当您之前在
[edit chassis fpc slot-number]
层次结构级别配置语句时offline-on-fabric-bandwidth-reduction
,线卡才会脱机。
了解 T4000 路由器上的交换矩阵故障处理
T4000 路由器由交换接口板 (SIB) 组成,其交换矩阵带宽是 T1600 路由器容量的两倍。交换矩阵故障管理功能与 T1600 路由器的功能类似。本主题介绍 T4000 路由器上的交换矩阵故障处理功能。
交换矩阵故障管理功能涉及监控连接到交换矩阵和交换矩阵核心中的所有高速链路,以检测链路故障和链路错误。
根据故障及其位置采取措施。操作包括:
报告系统日志文件中的链路错误,并将此信息发送到路由引擎。
报告灵活端口集中器 (FPC) 或 SIB 的链路故障,并将此信息发送到路由引擎。
在状态中
Check
标记 SIB。将 SIB 移入
Fault
状态。
T4000 路由器中的 SIB 以 4:1 冗余构成交换矩阵的核心 — 当主动 SIB 失效、停用或删除时,冗余 SIB 将变为活动状态。以下是由 Junos OS 监控的交换矩阵故障的高级指示:
每当将 SIB 报告为
Check
或Fault
时,将生成 SNMP 陷阱。show chassis alarms
- 指示 SIB 处于Check
或Fault
状态。show chassis sibs
-指示 SIB 初始化时,SIB 处于Check
或Fault
状态,或者 SIB 处于Offline
状态(当 SIB 未完全开机时会发生)。show chassis fabric fpcs
- 指示 FPC 端是否有任何交换矩阵链路出错。show chassis fabric sibs
- 指示 SIB 侧是否有任何交换矩阵链路出现错误。/var/log/messages
路由引擎上的系统日志文件有带有前缀CHASSISD_FM_ERROR
的错误消息。SIB 显示
FAIL
LED。
机箱中的交换矩阵平面确定机箱是 T640 路由器、T1600 路由器还是 T4000 路由器。电源入口模块 (PEM)、FPC 或风扇托架不确定机箱的个性。如果 T4000 机箱中存在旧 PEM 或风扇托架,将发出警报。您可以根据路由器的交换矩阵平面来识别路由器:
如果存在的所有平面都是基于 F16 的 SIB,则机箱为 T640 机箱。
如果存在的所有平面都是基于 SF 的 SIB,则机箱为 T1600 机箱。
如果存在的所有平面都是基于 XF 的 SIB,则机箱为 T4000 机箱。
请注意,除非升级期间,否则交换矩阵平面混合并非受支持的配置。您可以通过更改所有交换矩阵平面并发出 set chassis fabric upgrade-mode
CLI 命令检查个性来更改机箱的个性,而无需重新启动。如果不发出 set chassis fabric upgrade-mode
CLI 命令,则个性在下次启动之前不会更改。
在 T4000 路由器中,您遇到以下故障:
板级故障 — 这些故障发生在初始化期间或运行时期间。板级故障的示例包括板级故障、高速链路传输错误和运行时的轮询 I/O 错误。
链路级故障 — 这些故障发生在初始化期间或运行时期间。初始化时的链路训练故障(当 FPC 或 SIB 初始化时要训练的 SIB 之间的数据平面链路故障)、SIB 与数据包转发引擎之间的通道上检测到的错误、在运行时检测到的循环冗余校验 (CRC) 错误和数据包转发引擎目标错误等链路级别故障类型。
故障(基于环境条件)— 这些故障发生在运行时。突然移除 FPC 或 SIB 可能会导致操作员出错。当 SIB 变热或 SIB 电压超过阈值时,生成的错误会分为环境错误。
您可以实施以下其中一个选项来处理故障:
记录错误并发出告警。
切换到备用平面(如果可用)。
继续减少飞机的零件数量。
继续减少可用平面的数量。
使用基于轮询的故障处理。
监控高速链路错误,并手动将链路调低到适当的阈值。
每 500 毫秒监控一次轮询的 I/O 错误和链路错误,每 10 秒监控板排气温度和板电压。
了解 PTX5000 数据包传输路由器上的交换矩阵故障处理
从 Junos OS 14.1 版开始,PTX5000 数据包传输路由器支持 9 个交换接口板 (SIB)。每个 FPC2-PTX-P1A FPC 都支持每插槽 1Tb 的容量,从而使交换矩阵带宽达到每秒 16 TBps (Tbps),全双工(8 Tbps 的任意到任意到任意、非阻塞、半双工)交换。
交换矩阵故障管理功能涉及监控连接到交换矩阵和交换矩阵核心中的所有高速链路,以检测链路故障和链路错误。
PTX5000 中发生的故障大致可分类为:
板故障 — 初始化期间或运行时 SIB 或灵活端口集中器 (FPC) 中出现的故障,包括路由器组件访问 SIB 或 FPC 时出现的问题,或中板故障引起的故障。
链路故障 — 初始化期间或运行时在路由器高级链路上发生的故障。
环境条件造成的故障 — 由于过电压或过温而发生的故障;由于操作员不当处理 SIB 或 FPC 等造成的故障。
路由器会根据故障类别和故障位置采取措施。操作包括:
报告系统日志文件中的链路错误,并将此信息发送到路由引擎。
显示运行 表 1 中列出的其中一个操作命令时出现链路错误:
表 1:操作模式命令列表 操作模式命令
描述
show chassis sibs
显示交换机接口板 (SIB) 状态信息。
show chassis fabric fpcs <slot number>
显示指定 FPC 插槽的交换矩阵状态。如果未提供任何插槽编号,则显示所有 FPC 的状态。
show chassis fabric sibs <slot number>
显示 SIB 和 FPC 之间的电气交换矩阵链路状态。
show chassis fabric reachability <detail>
显示交换矩阵目标可访问性的当前状态。
show chassis fabric unreachable-destinations
显示已从可访问状态过渡到无法访问状态的目的地列表。
show pfe statistics error
显示数据包转发引擎错误统计信息。
show chassis fabric topology <sib_slot>
显示输入-输出链路拓扑。
show chassis fabric summary
显示所有交换矩阵平面的状态和已用正常运行时间。
报告 FPC 级别或 SIB 级别的链路故障,并将此信息发送到路由引擎。
报告操作命令中的
show chassis alarms
链路错误信息。将 SIB 移入 故障 状态。
以下部分介绍了 PTX5000 上的交换矩阵故障处理功能:
SIB 级故障
以下部分简要概述了 SIB 上发生的故障类型以及处理方式:
SIB 上发生的故障类型
在初始化期间和运行时,SIB 上会出现板故障和链路故障。某些故障的发生是由于环境条件(如过电压或温度过温),或者操作员处理不当 SIB。
运行 表 1 中列出的操作模式命令以检测故障。
在 SIB 初始化和运行时期间,可能发生以下故障:
板故障,例如 SIB 无法通电、ASIC 重置故障、交换机处理器夹层板 (SPMB) 轮询的 ASIC I/O 接入故障、板组件故障(如 PIC 故障)或路由器组件接入故障。
链路故障,如链路训练期间发生的高级 链路错误。
由于环境条件或操作员对 SIB 处理不当而发生的故障。
处理 SIB 级故障
以下列表说明了路由器如何处理在初始化期间、运行时、环境条件以及操作员处理 SIB 不当造成的故障:
为了在初始化期间处理 SIB 上的板故障,机箱守护程序(机箱已)将 SIB 标记为 故障 状态。将 SIB 标记为故障后,此 SIB 上不会执行任何操作。
为了在运行时处理 SIB 上的板故障,机箱会在系统日志文件中记录错误,引发报警指示错误类型,并将 SIB 标记为故障。将 SIB 标记为故障后,此 SIB 上不会执行任何操作。
当 SIB 运行时(链路训练期间出现链路错误)时,要处理 SIB 上的链路故障,机箱会通知发生错误的链路对应的 FPC,以禁用指向受影响的 SIB 的链路。然后,机箱向路由器中的所有其他 FPC 发送一条错误消息,停止使用失败的 SIB 链路,并生成链路错误告警。请注意,当多个 FPC 报告给定 SIB 的错误时,所有 FPC 都会禁用 SIB,并且数据包转发引擎不会通过受影响的 SIB 发送任何流量。
要处理运行时 SIB 上的链路故障,机箱将 SIB 标记为故障并指定错误原因,并且 SIB 已禁用。
如果出现环境故障(过电压或过温度)时,SIB 会立即脱机。请注意,随着温度或电压的上升,错误会定期记录,当 SIB 超过某个阈值电压或温度时,它将脱机。
当 SIB 突然被移除或移开时,所有受影响的数据包转发引擎都会停止使用该平面来访问路由器中的其他数据包转发引擎。
FPC 级故障
以下部分简要概述了 FPC 上发生的故障类型及处理方式:
FPC 上发生的故障类型
FPC 在初始化期间和运行时期间发生板故障和链路故障。有些故障也由于环境条件(如过电压、过热或操作员处理不当 FPC 时)而发生。
运行 表 1 中列出的操作命令以检测故障。
在 FPC 初始化和运行时期间,可能发生以下故障:
板故障,例如 FPC 无法通电、ASIC 无法退出重置阶段、PMB 轮询的 I/O 接入故障、板组件故障(例如 PIC 故障或路由器组件访问故障)。
链路故障,如链路训练期间发生的高级链路错误。
由于环境条件或操作员对 FPC 的处理不当而发生的故障。
处理 FPC 级故障
以下列表说明了路由器如何处理 FPC 在初始化期间、运行时、环境条件以及操作员处理不当在 FPC 上发生的故障:
要处理 FPC 在初始化过程中的板故障,机箱标记 FPC 处于 故障 状态。将 SIB 标记为故障后,此 FPC 上不会执行任何操作。
为了在运行时处理 FPC 上的板故障,机箱会在系统日志文件中记录错误,引发报警指示错误类型,并将 FPC 标记为有故障。FPC 被标记为故障后,此 FPC 上不会发生任何操作。
为了在初始化或运行时处理 FPC 上的板载链路错误,FPC 将被关闭,所有受影响的数据包转发引擎都停止使用该平面来访问路由器中的其他数据包转发引擎。
注意:由于交换矩阵的链路训练过程尚未完成,因此在初始化过程中不会关闭任何平面。
运行时期间的板载链路错误会根据当前配置进行解决;重新启动 FPC 或记录错误,然后 FPC 继续初始化。
如果出现环境故障(过电压或过温)时,FPC 会立即脱机。请注意,随着温度或电压的上升,会定期记录错误,当 FPC 超过某个阈值电压或温度时,它将脱机。
当 FPC 突然被移除或丢弃时,所有其他数据包转发引擎都会停止向此 FPC 中的数据包转发引擎发送流量。
了解增强型交换阵列板上的交换矩阵故障处理 (SFB2)
MX2000 系列路由器支持交换阵列板 (SFB) 和增强型 SFB (SFB2),但不能同时支持两者。SFB 和 SFB2 分别托管三个交换矩阵平面。因此,机箱总共支持 24 个平面。Junos OS 15.1F6 和 16.1R1 版支持 SFB 和 SFB2 中每个平面的交换矩阵故障处理。在早期版本中,每个 SFB 都支持交换矩阵故障处理,而不是每个平面。
表 2 列出了每个平面和每个 SFB 的交换矩阵故障处理之间的差异。
SFB 级别 (SFB) |
平面级别(SFB 和 SFB2) |
---|---|
SFB 上任何链路上的循环冗余校验 (CRC) 错误在 SFB 上表示。 |
平面上会指示 SFB 或 SFB2 上任何链路上的 CRC 错误。 |
遇到目标错误时,线卡会隔离 SFB(所有 3 个平面)。 |
遇到目标错误时,线卡会隔离相应的平面。其他飞机继续运行。 |
每个平面的交换矩阵故障处理具有以下优势:
粒度提高,有助于识别、隔离和修复故障。
告警和日志消息提供每个平面的故障信息,而不是每个 SFB,这使得调试更容易。
如果一个 SFB 有一个故障平面,则其他两个平面可以继续运行。无需使整个 SFB 脱机。
如果出现瞬时错误,在修复时,可以隔离单个平面,而不是隔离弹跳的 SFB。
要查看所有 24 个平面的交换矩阵故障处理信息,可将选项与现有交换矩阵命令配合使用 extended
。
管理带宽降级
某些错误会导致系统在没有通知的情况下丢弃数据包。其他连接的系统继续将流量转发到受影响的系统,从而影响网络性能。严重降级的交换矩阵平面可能是这里的原因之一。
默认情况下,当系统检测到数据包转发引擎的问题时,瞻博网络路由器会尝试从这种情况开始修复。如果修复失败,系统将关闭接口,从而防止进一步上报。
在 Junos OS 上,您可以在层次结构中使用[edit chassis fpc slot-numberfabric]
配置语句bandwidth-degradation
,以您认为合适的方式检测并响应交换矩阵平面降级。您可以配置路由器,以指定检测到这种情况后,路由器应该采取哪些修复操作。您还可以使用可选语句blackhole-action
来确定线卡对 100% 交换矩阵降级情况的响应。此命令是可选的,将覆盖默认的交换矩阵强化过程。
命令 bandwidth-degradation
和 offline-on-fabric-bandwidth-reduction
语句是相互排斥的。如果配置了这两个命令,则提交检查期间会发出错误。
该 bandwidth-degradation
语句配置了百分比和操作。值 percent-age
的范围可以是 1 到 99,它表示触发线卡响应所需的交换矩阵降级百分比。属性 action
确定一旦结构降级达到配置的百分比,线卡将执行何种响应。
语句仅配置一个 action
属性,当交换矩阵降级百分比达到 100% 时,该属性才会触发。
以下操作可以应用于任一配置语句:
log-only
:达到交换矩阵降级阈值时,会记录一条消息和消息文件。未采取其他操作。restart
:一旦达到阈值,阵列平面已降级的线卡将重新启动。offline
:一旦达到阈值,交换矩阵平面已降级的线卡将脱机。线卡需要手动干预才能重新上线。如果未配置操作属性,则为默认操作。restart-then-offline
:达到阈值后,交换矩阵平面已降级的线卡将重新启动,如果在 10 分钟内再次检测到交换矩阵平面降级,则线卡将脱机。线卡需要手动干预才能重新上线。
Junos OS 15.1R1 版提供此功能。
在 PTX10001-36MR、PTX10004、PTX10008 和 PTX100016 上使用 PTX10K-LC1202-36MR 线卡进行交换矩阵强化和恢复
PTX10001-36MR、PTX10004、PTX10008 和 PTX100016 路由器支持交换矩阵加固。交换矩阵加固是一项弹性功能,用于检测交换矩阵黑洞并尝试自动恢复过程,以从黑洞情况恢复数据包转发引擎。
我们默认启用了交换矩阵强化当系统检测到任何无法访问的数据包转发引擎目标时,此功能会尝试自动恢复交换矩阵连接。
如果恢复失败,系统将关闭接口以限制黑机并触发告警以指示无法访问的数据包转发引擎目标。但是,用户可以在层次结构级别上使用 set chassis fabric event reachability-fault actions recovery-failure pfe-offline
语句 [set chassis fabric event]
来脱机配置数据包转发引擎,而不是关闭接口。
数据包转发引擎目标可能由于以下原因而无法访问:
-
完全自黑洞 - 完全连接丢失发生在所有交换矩阵平面上。
-
完全对等黑洞 - 两个数据包转发引擎可以到达交换矩阵,但不能相互连接。
您可以通过在层次结构级别上使用 degraded
语句 [edit chassis fabric event reachability-fault]
将路由器配置为在路由器检测到交换矩阵带宽降级时触发交换矩阵恢复。降级语句配置了一个介于 1 到 99 的百分比值。百分比值表示交换矩阵带宽降级的错误阈值,一旦达到阈值,路由器将开始恢复。
配置降级的错误阈值后,路由器还可以尝试恢复交换矩阵,原因如下:
-
自我分解 - 数据包转发引擎目标中的已降级交换矩阵状况。
-
对等降级 - 两个数据包转发引擎之间的降级交换矩阵情况。
交换矩阵恢复过程涉及以下一个或多个阶段:
-
SIB 重启阶段:如果跨多个线卡的数据包转发引擎目标在平面上发生交换矩阵连接故障,则路由器会尝试通过重新启动 SIB 来解决问题。如果多个 SIB 需要重新启动,路由器将一个一个地重新启动 SIB。
-
FPC 重启阶段:路由器尝试通过重新启动 FPC 来自动恢复,以适用于以下场景:
-
具有完整或部分黑洞条件的所有数据包转发引擎目标都位于单个 FPC 中。
-
如果具有完整或部分黑洞条件的数据包转发引擎目标在不同的 FPC 上发生,但没有一个数据包转发引擎共享同一故障平面。
-
SIB 重启阶段尝试无法恢复数据包转发引擎。
您可以禁用 FPC 重新启动,以限制来自交换矩阵降级情况的恢复操作。要禁用 FPC 重新启动,请在
set chassis fabric event reachability-fault actions fpc-restart-disable
层次结构级别使用语句[set chassis fabric event]
。 -
-
数据包转发引擎脱机阶段:由于先前的恢复阶段尝试失败或在配置中禁用了恢复操作,因此路由器默认关闭接口以限制黑接。但是,用户可以在层次结构级别上使用
set chassis fabric event reachability-fault actions recovery-failure pfe-offline
语句[set chassis fabric event]
来脱机配置数据包转发引擎,而不是关闭接口。
如果路由器只有具有对等方黑洞或对等方降级情况的数据包转发引擎,则路由器会尝试通过重新启动平面上的交换矩阵链路来通过链路自动医疗进行恢复。
好处
-
尝试自动恢复进程,从已降级的交换矩阵状况中恢复数据包转发引擎,以最大程度地减少流量损失。
-
如果恢复失败,将发出警报,提供故障信息以指示无法访问的数据包转发引擎目标。
禁用线卡重启以限制因交换矩阵状况下降而采取的恢复操作
您可以禁用线卡重启,以限制来自已降级交换矩阵状况的恢复操作。在 T640 和 T1600 路由器上,只有交换矩阵平面重新启动。在 PTX 系列路由器上,只有交换机接口板 (SIB) 重新启动。要禁用线卡重新启动,请在 action-fpc-restart-disable
层级使用语句 [edit chassis fabric degraded]
:
[edit chassis fabric] degraded
只要禁用线卡重启,路由器中存在无法访问的目的地,将发出告警,并且必须手动重新启动线卡。
为了确保在恢复过程中重新启动交换矩阵平面(T640 和 T1600 路由器)或 SIB(PTX 系列路由器)和线卡,请勿在[edit chassis fabric degraded]
层次结构级别配置action-fpc-restart-disable
语句。
禁用 FPC 并降低交换矩阵带宽
您可以使交换矩阵带宽下降的 FPC 脱机,以避免长时间导致机箱中的空路由。要配置禁用带宽下降的 FPC 的选项,请在 offline-on-fabric-bandwidth-reduction
层级使用语句 [edit chassis fpc slot-number]
:
[edit chassis] fpc slot-number { offine-on-fabric-bandwidth-reduction; }
交换矩阵管理器会定期检查当前活动平面的数量。如果活动平面数量低于特定路由器的所需活动平面数,系统将等待 10 秒,然后才能采取任何纠正措施。如果 FPC 的带宽降低情况持续存在,并且已为 FPC 配置此功能,则系统使 FPC 脱机。
通过交换矩阵 OAM 处理错误
交换矩阵操作、管理和维护 (OAM) 有助于检测交换矩阵路径中的故障。每当为 PFE 引入新的交换矩阵路径时,交换矩阵 OAM 会在交换矩阵平面上发送流量之前,验证交换矩阵的连接性。如果检测到故障,软件将报告故障,并避免为该 PFE 使用该交换矩阵平面。此功能的工作原理是通过通过每个可用的交换矩阵平面发送每秒低数据包 (PPS) 自发的 OAM 流量,并检测端点处的任何流量丢失(交换矩阵自 ping 检查)。
- 在 Junos OS 演化版 20.4R1 中,交换矩阵 OAM 功能默认处于启用状态。您可以使用 CLI 命令
set chassis fabric oam detection-disable
禁用此功能。 - 在 Junos OS 演化版 20.4R2 和 21.1R1 中,交换矩阵 OAM 功能默认处于禁用状态。
- 在 Junos OS 演化版 22.1R1 中,运行时交换矩阵 OAM 功能默认处于启用状态。您可以使用 CLI 命令
edit chassis fabric oam runtime-disable
禁用此功能。PTX10004、PTX10008 和 PTX10016 路由器支持运行时交换矩阵 OAM 功能。
交换矩阵 OAM 检查在启动时完成。故障路径将被禁用。系统不执行任何恢复操作。但是,您可以尝试通过重新启动 SIB 来恢复受影响的交换矩阵平面。恢复步骤取决于故障的性质。
交换矩阵平面表示 PFE 和交换矩阵 ASIC 之间的独立双向路径。运行时交换矩阵 OAM 会定期检查交换矩阵连接,并帮助检测和报告系统运行时交换矩阵平面中的故障。运行时交换矩阵 OAM 可以检测每个 PFE 的交换矩阵可访问性。
当同一或多个 FPC 上同一交换矩阵平面出现故障时,使用以下命令重新启动包含故障平面的 SIB:
user@host> request chassis sib slot slot-number offline
user@host> request chassis sib slot slot-number online
当随机交换矩阵平面在多个 FPC 上出现故障时,故障无法隔离到特定的 FPC 或 SIB。但是,您可以尝试通过按顺序重新启动包含受影响平面的 SIB 来恢复平面。
对于交换矩阵 OAM 功能检测到的每个错误,都会生成一个系统日志。下面是一个示例:
Oct 29 23:02:46 router-dvi resiliencyd[12921]: Error: /fpc/0/fabspoked-pfe/0/cm/0/pfe/0/fabric_link_foam_fault (0x410009), scope: board, category: internal, severity: major, module: fab-pfe@0, type: fabric link foam fault
以下系统日志消息表示已清除与交换矩阵 OAM 相关的错误。
Oct 29 23:25:14 router-dvi resiliencyd[12921]: Performing action clear-cmalarm for error /fpc/0/fabspoked-pfe/0/cm/0/pfe/0/fabric_link_foam_fault (0x410009) in module: fab-pfe@0 with scope: board category: internal level: major
此外,您可以使用 CLI 命令 show system errors active detail
并 show system alarms
查看与交换矩阵 OAM 相关的错误。
user@router> show system alarms
20 alarms currently active
Alarm time Class Description
2020-08-20 10:32:02 UTC Major FPC 0 Ideeprom read failure
2020-08-20 10:58:07 UTC Major FPC 0 Self_FOAM fault detected
[...Output truncated...]
user@router> show system alarms
14 alarms currently active
Alarm time Class Description
2022-02-15 23:45:28 PST Minor FPC 1 Volt Sensor Fail
2022-02-16 00:02:03 PST Major FPC 1 Self_Fabric OAM Runtime fault detected
2022-02-15 23:43:04 PST Minor FPC 1 Secure boot disabled or not enforced
2022-02-15 23:55:50 PST Minor FPC 3 Secure boot disabled or not enforced
[...Output truncated...]
以下输出显示单个交换矩阵平面故障(在数据包转发引擎 0 上)和所有交换矩阵平面故障(在数据包转发引擎 1 上)的详细信息。
user@router> show system errors active detail
System Active Errors Detail Information
FPC 0
----------------------------------------------------------------
Error Name : fabric_down_condition_on_pfe
Identifier : /fpc/0/fabricHub/0/cm/0/fabrichub/1/fabric_down_condition_on_pfe
Description : fabric_down_condition_on_pfe
State : enabled
Scope : pfe
Category : functional
Level : major
Threshold : 1
Error limit : 0
Occur count : 3
Clear count : 2
Last occurred(ms ago) : 103158
System Active Errors Detail Information
FPC 0
----------------------------------------------------------------
Error Name : fabric_link_foam_fault
Identifier : /fpc/0/fabspoked-pfe/0/cm/0/pfe/0/fabric_link_foam_fault
Description : fabric link foam fault
State : enabled
Scope : board
Category : internal
Level : major
Threshold : 1
Error limit : 100
Occur count : 2
Clear count : 0
Last occurred(ms ago) : 113277
System Active Errors Detail Information
FPC 0
----------------------------------------------------------------
Error Name : fabric_link_foam_fault
Identifier : /fpc/0/fabspoked-pfe/0/cm/0/pfe/1/fabric_link_foam_fault
Description : fabric link foam fault
State : enabled
Scope : board
Category : internal
Level : major
Threshold : 1
Error limit : 100
Occur count : 12
Clear count : 0
Last occurred(ms ago) : 103267
System Active Errors Detail Information
RE 0
----------------------------------------------------------------
Error Name : fpga_min_supported_fw_ver_mismatch
Identifier : /re/0/hwdre/0/cm/0/fpga_fw_events/UBAM FPGA/fpga_min_supported_fw_ver_mismatch
Description : firmware_version_lower_than_minimum_expected
State : enabled
Scope : board
Category : functional
Level : minor
Threshold : 10
Error limit : 1
Occur count : 1
Clear count : 0
Last occurred(ms ago) : 68886367
FPC 1
----------------------------------------------------------------
Error Name : fabric_link_self_fabric_oam_runtime_fault
Identifier : /fpc/1/fabspoked-pfe/0/cm/0/pfe/0/fabric_link_self_fabric_oam_runtime_fault
Description : fabric link self fabric oam runtime fault
State : enabled
Scope : board
Category : internal
Level : major
Threshold : 1
Error limit : 36
Occur count : 1
Clear count : 0
Last occurred(ms ago) : 2022-02-16 00:02:03 PST (448108 ms ago) System Active Errors Detail Information
您可以使用 CLI 命令 show chassis fabric fpcs
查看每个交换矩阵平面的交换矩阵 OAM 自 ping 状态。
user@router> show chassis fabric fpcs
Fabric management FPC state:
FPC #0
PFE #0
SIB0_Asic0_Fcore0 (plane 0) Plane Disabled, Links ok Fabric OAM failed
SIB0_Asic0_Fcore0 (plane 1) Plane Enabled, Links ok Fabric OAM success
SIB0_Asic0_Fcore0 (plane 2) Plane Enabled, Links ok Fabric OAM success
SIB0_Asic0_Fcore0 (plane 3) Plane Enabled, Links ok Fabric OAM success
SIB0_Asic0_Fcore0 (plane 4) Plane Enabled, Links ok Fabric OAM success
SIB0_Asic0_Fcore0 (plane 5) Plane Enabled, Links ok Fabric OAM success
SIB1_Asic0_Fcore0 (plane 6) Plane Enabled, Links ok Fabric OAM success
SIB1_Asic0_Fcore0 (plane 7) Plane Enabled, Links ok Fabric OAM success
SIB1_Asic0_Fcore0 (plane 8) Plane Enabled, Links ok Fabric OAM success
SIB1_Asic0_Fcore0 (plane 9) Plane Enabled, Links ok Fabric OAM success
SIB1_Asic0_Fcore0 (plane 10) Plane Enabled, Links ok Fabric OAM success
SIB1_Asic0_Fcore0 (plane 11) Plane Enabled, Links ok Fabric OAM success
PFE #1
SIB0_Asic0_Fcore0 (plane 0) Plane Enabled, Links ok Fabric OAM success
SIB0_Asic0_Fcore0 (plane 1) Plane Enabled, Links ok Fabric OAM success
user@router> show chassis fabric fpcs Fabric management FPC state: FPC #1 PFE #0 SIB0_Asic0_Fcore0 (plane 0) Plane Enabled, Links ok Fabric OAM Runtime success SIB0_Asic0_Fcore0 (plane 1) Plane Disabled, Links ok Fabric OAM Runtime failed SIB0_Asic1_Fcore0 (plane 2) Plane Enabled, Links ok Fabric OAM Runtime success SIB0_Asic1_Fcore0 (plane 3) Plane Enabled, Links ok Fabric OAM Runtime success SIB0_Asic2_Fcore0 (plane 4) Plane Enabled, Links ok Fabric OAM Runtime success SIB0_Asic2_Fcore0 (plane 5) Plane Enabled, Links ok Fabric OAM Runtime success SIB1_Asic0_Fcore0 (plane 6) Plane Enabled, Links ok Fabric OAM Runtime success SIB1_Asic0_Fcore0 (plane 7) Plane Enabled, Links ok Fabric OAM Runtime success SIB1_Asic1_Fcore0 (plane 8) Plane Enabled, Links ok Fabric OAM Runtime success SIB1_Asic1_Fcore0 (plane 9) Plane Enabled, Links ok Fabric OAM Runtime success SIB1_Asic2_Fcore0 (plane 10) Plane Enabled, Links ok Fabric OAM Runtime success SIB1_Asic2_Fcore0 (plane 11) Plane Enabled, Links ok Fabric OAM Runtime success SIB2_Asic0_Fcore0 (plane 12) Plane Enabled, Links ok Fabric OAM Runtime success SIB2_Asic0_Fcore0 (plane 13) Plane Enabled, Links ok Fabric OAM Runtime success SIB2_Asic1_Fcore0 (plane 14) Plane Enabled, Links ok Fabric OAM Runtime success SIB2_Asic1_Fcore0 (plane 15) Plane Enabled, Links ok Fabric OAM Runtime success
show chassis fabric fpcs
禁用交换矩阵 OAM 功能时,命令会显示以下输出:
user@router> show chassis fabric fpcs
Fabric management FPC state:
FPC #0
PFE #0
SIB0_Asic0_Fcore0 (plane 0) Plane Enabled, Links ok
SIB0_Asic0_Fcore0 (plane 1) Plane Enabled, Links ok
SIB0_Asic0_Fcore0 (plane 2) Plane Enabled, Links ok
SIB0_Asic0_Fcore0 (plane 3) Plane Enabled, Links ok
SIB0_Asic0_Fcore0 (plane 4) Plane Enabled, Links ok
SIB0_Asic0_Fcore0 (plane 5) Plane Enabled, Links ok
SIB1_Asic0_Fcore0 (plane 6) Plane Enabled, Links ok
SIB1_Asic0_Fcore0 (plane 7) Plane Enabled, Links ok
SIB1_Asic0_Fcore0 (plane 8) Plane Enabled, Links ok
SIB1_Asic0_Fcore0 (plane 9) Plane Enabled, Links ok
SIB1_Asic0_Fcore0 (plane 10) Plane Enabled, Links ok
SIB1_Asic0_Fcore0 (plane 11) Plane Enabled, Links ok
PFE #1
SIB0_Asic0_Fcore0 (plane 0) Plane Enabled, Links ok
SIB0_Asic0_Fcore0 (plane 1) Plane Enabled, Links ok
SIB0_Asic0_Fcore0 (plane 2) Plane Enabled, Links ok
SIB0_Asic0_Fcore0 (plane 3) Plane Enabled, Links ok
SIB0_Asic0_Fcore0 (plane 4) Plane Enabled, Links ok
SIB0_Asic0_Fcore0 (plane 5) Plane Enabled, Links ok
SIB1_Asic0_Fcore0 (plane 6) Plane Enabled, Links ok
SIB1_Asic0_Fcore0 (plane 7) Plane Enabled, Links ok
SIB1_Asic0_Fcore0 (plane 8) Plane Enabled, Links ok
SIB1_Asic0_Fcore0 (plane 9) Plane Enabled, Links ok
SIB1_Asic0_Fcore0 (plane 10) Plane Enabled, Links ok
SIB1_Asic0_Fcore0 (plane 11) Plane Enabled, Links ok
PFE #2
SIB0_Asic0_Fcore0 (plane 0) Plane Enabled, Links ok
SIB0_Asic0_Fcore0 (plane 1) Plane Enabled, Links ok
SIB0_Asic0_Fcore0 (plane 2) Plane Enabled, Links ok
SIB0_Asic0_Fcore0 (plane 3) Plane Enabled, Links ok
SIB0_Asic0_Fcore0 (plane 4) Plane Enabled, Links ok
SIB0_Asic0_Fcore0 (plane 5) Plane Enabled, Links ok
SIB1_Asic0_Fcore0 (plane 6) Plane Enabled, Links ok
SIB1_Asic0_Fcore0 (plane 7) Plane Enabled, Links ok
SIB1_Asic0_Fcore0 (plane 8) Plane Enabled, Links ok
SIB1_Asic0_Fcore0 (plane 9) Plane Enabled, Links ok
SIB1_Asic0_Fcore0 (plane 10) Plane Enabled, Links ok
SIB1_Asic0_Fcore0 (plane 11) Plane Enabled, Links ok
PFE #3