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模块或背板连接有关。
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中的环境日志综合判断。
五、一个可复用的排查顺序
面对“设备起不来”或“模块状态异常”,建议按以下顺序推进,避免跳步:
- 看电源与风扇:
show environment,确认是否有环境类告警。 - 看模块状态:
show module,记录每个槽位的Status与Slot。 - 看启动日志:
show logging logfile或Console输出,定位失败阶段。 - 若镜像加载失败:进入ROMmon,确认bootflash内容,设置boot变量并手动引导。
- 若POST或Line Card持续failure:记录错误码,检查槽位、Fabric模块,必要时更换硬件。
最后需要强调:硬件与启动故障诊断的目标不是“让设备亮起来”,而是准确判断故障位于电源、风扇、Supervisor、Line Card还是镜像层。只有定位到正确的层级,后续的更换、恢复或报修才有意义。对于双Supervisor、双电源的冗余架构,还要区分“冗余降级”与“业务中断”,避免把可容忍的告警误判为紧急故障。