3. 物理层与链路故障诊断

在 Arista 数据中心网络中,物理层与链路层故障往往表现为“上层协议看起来正常,但业务时通时断”或“接口频繁 Up/Down”。这类问题的根因通常集中在光模块、DAC/AOC 线缆、FEC 协商、链路抖动以及 CRC 错误上。与路由协议故障不同,物理层故障的定位必须依赖接口计数器、光模块诊断和链路事件日志,而不是仅看路由表或邻居状态。

一、先分清四类物理介质与它们的故障特征

数据中心常见的物理连接包括:

  • 光模块 + 光纤:如 10G/25G/100G/400G 光模块,故障多表现为收发光功率异常、DDM 告警、FEC 纠错计数上升。
  • DAC(直连铜缆):短距离机柜内互联,故障常表现为链路抖动、CRC 错误、接口反复 Up/Down,且通常不涉及光功率。
  • AOC(有源光缆):两端固定光模块,故障特征介于光模块与 DAC 之间,需关注模块温度与误码。
  • 背板/连接器:机箱内部链路,故障多表现为特定端口 CRC 增长,需结合硬件告警定位。

判断时先看“是否有光功率可读”。DAC 没有光功率,若用 show interfaces transceiver 看不到 DDM 数据,属于正常现象,不应误判为模块故障。

二、用 show interfaces 与 counters 定位错误方向

第一步是确认接口状态与错误计数。典型命令如下:

show interfaces Ethernet1
show interfaces Ethernet1 counters errors
show interfaces Ethernet1 counters rates
show interfaces Ethernet1 transceiver
show interfaces Ethernet1 transceiver detail

重点观察以下字段:

  • linkStatus:Up/Down 状态及翻转次数。
  • inErrors / outErrors:接收/发送方向错误。
  • fcsErrors(CRC):帧校验错误,通常指向物理链路质量。
  • alignmentErrors:对齐错误,常与编码/FEC 相关。
  • symbolErrors:符号错误,PAM4 高速链路中尤为关键。

判断方向的原则是:本端 inErrors 增长,问题多在上游发送端或本端接收侧;本端 outErrors 增长,问题多在本端发送侧或下游接收端。若两端同时出现 CRC,则优先怀疑中间链路(光纤、连接器、DAC 本体)。

三、FEC 与链路抖动的关系

25G/100G/400G 链路普遍启用 RS-FEC 或 Firecode FEC。FEC 本身不是故障,但 FEC 纠错计数持续上升说明链路误码已接近纠错上限,一旦超过阈值就会表现为“链路抖动”或接口 Down/Up。可用以下命令查看:

show interfaces Ethernet1 counters detailed
show interfaces Ethernet1 phy
show interfaces Ethernet1 fec

若 fecCorrected 持续增长而 fecUncorrected 为 0,说明链路仍在纠错范围内,但已存在劣化趋势;若 fecUncorrected 增长,则通常伴随 CRC 和丢包,需立即排查光功率或更换线缆。

物理层与链路故障诊断路径 从接口状态 → 计数器 → 光模块/FEC → 定位硬件与线缆 接口状态检查 show interfaces linkStatus Up/Down 翻转次数 / 事件日志 错误计数器 counters errors inErrors / outErrors fcsErrors / symbolErrors 光模块与 FEC transceiver detail Rx/Tx Power、温度 fecCorrected / Uncorrected 方向判断 本端 inErrors ↑ → 上游/接收侧 本端 outErrors ↑ → 本端发送侧 两端 CRC ↑ → 中间链路 FEC 趋势判断 fecCorrected ↑,Uncorrected=0 → 链路劣化,观察 fecUncorrected ↑ → 立即排查 硬件与线缆定位 光功率低 → 光纤/模块 DAC 无 DDM → 查线缆本体 温度高 → 散热/模块 处置闭环 清洁/更换光纤 → 更换 DAC/AOC → 调整 FEC 模式 → 复测 counters 与 FEC 趋势

四、光模块诊断:DDM 与告警阈值

光模块的 DDM(数字诊断监控)提供 Rx Power、Tx Power、温度、电压和偏置电流。使用 show interfaces Ethernet1 transceiver detail 可看到当前值与告警/告警阈值。典型判断如下:

  • Rx Power 低于告警下限:接收光功率不足,常见于光纤脏污、弯曲半径过小、连接器未插紧或对端发送模块老化。
  • Tx Power 异常:本端发送模块故障或驱动电路异常。
  • 温度超过告警阈值:模块散热不良,可能导致误码率上升和链路抖动。
  • 偏置电流异常升高:激光器老化,需更换模块。

示例:某 100G 链路出现间歇性丢包,show interfaces Ethernet1 transceiver detail 显示 Rx Power 为 -14.2 dBm,而告警下限为 -13.0 dBm,同时 fecCorrected 持续增长。此时应优先清洁光纤端面并检查连接器,若仍不恢复则更换光纤或对端模块。

五、DAC/AOC 与链路抖动

DAC 和 AOC 没有光功率可读,诊断重点在 CRC、symbolErrors 和接口翻转。若某端口 fcsErrors 持续增长且两端均为 DAC,常见原因包括:

  • 线缆长度超过规格(如 3m DAC 用于 5m 场景)。
  • 连接器松动或针脚氧化。
  • 端口与线缆速率/编码不匹配(如 25G DAC 接 10G 端口)。
  • 机柜内温度过高导致信号完整性下降。

链路抖动(flapping)通常表现为 linkStatus 在 Up/Down 之间反复切换。此时应查看 show logging 或 show interfaces Ethernet1 中的事件计数,确认是否与 FEC 失步、光功率瞬降或线缆接触不良相关。若抖动与特定时间段吻合,还需排查环境温度或电源波动。

六、实操排查顺序与判断依据

建议按以下顺序执行,避免盲目更换硬件:

  1. 确认接口状态与翻转次数,记录 linkStatus 变化。
  2. 查看 counters errors,区分 inErrors 与 outErrors。
  3. 查看 transceiver detail,确认光功率、温度是否在阈值内。
  4. 查看 FEC 计数,判断链路是否处于纠错边缘。
  5. 若为 DAC/AOC,检查线缆规格、长度与连接器。
  6. 清洁或更换光纤/线缆后,复测 counters 与 FEC 趋势,确认错误停止增长。
提示:CRC 错误是物理层问题的“指纹”,但并非所有 CRC 都来自线缆。若错误集中在某一 VLAN 或特定流量,需同时排查 MTU、双工和上游设备。物理层排查应始终以计数器趋势和光模块数据为依据,而不是仅凭单次命令输出下结论。
注意:在 400G 及 PAM4 链路中,FEC 纠错计数增长是常见现象,但若 fecUncorrected 持续增长,必须立即处理,否则会引发大规模丢包和协议邻居震荡。