2. Nexus硬件与启动故障诊断

Nexus交换机的硬件与启动故障,往往比配置类故障更“硬”:一旦Supervisor或Line Card卡在某个状态,设备可能根本无法进入NX-OS命令行,后续所有排障手段都无从谈起。因此,本节的核心不是“敲什么命令”,而是先建立一张硬件状态与启动阶段的判断地图,再针对不同阶段选择正确的恢复路径。

一、先分清三类硬件对象的状态语义

Nexus机箱式设备通常由Supervisor(管理引擎)、Line Card(业务线卡)、Fabric Module(交换矩阵模块)以及电源、风扇等组成。诊断的第一步是确认“谁没起来”。在能进入CLI的情况下,最常用的入口是:

show module
show module xbar
show environment
show inventory

show module输出中,每个槽位的Status字段是关键。常见状态包括:ok表示模块已上电并通过自检;poweredUp表示已加电但尚未完全就绪;poweredDown表示未加电;failure表示模块自检失败;offline表示模块被管理性下线;standby表示该Supervisor处于热备状态。需要特别注意的是,Supervisor的active与standby是角色状态,不是故障状态;而Line Card长期停留在poweredUp或反复failure,才是需要重点排查的对象。

如果设备完全无法进入CLI,则只能通过Console口观察启动过程。此时应关注POST(上电自检)阶段打印的模块编号、错误码和“FAILED”字样,而不是盲目重启。

二、启动失败的阶段划分与判断

Nexus启动大致分为:电源与风扇就绪 → Supervisor POST → 加载NX-OS镜像 → 初始化Line Card与Fabric → 进入CLI。不同阶段失败,现象和处置方式完全不同。

  • 电源/风扇阶段失败:设备无任何输出,或前面板电源灯不亮、风扇不转。应先检查PDU、电源线、电源模块指示灯,再用show environment查看电源与风扇的告警。
  • POST阶段失败:Console出现POST错误,Supervisor可能卡在“Testing”或直接报错。此时不要反复断电,应记录错误码。
  • 镜像加载失败:常见于bootflash中镜像损坏、启动变量指向错误镜像,或镜像与硬件不兼容。现象是反复重启或停在loader提示符。
  • Line Card/Fabric初始化失败:Supervisor能进CLI,但show module中某槽位长期poweredUp或failure,通常与线卡、槽位、Fabric模块或背板连接有关。
判断原则:能进CLI的,优先用show module和show environment定位;进不了CLI的,用Console观察启动阶段,再决定是否进入ROMmon。

三、ROMmon恢复:什么时候用、怎么用

ROMmon是Nexus在NX-OS镜像无法正常加载时提供的底层恢复环境。典型触发场景包括:bootflash中的镜像被误删或损坏、启动变量boot指向不存在的镜像、升级过程中断电导致镜像不完整。进入ROMmon后,设备不会自动加载NX-OS,而是停在loader>提示符。

恢复的核心思路是:先确认可用镜像,再设置启动变量,最后手动引导。示例操作如下(镜像名与IP为示例,实际以现场为准):

loader> dir bootflash:
loader> set boot bootflash:/nxos.9.3.10.bin
loader> save
loader> boot bootflash:/nxos.9.3.10.bin

如果bootflash中已无可用镜像,则需要通过TFTP或USB从外部获取镜像。使用TFTP时,先在ROMmon中配置管理口IP与网关:

loader> set ip 192.0.2.10 255.255.255.0
loader> set gw 192.0.2.1
loader> tftp 192.0.2.100 get nxos.9.3.10.bin bootflash:/nxos.9.3.10.bin

传输完成后,用dir bootflash:确认文件大小与校验值,再执行boot。需要强调的是,ROMmon恢复只解决“镜像加载”问题;如果POST阶段就失败,ROMmon通常也无能为力,应转向硬件排查。

四、电源与风扇告警的判读

电源和风扇属于环境类故障,通常不会直接导致设备宕机,但会触发告警甚至降级运行。show environment会列出每个电源模块、风扇托盘的状态、转速、温度以及输入电压。常见告警包括:

  • Power supply failure:某个电源模块无输出或输入异常。若为双电源配置,单路故障不影响运行,但应尽快更换。
  • Fan failure / Fan speed low:风扇转速低于阈值或停转。多风扇系统中单个故障可能仅告警,但持续恶化会导致温度上升。
  • Temperature alarm:进风口或内部温度超阈值,通常与风扇、机房空调或风道堵塞有关。

判断时不要只看“有没有告警”,而要看“是否影响业务”。例如双电源中一路故障,设备仍可运行;但若温度持续上升,则可能触发保护性关机。此时应结合show environment temperature和show logging中的环境日志综合判断。

Nexus硬件与启动故障诊断路径 电源/风扇就绪 show environment Supervisor POST Console观察 加载NX-OS镜像 boot变量/镜像 Line Card/Fabric show module 进入CLI 正常运维 电源/风扇告警 Power supply failure Fan failure / Temp alarm POST失败 Console报错码 硬件自检未通过 镜像加载失败 bootflash损坏/误删 boot变量错误 Line Card异常 poweredUp/failure 槽位/Fabric问题 对应处置手段 更换电源/风扇 检查PDU与风道 show environment 记录POST错误码 联系TAC/更换Supervisor 避免反复断电 进入ROMmon恢复 set boot / tftp get boot bootflash:镜像 重插/更换线卡 检查槽位与Fabric show module xbar 关键判断原则 • 能进CLI:优先 show module / show environment / show logging 定位 • 进不了CLI:Console观察启动阶段,区分POST失败与镜像加载失败 • ROMmon只解决镜像问题;POST失败属于硬件问题,需更换或报修

五、一个可复用的排查顺序

面对“设备起不来”或“模块状态异常”,建议按以下顺序推进,避免跳步:

  1. 看电源与风扇:show environment,确认是否有环境类告警。
  2. 看模块状态:show module,记录每个槽位的Status与Slot。
  3. 看启动日志:show logging logfile或Console输出,定位失败阶段。
  4. 若镜像加载失败:进入ROMmon,确认bootflash内容,设置boot变量并手动引导。
  5. 若POST或Line Card持续failure:记录错误码,检查槽位、Fabric模块,必要时更换硬件。
不要在没有记录错误信息的情况下反复重启。Nexus的POST错误码和模块状态是判断硬件故障的关键证据,反复断电可能掩盖原始故障现象,甚至扩大故障范围。

最后需要强调:硬件与启动故障诊断的目标不是“让设备亮起来”,而是准确判断故障位于电源、风扇、Supervisor、Line Card还是镜像层。只有定位到正确的层级,后续的更换、恢复或报修才有意义。对于双Supervisor、双电源的冗余架构,还要区分“冗余降级”与“业务中断”,避免把可容忍的告警误判为紧急故障。