800G 模块热关机:DDM 线索与风道修复
一条 800G 链路下午两点掉、夜里回来,通常不是模块坏了。是模块正在精确执行它热设计的指令。
800G 叶层部署进行到两周,模式出现了:验收时链路干净地 up,随后几个端口在午后高峰开始记温度告警、丢帧。到傍晚一切正常,各厂商模块拔下送测都好好的。站点于是花一个月把好的模块 RMA 了。
这个循环之所以存在,是因为 800G 改变了裕量所在。在 400G,模块抽 7–10 W,几乎任何合规笼子都能压住温度。到 15–20 W,从笼子排掉的热取决于每槽风量、线缆体积、相邻 ASIC 排气和机房每日冷却周期——这些都是模块规格书里没有的变量。因此诊断从模块自己的遥测开始,而不是从更换开始。
遥测先显示什么
基于 CMIS 的模块持续上报温度、标志位和通道级遥测。字段变动的顺序,讲出了大部分故事。
| DDM 中的观察 | 提示 | 典型下一步 |
|---|---|---|
| 壳温高告警,TX/RX 功率无标志 | 环境或风道问题,模块仍健康 | 碰光模块前先查机柜进风与笼子风道 |
| 温度高告警且掉链,降温后恢复 | 峰值处散热裕量耗尽;一致关机路径 | 修风道或降模块功率等级 |
| TX 偏置数周内随稳定温度爬升 | 激光器更吃力;可能寿命末期趋势 | 记录斜率;偏置越过厂商阈值即更换 |
| 温度正常,单通道 RX 功率下垂 | 非热问题——连接器或光纤路径 | 先查 MPO 接触与清洁度 |
| 同一笼子排多个模块同时标志位触发 | 机箱或机房冷却事件,非单模块故障 | 看风扇盘、挡风板、CRAC 设定点 |
多模块同时触发的情况,是最省时间的。当一排笼子里八个模块在同一分钟内标出温度,模块只是旁观者。把它当冷却事件处理,并与风扇转速日志和机房温度历史做关联。
偏置电流是先行指标,不是判决
在大多数激光器类型上,偏置电流随结温上升。所以热应力在你遥测里做的第一件事不是“掉链”——而是最热端口上 TX 偏置的缓慢上漂,比任何告警早几周可见。正是这漂移,让验收时拍的 DDM 基线,比任何单次读数都值钱:48 mA 本身什么都不是,但若同一壳温下该端口验收时是 41 mA、现在到了 48 mA,这就是一个发现。
避免多数误报的解读规则:拿温度而不是定数来评判偏置。逐端口画偏置对壳温的曲线;健康模块描出一条一致曲线,劣化中的会慢慢偏离它自己的曲线。/sfp-qsfp-transceiver-not-linking-troubleshooting 覆盖偏置在更宽诊断顺序里的位置。
为何 800G 排先撞上限
算术无情,值得显式地做一次。
| 配置 | 光模块功耗 | 实际含义 |
|---|---|---|
| 64 口 × 7 W(400G 级) | 约 450 W | 传统笼子风道吸收得了 |
| 64 口 × 16 W(主流 800G) | 约 1024 W | 面板热量逼近 ASIC 自身 |
| 64 口 × 20 W(Class 8 件) | 约 1280 W | 需真实进风温度下验证的每槽风量 |
那股热停在面板,在排气方向,藏在机柜里最粗的线缆束后面。三个现场条件把一个合规设计变成勉强设计:
- 线缆体积。 带 MPO 干线的 OSFP 比笼子物理上更宽;十几个叠一起,像散热片鳍片一样挡住既定风道。从上方、越过笼子走线的电缆,是常见的静默贡献者。
- 环流。 缺挡风板、半满配笼子,让热排气绕回进风侧。机房温度看着正常;抵达笼子的空气不正常。
- 日周期。 进风温度在夜与午后之间漂移 5–8°C,单这一项就吃掉 Class 8 件的大部分裕量。
验收缺口
模块通常在早晨、半满配机箱、每日周期偏冷端验收。生产峰值发生在午后、满配机箱、偏热端。一个完全藏在这道缺口里的热问题,会穿过每一项验收测试,却仍会在生产里失败。若部署排期允许,签字前在一天的热峰重跑遥测扫描——这是最便宜的一小时预防性工作。
一个隔离原因的序列
下面的顺序如此构建:每步要么修好点什么、要么排除一个假设。跳步是站点最终把健康模块 RMA 掉的路径。
- 冻结事实。 导出受影响端口在峰值与谷值时的每端口温度、偏置、TX/RX 功率和标志位。没有这张两点图,之后一切都是猜。
- 区分机箱与模块。 若标志位聚在一排笼子或一台机箱,就查风道路径:风扇盘转速、挡风板、线缆走线、那排的进风温度。若标志位散布于多台机箱,则怀疑模块 SKU 或机房。
- 审计配置。 在你的进风温度下(而非规格书环境下)把模块功率等级对上交换机的每端口上限。一个在本体 45°C 进风、只合格到 Class 7 的笼子里插 Class 8 件,是无支持配置,交换机可能静默地通过节流来强制执行。
- 同类型内互换。 把一个受影响模块移到另一台机箱一个已知凉的端口,把一个健康模块插进那个热槽。若问题跟着槽走,是热问题;若跟着模块走,那才是个部件问题。
- 重查接触与连接。 一个跑得热的模块,也可能只是插入不到位,这同时抬高热接触电阻和电气反射。重新插紧、重新锁扣,确认笼子锁扣两侧都咔哒咬合。
- 记录修复,不止结果。 无论什么奏效——重布线、加挡风板、降功率等级——记录前后遥测。下一排会遭遇同样的物理。
当根本不是热问题
两个冒名者值得显式排除。一台故障风扇盘把一台机箱里每个模块一起抬高——那个被步骤 2 抓住。更隐蔽的是伪装成热问题的信号完整性:一条勉强电气通道表现出与流量相关的错误,而流量又与温度相关,于是两者看着像绑在一起。区分器是 TX 偏置:电气路径问题不会抬高偏置,而真正热的激光器会。若温度高但偏置平、错误与利用率突增相关,把时间花在 /400g-800g-link-budget-calculation 而不是风道上。
经得起下次复盘的修复
按实战中耐久度排序:
- 物理风道修正(线缆走线、挡风板、重新插紧)。免费、永久,并在多数现场案例里修复真正原因。
- 摊开高功率端口。 若只有部分端口需要 Class 8 件,把它们分散开,让单一笼子段不扛全部热密度。除了规划,零成本。
- 降档模块选择。 用 Class 7(15 W)件替代 Class 8(20 W)件,恢复裕量,代价是距离或介质选项。在想当然地以为能直接替换前,先用 /800g-transceiver-selection-guide 比较候选。
- 抬高机房制冷或降低设定点。 有效,但那是给面板问题的最贵修复,且通常预示笼子是按错误环境温度选的。
- 换笼子类型。 把热排从 QSFP-DD 移到 OSFP 换来散热片面积。对 AI 级密度是正确答案,对已购机箱是错误答案,所以它属于下一轮采购周期,而非这次事故。
不管用的是:调低告警阈值的固件小改。让告警闭嘴不会增加一瓦排热,而下一个被静音的通常是链路。
参考来源
- QSFP-DD MSA - CMIS specification - 贯穿全文的温度标志位、功率等级与通道遥测背后的通用管理接口规范(CMIS)。
- OSFP MSA - OSFP 笼子与散热片选项的机械与热包络定义。
- Ethernet Alliance - 多厂商互操作与热插拔演示,对笼子与模块合格实践的有用背景。
温度阈值、偏置上限与功率等级因型号和厂商而异。本文任何内容都不能替代你实际运行的交换机的合格模块清单与热降额矩阵。
FAQ
- 800G 模块在多少壳温下关机?
- 没有单一数字。多数模块支持 0 至 70 或 75°C 壳温,告警与关机点由管理接口逐件设定。读模块自己在 DDM 里的温度标志位,而不是假设一个规格书常数——主机通常在关掉通道前很久就告警了。
- 链路为何只在午后掉?
- 机柜进风温度随机房冷却周期走,而光模块功耗叠加在交换 ASIC 功耗之上。一条在流量与环境双峰时掉、过夜又恢复的链路,是热裕量问题而非部件故障的经典特征。
- 上升的 TX 偏置电流是模块坏掉的标志吗?
- 未必是坏掉的那一个。多数激光器类型偏置电流随结温上升,所以负载下偏置爬升常表示热应力。当偏置在稳定温度下持续爬升、或越过模块告警阈值时,它才成为更换判据。
- 我能用固件修热关机吗?
- 固件可以降低模块功率或重新核对合格功率等级,换来裕量,但它排不掉热。若笼子风道在你的真实进风温度下扛不住模块的功率等级,耐久修复是物理的:降功率等级、摊开高功率端口、或换笼子类型。
- 400G 模块有同样问题吗?
- 少得多。7–10 W 的 400G 模块给大多数笼子留下宽裕余量。800G 跳到 15–20 W,才把每槽风量从规格书脚注变成合格项,这也是问题集中在 800G 与 1.6T 排的原因。