【求助】OpenUBMC2509第三次AC上电时PSU4(备份供电)未设置standby

问题描述

PSU采用"主备供电"配置:PSU 1和3为主供电,PSU 2和4为备份供电。在第三次AC上电过程中,备份供电的Power4缺少mode设置日志,而主供电Power1/Power3及备份供电Power2均正常设置。

操作系统:

软件版本: OpenUBMC2509

硬件配置: 4个CRPS2000D2电源模块

  • PSU1、PSU3:主供电

  • PSU2、PSU4:备供电

重现步骤

  1. 执行第一次AC上电 - PSU1/2/3/4均正常设置active和standby mode

  2. 执行第二次AC上电 - PSU1/2/3/4均正常设置active和standby mode

  3. 执行第三次AC上电 - 主供电PSU1/3正常,备份供电PSU4缺少active和standby mode设置日志

期望结果

PSU 供电类型 AC1 AC2 AC3
PSU1 主供电 :white_check_mark: :white_check_mark: :white_check_mark:
PSU3 主供电 :white_check_mark: :white_check_mark: :white_check_mark:
PSU2 备份供电 :white_check_mark: :white_check_mark: :white_check_mark:
PSU4 备份供电 :white_check_mark: :white_check_mark: :white_check_mark:

三次AC上电中,备份供电PSU4都应该正常设置active和standby mode。

实际结果

AC次数 PSU1(主) PSU3(主) PSU2(备) PSU4(备)
AC1 (15:09) :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
AC2 (15:11) :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
AC3 (15:27) :white_check_mark: :white_check_mark: :white_check_mark: :cross_mark:

app.log.1.gz (390.1 KB)

尝试过的解决方案

  1. 对比三次AC的日志时序,发现AC3期间存在异常状态检测:

    • energy_metric.lua(315): The health status of the PSU is abnormal
  2. 确认PSU4硬件本身正常工作(能正常读取part_number、firmware)

分析结论

怀疑是在第三次AC期间,power_strategy 模块的 energy_metric.lua 检测到PSU健康状态异常和电源模式不支持。

求助

  1. 为什么备份供电PSU4在AC3期间被跳过?

答案内容由AI生成,仅供参考:

结论与建议

  • 根本原因:OpenUBMC power_strategy 模块及配套前端功能当前仅支持 2个电源 的主备模式,对于4电源场景,主备切换功能不完整。第三次AC上电时,备份电源PSU4的模式设置被跳过是代码能力限制所致。
  • 解决方案(根据上下文 Wwhh 建议):
    • 自行适配前端界面,屏蔽多余的电源选项或调整主备切换逻辑。
    • 等待社区后续版本增加对多电源主备切换的支持。
  • 若您希望验证,可参考 topic_id 5961 中关于 ActiveStandbySupported 配置的解决方案:确认CSR配置中是否已正确设置 "ActiveStandbySupported": true(虽然前两次正常,但建议检查)。
点击此处查看详细分析解答

根据提供的上下文信息,针对您提出的OpenUBMC2509在第三次AC上电时备份供电PSU4未设置standby模式的问题,分析如下:

核心原因

1. power_strategy 模块不支持4电源场景的主备切换

在OpenUBMC社区讨论中(见上下文 topic_id 3998),有明确回答:

Wwhh: 不支持,仅支持2个电源
Kltk Zhuyuanli: 显示的话应该可以,但是主备切换不行

您配置了4个CRPS2000D2电源模块(PSU1~4),并尝试使用“主备供电”模式(PSU1/3为主,PSU2/4为备)。但 power_strategy 模块的设计限制仅支持 2个电源 的负载均衡或主备切换。因此,在多次AC上电过程中,系统对第3、第4个电源(尤其是备份的PSU4)的模式设置逻辑可能存在缺陷或遗漏,导致第三次AC时PSU4被跳过。

2. AC上电时序与电源初始化问题

根据上下文 topic_id 2889 的讨论,AC上电初期电源模块尚未完成初始化(OFF状态),此时BMC发送的主备设置命令可能无效。虽然后续系统会尝试通过 power_strategy 恢复之前保存的模式配置,但由于4电源场景不被支持,恢复逻辑可能只处理了前两个电源(PSU1/2)而对PSU3/4未能正确处理,从而出现前两次AC正常、第三次AC异常的现象。

3. 健康状态异常检测可能作为后果而非原因

您在日志中观察到:

energy_metric.lua(315): The health status of the PSU is abnormal

该告警可能是 power_strategy 模块在处理PSU4时,由于模式设置失败或电源状态不符合预期而触发的,并非PSU4本身硬件故障。知识图谱中 PSUsUnavailableOfflineCausePSUsOutputVoltageLow 等参数用于监测电源异常,但其具体取值在上下文中未提供,无法直接关联。

结论与建议

  • 根本原因:OpenUBMC power_strategy 模块及配套前端功能当前仅支持 2个电源 的主备模式,对于4电源场景,主备切换功能不完整。第三次AC上电时,备份电源PSU4的模式设置被跳过是代码能力限制所致。
  • 解决方案(根据上下文 Wwhh 建议):
    • 自行适配前端界面,屏蔽多余的电源选项或调整主备切换逻辑。
    • 等待社区后续版本增加对多电源主备切换的支持。
  • 若您希望验证,可参考 topic_id 5961 中关于 ActiveStandbySupported 配置的解决方案:确认CSR配置中是否已正确设置 "ActiveStandbySupported": true(虽然前两次正常,但建议检查)。

由于上下文未提供 energy_metric.lua 的具体跳过逻辑细节,我无法给出更精确的时序分析。如需进一步排查,建议提供第三次AC上电前后更完整的 app.log 以及 power_strategy 相关模块的调试日志。