物理层故障排查(二):光模块故障、光衰过大、链路协商失败、环路检测

好,咱们接着聊物理层。上一章我把光模块的基础讲了个大概,这一章咱们直接上干货——光模块坏了怎么办?光衰太大怎么查?链路协商不上怎么搞?还有那个让人头疼的环路问题。

说实话,干我们这行的,光模块故障见得最多。我刚开始做运维那会儿,一遇到网络不通就慌,后来发现,八成问题都出在物理层。你想想看,上层协议再牛,底层光信号过不去,一切都是白搭。

一、光模块故障:别急着换,先看这几点

光模块故障,说白了就是它不发光了,或者发光不正常。我个人的习惯是,先看指示灯。交换机端口灯不亮?那大概率是光模块或者光纤的问题。

光模块故障的典型表现:

  • 端口指示灯不亮或闪烁异常
  • show interface 显示 down/down
  • 光功率计测不到光
  • 设备日志报错:transceiver not supported 或 optical power low

嗯,这里要注意一点。光模块很娇气,插拔的时候一定要断电。我曾经遇到过一个小伙子,带电插拔,结果模块直接烧了,还连带着把交换机的端口也搞坏了。那叫一个惨。

排查步骤:

  1. 看日志:先上设备看日志,有没有光模块相关的报错。
  2. 看光功率:用命令查光模块的收发光功率。比如华为设备用 display transceiver interface gigabitethernet 0/0/1 verbose。
  3. 看温度:光模块温度过高也会导致故障。我见过一个机房,空调坏了,光模块温度飙到70度,直接罢工。
  4. 交叉测试:把光模块换到另一个端口,或者换一根光纤试试。如果换了就好了,那就是端口或光纤的问题。

小技巧: 我习惯在备件柜里常备几个不同型号的光模块。遇到故障,直接换一个测试,效率最高。别问我为什么,问就是被坑过。

二、光衰过大:信号太弱,跑不动

光衰过大,就是光信号在传输过程中损耗太大了。你想想看,光在光纤里跑,就像人在沙漠里走,走远了总会累的。光衰过大,接收端就收不到足够强的信号,导致误码率升高,甚至直接断网。

我记得有一次,一个客户说他们的网络一到晚上就卡。我过去一查,发现光衰刚好在临界值。白天温度高,光纤损耗小一点,还能跑;晚上温度低,光纤收缩,损耗变大,直接就挂了。

光衰过大的常见原因:

  • 光纤接头脏了(最常见!)
  • 光纤弯曲半径太小(拐弯太急)
  • 光纤熔接点损耗大
  • 光模块本身发射功率不足
  • 传输距离超过设计标准

怎么查?

用光功率计测。在发送端测发射功率,在接收端测接收功率。两者一减,就是链路损耗。正常来说,单模光纤每公里损耗在0.3-0.5dB左右。如果测出来损耗特别大,那就得一段一段排查了。

警告: 千万别用眼睛直接看光纤接口!激光会伤眼睛。我有个同事就干过这事,还好功率不大,不然就麻烦了。用光功率计或者红光源(可视故障定位仪)来查。

三、链路协商失败:两边说不到一块去

链路协商失败,说白了就是两边的设备没谈拢。比如一个设成100M全双工,另一个设成100M半双工,那肯定没法正常通信。或者一个设成自协商,另一个强制设成了1000M,也可能出问题。

我个人的经验是,能自协商就尽量用自协商。除非有特殊需求,比如对接老设备,才考虑强制设置。但强制设置有个坑——两边必须完全一致,包括速率和双工模式。

协商失败的典型现象:

  • 端口状态显示 up/down 或 down/down
  • 丢包严重,时延大
  • show interface 看到大量 CRC 错误或碰撞

排查方法:

  1. 检查两端配置:用 show interface 看两端的速率和双工模式是否一致。
  2. 检查网线/光纤:有时候线序不对也会导致协商失败。比如百兆网络只需要4根线,千兆需要8根。如果线只接了4根,千兆就协商不上。
  3. 重启端口:先 shutdown 再 no shutdown,让两端重新协商。
  4. 手动指定:如果自协商不行,就手动指定。比如两端都设成 1000M full。

避坑指南: 我曾经遇到过一个奇葩问题,两端都是千兆,自协商也成功了,但就是丢包。查了半天,发现是一根网线质量太差,虽然能协商上千兆,但跑不稳。换根好线,问题解决。所以,别迷信协商结果,还得看实际流量。

四、环路检测:网络风暴的元凶

环路,就是网络里出现了冗余路径,导致数据包在交换机之间来回转发,形成广播风暴。你想想看,一个广播包在环路里无限循环,交换机CPU直接被打满,整个网络就瘫痪了。

环路检测,说白了就是发现并阻止这种情况。常用的技术有STP(生成树协议)和环路检测协议(比如华为的loopback-detection)。

环路故障的典型表现:

  • 网络突然变慢,甚至完全不通
  • 交换机CPU占用率飙升
  • 端口指示灯狂闪
  • show interface 看到大量广播包

怎么排查?

  1. 看CPU:上设备看CPU占用率。如果持续90%以上,大概率是环路。
  2. 看日志:有没有STP拓扑变化或者环路检测的告警。
  3. 拔线法:最原始但最有效的方法。一根一根拔网线,拔到哪根网络恢复了,那根线就是环路所在。
  4. 用命令查:华为设备用 display loopback-detection,思科用 show spanning-tree。

注意: 环路检测一定要开启。我见过太多网络因为环路挂掉的案例。尤其是接入层交换机,用户乱插线,很容易形成环路。开启STP或者环路检测,能自动阻断环路,保护网络。

知识体系图:物理层故障排查核心逻辑

物理层故障排查核心逻辑 物理层故障 光模块故障 光衰过大 链路协商失败 环路检测 指示灯不亮 / 日志报错 交叉测试 / 换模块 接头脏 / 弯曲半径小 光功率计测损耗 速率/双工不一致 shutdown / no shutdown CPU飙升 / 广播风暴 拔线法 / STP检测 排查原则:先物理后逻辑,先硬件后软件 从光模块 → 光衰 → 协商 → 环路,逐层排查

这张图把咱们今天讲的内容串起来了。你从中心开始,根据故障现象,往四个方向去排查。先看光模块有没有问题,再看光衰是不是过大,然后检查链路协商,最后考虑环路。按这个顺序来,基本能覆盖90%的物理层故障。

好了,这一章就到这里。记住,物理层是基础,基础不牢,地动山摇。多动手,多积累经验,你也能成为故障排查的高手。

可可精品资料库