// 此模板仅供参考,如果不适用可以修改
问题描述
1.2U2P服务器插2个900W电源,一个插电源线,一个不插,具体信息如下:
2.对服务器跑AC cycle测试,300圈,每次均对比各个硬件信息
[结果]
有些圈在抓取PSU信息时,信息错误,PSU某些信息如PN号,plug状态,max power capacity信息抓取不到,如下图,左侧为当圈信息,右侧为初始信息
这些信息很多都没有获取到
环境信息
- 软件版本:25.12
// 此模板仅供参考,如果不适用可以修改
1.2U2P服务器插2个900W电源,一个插电源线,一个不插,具体信息如下:
2.对服务器跑AC cycle测试,300圈,每次均对比各个硬件信息
[结果]
有些圈在抓取PSU信息时,信息错误,PSU某些信息如PN号,plug状态,max power capacity信息抓取不到,如下图,左侧为当圈信息,右侧为初始信息
这些信息很多都没有获取到
答案内容由AI生成,仅供参考:
该问题并非硬件故障,而是AC重启过程中因PSU状态信息上报与同步机制延迟所导致的偶发性信息不一致现象。
根本原因在于:psu_info.json更新滞后于AC上电操作,且BIOS未正确等待状态同步完成即生成DMI数据。
建议在自动化测试中延迟PSU信息读取时机,并优先使用Redfish/IPMI等实时接口进行采集,以规避该类问题。
长期建议优化power_mgmt与BIOS之间的状态同步机制,提升系统健壮性。
在对2U2P服务器执行AC重启(上电/下电)循环测试(共300次)过程中,系统在获取电源信息时概率性出现PSU信息异常,具体表现为:
dmidecode -t 39命令获取的电源信息不完整:
0 W(应为900 W)输入电压221V)输入电压0V)此问题在AC重启过程中非每圈发生,具有偶发性,影响BIOS/OS向DMI表上报PSU信息的准确性。
结合已有知识库信息,该问题源于系统在AC重启早期阶段读取PSU信息的时机不当,与PSU告警机制延迟及信息同步机制存在时间窗口差异有关。
psu_info.json更新延迟:系统通过OS热重启(OS Hot Restart)机制将最新的电源状态更新到PSUI_info.json文件,并通过IPMI命令上报给BIOS。PSUI_info.json文件的更新存在延迟,并非在电源一上电就立即完成,而是在OS重启流程中由power_mgmt模块完成数据采集与写入。PSUI_info.json尚未被完全更新前执行dmidecode命令,则读取到的是旧的、不完整的或默认值填充的信息(如Max Power Capacity = 0 W,Model Part Number = Unknown)。0x0300000D),这一过程存在处理延迟。
知识库佐证:
“如果两个电源一个插线,一个不插线,进行AC重启,在OS下发
dmidecode -t 39会发现两个电源都是OK,预期应该是一个OK,另一个Critical。这里分析是The AC/DC input of PSU 2 is lost or out-of-range这个告警生成靠后,没有把信息同步到BIOS。” —— Ref#2,6
| 因素 | 说明 |
|---|---|
| AC重启时序敏感 | 电源上电、BMC初始化、power_mgmt运行、psu_info.json生成、BIOS读取DMI等环节存在精确的依赖顺序和时间窗口。 |
| PSU无VIN_PG信号(潜在因素) | 若使用类似华为PAC800D12-B1的电源,其不提供VIN_PG/AC_PRESENT信号,仅依赖SMBAlert报告异常。这会导致CPLD/BMC无法快速判断AC是否真实丢失,进一步加剧误判和信息同步延迟风险。 |
| PSU通信与FRU读取依赖稳定电源 | 未通电的PSU无法响应PMBus/IPMI命令,导致其FRU信息(如PN号、Power Capacity)读取失败或取默认值。 |
不要在AC重启后立即执行dmidecode,建议在以下条件下再进行采集:
power_mgmt服务、PSU黑盒信息采集均已完成;ipmitool或Redfish API查询PSU状态是否已正确识别(如PSU2状态为"Absent"或"Critical");psu_info.json存在且内容完整(可通过SFTP或shell访问验证);# 示例:等待PSU信息就绪后再读取
while [ ! -f /var/lib/psu_info.json ] || ! grep -q "Max Power Capacity" /var/lib/psu_info.json; do
sleep 5
done
dmidecode -t 39
dmidecode依赖BIOS缓存的DMI信息,存在延迟和不一致。# 使用IPMI读取PSU状态
ipmitool sdr type "Power Supply"
ipmitool fru print 0 # 查看FRU信息
ipmitool dcmi power reading # 获取功耗统计
Redfish路径示例:
/redfish/v1/Chassis/1/Power
该问题并非硬件故障,而是AC重启过程中因PSU状态信息上报与同步机制延迟所导致的偶发性信息不一致现象。
根本原因在于:psu_info.json更新滞后于AC上电操作,且BIOS未正确等待状态同步完成即生成DMI数据。
建议在自动化测试中延迟PSU信息读取时机,并优先使用Redfish/IPMI等实时接口进行采集,以规避该类问题。
长期建议优化power_mgmt与BIOS之间的状态同步机制,提升系统健壮性。
参考资料引用:
Ref#2, #3, #6: “AC重启时psu_info.json更新不及时”
KG Entity:OS Hot Restart,PSU Info Json,AC Restart,PAC2000S12-B1,HUAWEI
这是通过什么查询的,os侧查询的吗
对,os下
os信息是怎么获取的,bios通过ipmi获取的吗,只获取一次?
是的,os重启时,bios会给BMC发ipmi命令,只上报一次信息,上报一个叫psu_info.json的文件,有时候pmbus还没获取到电源信息,BMC就开始和bios交互,就可能出现这种问题