ipmitool可直接读取风扇和电源底层状态,但需先确认BMC通路可用、传感器已启用,否则显示Invalid data或空列表;应依次执行mc info、lan print、sensor list等命令验证连通性与传感器就绪状态。

ipmitool 能直接暴露风扇和电源的底层状态,但必须先确认 BMC 通路可用、传感器数据可读,否则看到的全是 Invalid data field 或空列表。
检查 BMC 连通性与传感器是否就绪
很多“风扇不显示”或“电源状态未知”的问题,根源是 BMC 没响应或传感器未启用。别急着查风扇,先跑通基础链路:
- 本地执行
ipmitool mc info:看是否返回固件版本、UP Time。如果报错Unable to establish IPMI v2 / RMCP+ session,说明内核模块没加载或 BMC 未上电 - 远程执行
ipmitool -I lanplus -H 192.168.1.100 -U admin -P calvin mc info:若超时,检查ipmitool lan print 1输出的 IP 是否可达、VLAN 是否匹配、防火墙是否放行 UDP 623 端口 - 运行
ipmitool sensor list | grep -i "fan\|power\|voltage":若无输出或大量ns(non-present),可能是传感器被 BIOS 禁用,需进 BMC Web 界面或 BIOS 启用 “IPMI Sensor Monitoring”
识别真实风扇故障而非误报
风扇状态不能只看转速数字——BMC 可能上报虚假高值(如固定 12700 RPM)或持续 0 RPM,这往往不是风扇坏了,而是控制逻辑异常或传感器失联:
- 用
ipmitool sensor get "FAN1"查具体字段:重点关注State(是否为0x01即 “Sensor is operational”)、Reading(实际 RPM)、Event Reading(是否含Fan Failure或Lower Critical - going low) - 对比多个风扇:如果只有单个 FANx 显示
nr(non-recoverable)而其余正常,大概率是该风扇硬件断连或插槽接触不良;若全部 FANx 都为ns,则是 BMC 风扇监控模块整体失效 - 注意厂商差异:Dell 服务器常用
FAN MODx命名,浪潮可能叫FANx_SYS,用ipmitool sensor list | grep -E "(FAN|fan)"先确认实际名称再sensor get
电源类故障的三层验证法
电源问题最容易被误判为“宕机”,其实 BMC 往往早有记录。不要只依赖 chassis power status,它只反映主电源开关状态,不反映 PSU 实际健康:
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
- 第一层:查传感器——
ipmitool sensor get "PSU1 Status"或"12V",看Event Reading是否含Predictive Failure或Presence detected变为Not present - 第二层:查事件日志——
ipmitool sel list | grep -i "power\|psu\|failure",重点找时间戳接近故障时刻的条目,如0x0400: Power Supply Failure(标准 IPMI 事件代码) - 第三层:交叉验证——
ipmitool fru print查 PSU 的 FRU 信息(型号、FW 版本),老旧 PSU 固件 bug 会导致间歇性掉电,升级 BMC 和 PSU FW 常比换硬件更有效
raw 命令调试风扇控制前必看
用 raw 0x30 0x30 强制设风扇转速看似直接,但极易触发 BMC 保护机制导致后续命令拒绝响应,尤其在 Dell 和 HPE 机型上:
- 执行前务必先关自动控制:
ipmitool raw 0x30 0x30 0x01 0x00,否则强制指令会被忽略 - 转速值不是百分比,是 0x00–0xFF 的十六进制数,
0x64= 100%,0x32= 50%,但部分厂商(如华为)用 0x00–0x3F 表示 0–100%,填错会卡死风扇控制器 - 修改后必须手动恢复自动模式:
ipmitool raw 0x30 0x30 0x01 0x01,否则重启后仍维持强制状态,高温风险极高 - 某些 BMC(如 Supermicro X11 系列)对 raw 命令频率有限制,连续发送间隔需 >2 秒,否则返回
Invalid command
真正棘手的是传感器数据“看起来正常”但风扇狂转或 PSU 频繁切换——这时得怀疑 BMC 固件 bug 或温度传感器漂移,不能只盯着 ipmitool 输出,要结合 ipmitool sel list 里历史事件的时间密度、以及物理触摸散热片实测温度来交叉判断。










