物理层故障排查(二):光模块故障、光衰过大、链路协商失败、环路检测
好,咱们接着聊物理层。上一章我把光模块的基础讲了个大概,这一章咱们直接上干货——光模块坏了怎么办?光衰太大怎么查?链路协商不上怎么搞?还有那个让人头疼的环路问题。
说实话,干我们这行的,光模块故障见得最多。我刚开始做运维那会儿,一遇到网络不通就慌,后来发现,八成问题都出在物理层。你想想看,上层协议再牛,底层光信号过不去,一切都是白搭。
一、光模块故障:别急着换,先看这几点
光模块故障,说白了就是它不发光了,或者发光不正常。我个人的习惯是,先看指示灯。交换机端口灯不亮?那大概率是光模块或者光纤的问题。
光模块故障的典型表现:
- 端口指示灯不亮或闪烁异常
- show interface 显示 down/down
- 光功率计测不到光
- 设备日志报错:transceiver not supported 或 optical power low
嗯,这里要注意一点。光模块很娇气,插拔的时候一定要断电。我曾经遇到过一个小伙子,带电插拔,结果模块直接烧了,还连带着把交换机的端口也搞坏了。那叫一个惨。
排查步骤:
- 看日志:先上设备看日志,有没有光模块相关的报错。
- 看光功率:用命令查光模块的收发光功率。比如华为设备用
display transceiver interface gigabitethernet 0/0/1 verbose。 - 看温度:光模块温度过高也会导致故障。我见过一个机房,空调坏了,光模块温度飙到70度,直接罢工。
- 交叉测试:把光模块换到另一个端口,或者换一根光纤试试。如果换了就好了,那就是端口或光纤的问题。
小技巧: 我习惯在备件柜里常备几个不同型号的光模块。遇到故障,直接换一个测试,效率最高。别问我为什么,问就是被坑过。
二、光衰过大:信号太弱,跑不动
光衰过大,就是光信号在传输过程中损耗太大了。你想想看,光在光纤里跑,就像人在沙漠里走,走远了总会累的。光衰过大,接收端就收不到足够强的信号,导致误码率升高,甚至直接断网。
我记得有一次,一个客户说他们的网络一到晚上就卡。我过去一查,发现光衰刚好在临界值。白天温度高,光纤损耗小一点,还能跑;晚上温度低,光纤收缩,损耗变大,直接就挂了。
光衰过大的常见原因:
- 光纤接头脏了(最常见!)
- 光纤弯曲半径太小(拐弯太急)
- 光纤熔接点损耗大
- 光模块本身发射功率不足
- 传输距离超过设计标准
怎么查?
用光功率计测。在发送端测发射功率,在接收端测接收功率。两者一减,就是链路损耗。正常来说,单模光纤每公里损耗在0.3-0.5dB左右。如果测出来损耗特别大,那就得一段一段排查了。
警告: 千万别用眼睛直接看光纤接口!激光会伤眼睛。我有个同事就干过这事,还好功率不大,不然就麻烦了。用光功率计或者红光源(可视故障定位仪)来查。
三、链路协商失败:两边说不到一块去
链路协商失败,说白了就是两边的设备没谈拢。比如一个设成100M全双工,另一个设成100M半双工,那肯定没法正常通信。或者一个设成自协商,另一个强制设成了1000M,也可能出问题。
我个人的经验是,能自协商就尽量用自协商。除非有特殊需求,比如对接老设备,才考虑强制设置。但强制设置有个坑——两边必须完全一致,包括速率和双工模式。
协商失败的典型现象:
- 端口状态显示 up/down 或 down/down
- 丢包严重,时延大
- show interface 看到大量 CRC 错误或碰撞
排查方法:
- 检查两端配置:用
show interface看两端的速率和双工模式是否一致。 - 检查网线/光纤:有时候线序不对也会导致协商失败。比如百兆网络只需要4根线,千兆需要8根。如果线只接了4根,千兆就协商不上。
- 重启端口:先
shutdown再no shutdown,让两端重新协商。 - 手动指定:如果自协商不行,就手动指定。比如两端都设成 1000M full。
避坑指南: 我曾经遇到过一个奇葩问题,两端都是千兆,自协商也成功了,但就是丢包。查了半天,发现是一根网线质量太差,虽然能协商上千兆,但跑不稳。换根好线,问题解决。所以,别迷信协商结果,还得看实际流量。
四、环路检测:网络风暴的元凶
环路,就是网络里出现了冗余路径,导致数据包在交换机之间来回转发,形成广播风暴。你想想看,一个广播包在环路里无限循环,交换机CPU直接被打满,整个网络就瘫痪了。
环路检测,说白了就是发现并阻止这种情况。常用的技术有STP(生成树协议)和环路检测协议(比如华为的loopback-detection)。
环路故障的典型表现:
- 网络突然变慢,甚至完全不通
- 交换机CPU占用率飙升
- 端口指示灯狂闪
- show interface 看到大量广播包
怎么排查?
- 看CPU:上设备看CPU占用率。如果持续90%以上,大概率是环路。
- 看日志:有没有STP拓扑变化或者环路检测的告警。
- 拔线法:最原始但最有效的方法。一根一根拔网线,拔到哪根网络恢复了,那根线就是环路所在。
- 用命令查:华为设备用
display loopback-detection,思科用show spanning-tree。
注意: 环路检测一定要开启。我见过太多网络因为环路挂掉的案例。尤其是接入层交换机,用户乱插线,很容易形成环路。开启STP或者环路检测,能自动阻断环路,保护网络。
知识体系图:物理层故障排查核心逻辑
这张图把咱们今天讲的内容串起来了。你从中心开始,根据故障现象,往四个方向去排查。先看光模块有没有问题,再看光衰是不是过大,然后检查链路协商,最后考虑环路。按这个顺序来,基本能覆盖90%的物理层故障。
好了,这一章就到这里。记住,物理层是基础,基础不牢,地动山摇。多动手,多积累经验,你也能成为故障排查的高手。