
做数据中心运维的兄弟应该都遇到过这种情况业务突然告警端口 down 了或者丢包严重。登录交换机一看物理层往往就卡在光模块和光纤这段链路上。华为 CE6800 系列作为数据中心接入和汇聚场景里的常客查光模块类型、看收发光功率基本是日常排障逃不掉的操作。这篇文章把我自己常用的命令、输出解读和排障思路完整梳理一遍适合刚接触 CE 系列的新人也适合需要在现场快速定位问题的老手。全程不讲虚的直接敲命令、看结果、说结论。1. 上手前的准备登录方式和基础状态确认1.1 三种常见登录方式要敲命令先得连上设备。CE6800 支持 Console 口、SSH、SNMP 等方式。最快的是 Console 线直连适合设备 IP 不通或者首次上线时使用日常运维建议用 SSH安全又方便。连上之后你可能想确认当前登录的是不是有足够权限的账号默认的 admin 账号在 CE 系列上往往有管理权限但生产环境建议用单独创建的管理员账号避免误操作也方便审计。注意CE6800 的 Console 默认波特率是 9600部分老版本是 115200SecureCRT 或 PuTTY 连不上时可以切换波特率再试。通过 SSH 登录时记得使用管理网口或带外网口不要依赖业务接口。很多生产事故就是因为管理员把业务端口当管理口用结果业务流量一堵远程就断了。我习惯把所有设备的带外 IP 单独规划一个网段平时巡检、配置全部走带外这样即使业务侧光纤断了还能远程接入排查。1.2 先看设备型号和版本查看光模块之前先确认设备型号和软件版本。因为不同 VRP 版本支持的命令细节、输出格式略有差异。用display version查看版本信息能识别出具体是 CE6850、CE6880 还是 CE6881再用display device看设备健康状态用display interface brief看所有接口的物理状态。这里有个容易被忽略的点如果端口已经 down执行部分光模块查询命令可能看不到完整信息或者提示模块不在位。所以遇到端口 down 的情况先看display interface brief确认接口物理状态再决定后续排查方向。我见过不少新同事上来就查光模块结果输出为空以为是设备坏了其实是端口 shutdown 或者接口未配置模块本身根本没被读取到。2. 查看光模块类型display transceiver interface 的用法和输出解读2.1 命令长什么样华为 CE 系列查光模块信息最常用的命令是display transceiver interface 100GE1/0/1 verbose如果你不确定接口编号可以用display interface brief先看接口索引。verbose参数建议加上不加的话只显示简略信息加了才能看到完整的厂商、序列号、连接器类型等细节。命令输出里最关键的是 Transceiver Type 字段它会直接告诉你模块是 SFP、QSFP 还是 QSFP28以及是 SR、LR、ER 还是 CWDM、DWDM 等。这个命令不仅能查模块类型还能查光模块的物理特性比如传输距离、中心波长、接口类型。很多时候我们只关心速率却忽略了模块类型必须和光纤类型匹配。举个例子同样是 10G 光口SR 模块配多模光纤LR 模块配单模光纤混用会导致光功率异常或者干脆不通。所以拿到设备先查模块类型心里就有底了。2.2 一段真实输出逐行拆解以 40GE 接口为例display transceiver interface 40GE1/0/1 verbose输出大致如下字段值会因实际硬件不同而略有差异Transceiver Type : QSFP 40GE SR4 Connector Type : MPO Wavelength : 850nm Transfer Distance: 100m Vendor Name : HUAWEI Vendor Serial Number: T1234567890123 Data Rate : 40GE看到 Transceiver Type 是 QSFP 40GE SR4就知道这是 40G 短距多模模块配 MPO 接头传输距离 100 米。如果显示 QSFP28 100GE CWDM4就说明是 100G 单模模块波长约 1271nm 到 1331nm距离可以到 2km。同样是 QSFP 外观速率和波长编码方式不同不能乱插。提示很多兄弟以为接口能插上就能用其实 CE6800 的接口速率必须和模块匹配。比如 40GE 接口插入 100G QSFP28 模块通常没法直接用需要看接口是否支持拆分或者降速。插反了轻则不识别重则可能损坏硬件。另外Vendor Name 和 Serial Number 对于资产管理很有用。我在盘点设备时就是用display transceiver interface verbose批量采集模块序列号再和采购记录比对连光模块用了几年、在哪个位置都能追溯。别小看这个动作出故障需要报修时序列号能省很多沟通时间。2.3 如何区分光模块和高速线缆另外要留意的是display transceiver不仅能看到光模块还能看到 AOC有源光缆和 DAC直连铜缆。AOC 的输出里 Transceiver Type 会带 AOC 字样DAC 往往显示为 Copper 或 Passive Copper。这三种形态的物理接口可能都是 QSFP但应用场景完全不同DAC 直连铜缆功耗低、价格便宜适合机架内或者相邻机柜的短距离互联一般不超过 5 米。AOC 有源光缆弯曲性好、重量轻适合跨机柜布线常见距离 10 米到 100 米。光模块加光纤灵活度最高模块类型决定距离和波长适合从接入到核心的各种场景。查看类型时别只看速率还要关注是光口还是铜口。我曾经遇到一个现场DAC 线缆被误接在光模块接口上端口反复 up/down后来查明是接口模式不匹配。虽然 CE6800 部分端口支持光铜自适应但生产环境强烈建议提前确认线缆类型。3. 查看收发光功率diagnosis 命令和参数判读3.1 命令与输出字段光模块的工作状态主要看收发光功率、温度、电压、偏置电流。CE6800 上对应的命令是display transceiver diagnosis interface 100GE1/0/1输出示例Temperature : 35 Celsius Voltage : 3.30 V Bias Current: 8.12 mA TX Power : 2.01 dBm RX Power : -2.50 dBm每个参数都有用。TX Power 是模块发送的光功率RX Power 是接收到的光功率Bias Current 是激光器偏置电流Temperature 是模块内部温度Voltage 是供电电压。正常情况下这些值应该在一个合理范围内波动如果某一下明显偏离往往预示着光模块老化或者链路质量下降。3.2 怎么判断这些值是否正常光模块每个参数都有阈值范围不同模块类型阈值不同。常见判断方法是看 RX Power 是否在接收灵敏度范围内同时不能过载。比如 10GE 的 SR 模块典型接收灵敏度在 -14dBm 左右过载点大概是 0dBm 左右如果 RX Power 低于灵敏度说明接收光太弱多半是光纤衰减大、光口脏或者对端发送功率不足。如果 RX Power 高于过载点会损坏接收器需要加衰减器。注意光功率单位可能是 dBm 也可能是 mWCE 系列默认显示 dBm换算公式是 dBm 10*log10(P/1mW)。有些兄弟看到 0.5mW 以为很大其实也就是 -3dBm 左右。所以判断收发光一定要盯住 dBm 数值的负号别被数字大小迷惑。TX Power 也不是越高越好。发射功率过高对端收光可能过载发射功率过低可能是激光器老化。Bias Current 如果明显高于正常值常见原因也是激光器老化或者温度过高。我一般会同时看温度和电压如果模块温度超过 70 度即使收发光暂时正常也要警惕散热问题。3.3 阈值信息的获取display transceiver interface verbose 里的告警门限其实更好的办法是直接看模块内部寄存器里的告警门限。用display transceiver interface 100GE1/0/1 verbose输出里通常会带 High Alarm Threshold、Low Alarm Threshold 等字段或者display transceiver diagnosis会带 High/Low 告警状态。如果模块不支持诊断功能或者老化严重可能读不到这些信息。对于老模块我们可以借助命令查看是否有告警display transceiver alarm interface 100GE1/0/1输出会包含 High RX Power、Low RX Power、High TX Bias 等告警提示。如果看到某个项目前面标注了 alarm就要引起重视。比如 Low RX Power 告警说明接收光太弱链路随时可能闪断。此时先清洁光纤再检查光功率不要直接换模块。注意如果 RX Power 显示为 -inf 或 NaN一般说明当前没有接收到光或者光模块没有被对端正常发送。这类情况先查光纤和连接器不要急着判断模块坏了。4. 排障实战光模块不被识别、收发光异常的定位流程4.1 端口起不来先查模块识别生产环境中最常见的问题是插上模块后端口 up 不起来。遇到这种情况我的排查顺序是执行display device看设备上模块在位状态是不是 normal执行display transceiver interface看模块类型、序列号是否正常识别如果模块没有被识别检查模块插接是否到位金手指是否脏污或者换一个已知正常的模块交叉测试执行display logbuffer查看是否有光模块相关的告警日志比如硬件故障。如果是兼容性问题华为 CE 平台对非华为认证模块支持有限建议使用华为认证模块。我踩过不少坑一些第三方模块插上去能用一段时间温度一高就不稳定最后干脆全部换成认证模块。不是说第三方一定不行而是数据中心这种长期高负载场景稳定性比便宜那几块钱重要得多。4.2 收发光功率波动大别急着换模块很多时候 RX Power 异常不一定是模块坏了。比如 RX Power 偏低可能是光纤头污染这是最常见的原因用光纤清洁笔清洁即可光纤弯曲半径太小损耗急剧增大对端光模块发射功率不足法兰盘、适配器损坏。从经验看80% 的光链路问题都出在光纤和连接器而不是模块本身。所以不要一看到收光低就换模块先用光功率计在光纤两端测试再决定是清洁还是更换。对于 QSFP28 这种多通道模块还要留意每个通道的功率display transceiver diagnosis会显示 Lane 的 TX/RX 功率单通道异常可能代表模块内部光纤或连接器问题。有一次现场报障某 100G 端口收光和发送光功率看着都正常但 CRC 错误持续增长。我用放大镜检查了 MPO 接头发现其中一根光纤端面有一粒灰尘清洁后 CRC 计数立刻停止增长。这件事告诉我收发光只是第一步光信号质量同样重要。4.3 两条实用命令帮你快速定位故障点一条是display interface 100GE1/0/1看物理层的错误计数比如 CRC 错误、Symbol 错误。另一条是display interface counters rate看接口流量速率和错误趋势。如果 RX 光功率正常但大量 CRC说明光信号质量差可能是色散或反射问题如果光功率不稳说明连接器接触不良。我习惯把这几条命令组合起来快速判断是物理层、链路层还是协议层的问题。举个例子当端口 down 时先看光模块 RX Power 是否在阈值内。如果在阈值内再去查看对端是否也 down 了。如果对端也 down可能是链路中断如果对端正常可能是本端模块接收故障。此时把两端的模块互换或者用光功率计在两端测一下基本能定位到故障点。5. 运维中的实际操作心得与技巧5.1 把常用命令整理成巡检脚本日常维护中我建议把查看光模块的命令封装成一条脚本批量执行。比如用 Python 的 paramiko 库连接交换机循环执行display transceiver diagnosis interface然后把输出保存到日志文件。这里有一个小技巧命令输出中的空值和告警可以用正则匹配比如匹配 RX Power 后取 dBm 数值低于阈值就触发告警。很多监控系统也支持通过 SNMP 获取光模块信息CE6800 的相关 OID 可以从华为文档查到不过命令行的方式最直接。对于没有部署监控的小型机房写个简单的巡检脚本放到定时任务里每天自动跑一次出现异常就发邮件比人工登录高效得多。我之前用 Python 写过一版核心就是从 SSH 会话读取命令结果然后用正则解析输出大概一百多行代码效果很稳定。5.2 光模块的清洗和更换别忽略静电和脏污操作光模块、尾纤时一定注意佩戴防静电手环避免直接触摸模块的金手指和光纤端面。更换模块时先把光纤拔出再用防尘帽盖住模块和光纤头。很多人忽略防尘帽导致端面划伤、污染。如果怀疑端面脏了用专用清洁笔或无尘酒精棉轻轻擦拭不要用普通纸巾。现场条件有限时可以用放大镜检查端面。这里再强调一次模块的金手指很娇贵插拔时一定要水平插入不要倾斜不要用力过猛。很多新人在机柜里操作空间狭小模块没对准就硬插结果把金手指弯了造成接触不良。还有一点手上有汗或者灰尘时不要碰模块端面汗渍干了就是一层污染膜。5.3 命令行下如何快速查看所有接口的光模块摘要如果想一屏看完全部光模块状态可以试下display transceiver interface brief这个命令会以表格形式列出所有在位模块的接口、类型、速率、序列号等。而查看所有接口收发光可以用display transceiver diagnosis不带接口参数不过输出会很长建议配合分页或重定向到文件。我在现场常用的是把输出导出到 TFTP 服务器再用脚本解析。另外CE6800 还支持通过display optical-module info查看更详细的光模块属性包括光功率、温度、偏置电流的历史记录。不过这个命令在不同版本上支持情况不一样使用时先敲一遍确认。如果设备支持display transceiver diagnosis优先用这个输出最直观。最后再分享一个小技巧排查问题时建议同时查看本端和对端的光功率。我曾经遇到一个 100G 链路丢包两边模块类型一样光功率都正常但就是有少量错包。后来发现两端的 MPO 接头一公一母配错了还差一根跳线转接。所以查光模块不能只看一端把两端信息拉出来一起对比很多问题一目了然。