电源或主板异常关机通常不留下软件级 shutdown 记录,而是表现为“无告警断电”或“硬重启”,关键证据在 BMC SEL 日志和内核日志中:SEL 中 PowerUnit Asserted 表示 PSU 实际掉电,反复出现说明供电中断;dmesg 中 unclean、journal aborted 等提示表明未完成关机;last -x 缺失 shutdown 条目、系统日志时间早于 BMC 断电时间戳,可确认为硬件级异常。

直接看 BMC SEL 日志和内核日志,电源或主板异常关机通常不留下软件级 shutdown 记录,而是表现为“无告警断电”或“硬重启”,关键证据藏在硬件层日志里。
查 BMC 系统事件日志(SEL)
BMC 是第一手证据源,它独立于操作系统运行,能记录电源、温度、电压等底层事件:
- 用
ipmitool sel list获取完整事件列表,重点关注含 PowerUnit、Power Supply、System Event 的条目 - 过滤电源掉电信号:
ipmitool sel list | grep -i "PowerUnit.*Asserted"—— Asserted 表示 PSU 实际断电,反复出现说明供电中断 - 检查 PSU 状态:
ipmitool sdr list | grep -i psu,输出如PSU1 Status: failure或PSU2 Input Vol: 0.0V即为硬件故障线索
看内核日志中的断电痕迹
系统突然失电时,内核来不及写入 shutdown 日志,但会留下“未完成操作”的蛛丝马迹:
- 运行
dmesg -T | tail -50,搜索关键词:unclean、dirty、fsck、aborted、journal has been aborted - 特别注意类似这样的输出:
[ 12.345678] systemd-journald[479]: File /var/log/journal/.../system.journal corrupted or uncleanly shut down
——这是断电最直接的内核证据 - 用
journalctl -b -1 | grep -i "power\|thermal\|hardware"查上一次启动时是否报过电压/温度异常(部分 BMC 会透传至内核)
比对系统日志与时间线
排除人为关机或计划任务干扰,确认是否真为硬件级异常:
- 执行
last -x | head -15,如果最近几次shutdown条目缺失,或reboot后紧跟着又一个reboot(中间无 shutdown),大概率是硬重启 - 检查
/var/log/messages或/var/log/syslog中是否有临近关机时刻的 ACPI 相关日志,如:ACPI: Power Button (FF)或ACPI: button: Power Button—— 若没有,基本可排除软关机 - 对比 BMC 时间戳与系统日志时间:若 BMC 显示 14:22:03 断电,而系统日志最后一条是 14:22:01,且无后续 shutdown 记录,就是典型电源异常
验证供电环境与硬件状态
日志指向硬件问题后,需现场交叉验证:
- 登录 BMC Web 界面 → 进入 Power / Health 页面,查看实时输入电压、PSU 风扇转速、电源效率曲线
- 检查物理连接:PDU 是否有红灯告警、电源线插头是否松动、双电源是否一只空载或频繁切换
- 观察服务器功耗是否超限:在 BMC 或厂商工具(如 Dell OpenManage、HPE iLO)中调取历史功耗曲线,对比 PSU 额定功率(例如 800W PSU 持续跑 780W 容易触发保护)


















