// 此模板仅供参考,如果不适用可以修改
求助描述
在多电源的主备模式下,能否默认使能主用电源列表呢?
在社区文档没有看到有相关的配置介绍:CSR配置字典之PowerStrategy类 | 文档中心 | openUBMC
求助如何配置默认的主用电源列表。
// 此模板仅供参考,如果不适用可以修改
在多电源的主备模式下,能否默认使能主用电源列表呢?
在社区文档没有看到有相关的配置介绍:CSR配置字典之PowerStrategy类 | 文档中心 | openUBMC
求助如何配置默认的主用电源列表。
答案内容由AI生成,仅供参考:
根据您的求助描述,您希望在多电源的主备(Active/Standby)模式下,能够默认设置并使能主用电源列表(Expected Active PSU List)。您尝试在 PSR.sr 的 PowerStrategy_1 对象中配置 ExpectedActivePSU 字段但未生效。以下将结合知识库内容进行综合分析,并提供可行的配置方法。
虽然存在 ExpectedActivePSU 这一属性用于定义预期的主用电源单元,但它必须依赖正确的配置方式和前提条件才能生效,尤其是在主备模式(Active/Standby)下的行为控制。
您遇到的“配置不生效”问题,通常由以下几个因素造成:
ActiveStandbySupported = false);ExpectedActivePSU 是只读或运行时属性,无法直接静态写入;PowerWorkingMode)"LoadBalancing" 或 "Active/Standby"LoadBalancing:所有电源均分负载,全部为主用;Active/Standby:仅指定电源为主用,其余为备用电源。PowerStrategy_Basic:
PowerWorkingMode: "Active/Standby"
ActiveStandbySupported)falsePowerWorkingMode: "Active/Standby",如果 ActiveStandbySupported = false,系统仍不会真正启用主备逻辑。PowerStrategy_Basic:
ActiveStandbySupported: true
Custom_ExpectedActivePSU)
您提到的
ExpectedActivePSU是一个只读数组,用于反映当前系统的预期主用电源列表(来自知识图谱描述),不能直接通过 CSR 静态赋值生效。
正确的配置方式是使用 Custom_ExpectedActivePSU 参数,在出厂定制或运行时通过 BMC 设置指令来指定主用电源 ID 列表。
BMCSet_PowerWorkingMode=Active/Standby
Custom_ExpectedActivePSU=2,3
含义:设置工作模式为“主备”,并将 PSU2 和 PSU3 设为主用电源。
来源依据:
BMCSet_PowerWorkingModeCustom_ExpectedActivePSU的处理流程文档中明确指出此组合配置方式。
.ini 或定制脚本) 设置适用于系统初始化时即确定主用电源的场景。
# 启用主备工作模式
BMCSet_PowerWorkingMode=Active/Standby
# 指定主用电源槽位(例如 PSU2 和 PSU3)
Custom_ExpectedActivePSU=2,3
# 确保主备功能被支持
ActiveStandbySupported=true
# (可选)设置电源数量预期
BMCSetExpectedPSCount=4
注意事项:
Custom_ExpectedActivePSU 必须配合 BMCSet_PowerWorkingMode=Active/Standby 使用;ActiveStandbySupported=true,系统可能忽略主备配置;如果您希望在系统运行后动态配置主用电源列表,可通过以下方式:
SetPowerWorkMode# 设置 PSU2 为主用(Enabled)
busctl call /bmc/kepler/Systems/system0/PowerMgmt/PSU2 \
bmc.kepler.Systems.PowerMgmt.OnePower SetPowerWorkMode "a{ss}y" \
1 "work_mode" "enabled" 0
# 设置 PSU1 为备用(StandbySpare)
busctl call /bmc/kepler/Systems/system0/PowerMgmt/PSU1 \
bmc.kepler.Systems.PowerMgmt.OnePower SetPowerWorkMode "a{ss}y" \
1 "work_mode" "standby_spare" 1
接口说明:该接口位于
/bmc/kepler/Systems/:SystemId/PowerMgmt/:ID,由SetPowerWorkMode方法实现。
ipmitool 命令(需整机模式配置)根据知识库信息,单个 PSU 的 IPMI 设置容易被整机策略覆盖。
推荐使用整机电源配置命令:
# 设置整机电源模式为主备,并指定主用电源
ipmitool raw 0x30 0x93 0xdb 0x07 0x00 0x24 0x00 0x01 ...
但具体子命令和参数需参考
Set Power Saving Configuration文档(NetFn: 0x30, Cmd: 0x93, Sub-cmd: 0x24)。
ExpectedActivePSU 不生效?根据知识图谱数据:
{
"entity": "ExpectedActivePSU",
"type": "data",
"description": "ExpectedActivePSU is a read-only array of unsigned 8-bit integers listing the expected primary power supply units."
}
结论:
ExpectedActivePSU 是一个 只读属性(read-only),由系统策略模块(如 PowerStrategy)在应用 Custom_ExpectedActivePSU 后自动生成并填充。
正确做法:应配置 Custom_ExpectedActivePSU,由系统自动映射为只读的 ExpectedActivePSU。
busctl get-property bmc.kepler.Systems.PowerStrategy /bmc/kepler/Systems/system0/PowerStrategy \
bmc.kepler.Systems.PowerStrategy PowerWorkingMode
busctl call bmc.kepler.Systems.PowerStrategy /bmc/kepler/Systems/system0/PowerStrategy \
bmc.kepler.Systems.PowerStrategy GetPowerStrategyInfo
或通过日志查看:
journalctl -u power_strategy | grep "Active/Standby"
ActiveStandbySupported 已启用busctl get-property bmc.kepler.Systems.PowerStrategy /bmc/kepler/Systems/system0/PowerStrategy \
bmc.kepler.Systems.PowerStrategy ActiveStandbySupported
| 问题 | 解决方案 |
|---|---|
| 想默认设置主用电源列表 | 使用 Custom_ExpectedActivePSU 参数配置,而非 ExpectedActivePSU |
| 主备模式不生效 | 确保 ActiveStandbySupported = true 且 PowerWorkingMode = "Active/Standby" |
| 配置写入后未生效 | 应通过出厂定制配置或 D-Bus 接口设置,避免直接写只读字段 |
| 支持多 PSU 主备 | 当前 openUBMC 支持 4 电源主备,但需代码适配,建议提交 Issue 确认机型兼容性 |
编辑 BMC 初始化配置文件(如 bmc_config.ini 或 PSR 定制模板):
BMCSet_PowerWorkingMode=Active/Standby
Custom_ExpectedActivePSU=2,3
ActiveStandbySupported=true
BMCSetExpectedPSCount=4
重新生成镜像并刷机,确保配置加载。
上电后验证:
busctl 检查 PowerWorkingMode 和主用状态;"Set PowerActualWorkingMode to Active/Standby"。如有问题:检查电源健康状态、在位状态、是否满足主备策略的冗余条件(参考文档中“系统中有效电源模块冗余时才支持主备供电模式”提示)。
如仍有问题,建议向 openUBMC 社区提交 Issue,并附上 power_strategy 组件日志(journalctl -u power_strategy),以便进一步排查自动切换逻辑或兼容性问题。
相关链接:
当前仅2个电源支持主备模式设置,不支持多电源
2个电源可以设置默认主用电源是哪个吗?怎么设置呢
当前默认为负载均衡模式,若需要设置主备模式,需自行设置主用电源编号。
web/redfish/IPMI命令均可设置
电源设置2主4备的时候,出现这个报错信息,是为什么呢?
{
"error": [
{
"code": "ActivePsNotEnough",
"message": "Active PSUs are insufficient. Please reset SupplyList or set PowerWorkingMode to Sharing"
}
]
}
这是电源的PowerStrategy对象,和这个ExpectedActivePSU有关系吗?
当前仅支持2个电源的主备设置
ExpectedActivePSU为设置的主用电源