lihang111
(TTY lihang)
1
问题描述
使用SP管理中的恢复出厂设置功能恢复BMC出厂设置,观察到SP任务执行完成后,BMC没有重启,也没有恢复到还原点的状态。
BMC日志有以下内容,看起来是SP获取BMC还原点失败,请问这个是什么问题

SP Failed to get BMC restoration resource respond data information from redfish
但是使用首页的恢复出厂设置功能,BMC会重启,然后恢复到还原点状态。
版本信息
SP:1.20.0.19
openUBMC 2512 LTS
答案内容由AI生成,仅供参考:
解决方案建议
方案一:确保SP成功启动一次以触发恢复任务
由于SP管理页面的恢复出厂设置是“延迟执行”的,必须满足以下条件才能生效:
- 在SP管理页面勾选“任务启动使能”;
- 执行恢复出厂设置,勾选“iBMC”选项;
- 重启服务器并在BIOS界面按F6进入SP模式;
- SP启动后将读取
StstemErase配置文件,执行对应的清除操作,包括BMC恢复出厂设置和重启。
注意:如果SP本身启动失败或未进入SP环境,则恢复任务不会被执行。
方案二:优先使用首页恢复出厂设置(推荐)
对于需要立即恢复BMC状态的场景,建议使用首页提供的恢复功能:
- 访问地址:
https://{IP}/UI/Rest/RestoreFactory
- 行为:
- 立即开始恢复流程;
- 自动重启BMC;
- 还原所有配置至出厂默认状态;
- 适用场景: BMC配置混乱、Web无法登录、需要快速恢复系统等。
方案三:排查Redfish接口通信问题(针对日志报错)
若希望SP也能正常执行BMC恢复,需解决其无法通过Redfish获取资源的问题:
排查步骤:
- 检查Redfish服务是否运行正常:
ps | grep redfish
- 测试Redfish接口能否访问关键资源:
GET https://{bmc_ip}/redfish/v1/Managers/1
查看返回中是否包含 Oem、Actions 等字段。
- 验证身份认证是否有效,确保SP使用的Token具有足够权限(Administrator级别)。
- 检查BMC资源树是否完整,特别是以下路径是否存在:
/bmc/kepler/Systems/1/Product
/bmc/kepler/product_mgmt
提示:该问题可能与 openUBMC 2512 LTS 版本中闭源模块初始化失败或数据库未持久化有关(见KG文档:1711烧片后, 闭源product_mgmt模块资源树路径丢失)。
点击此处查看详细分析解答
SP管理页面恢复出厂设置未生效问题分析
根据您提供的问题描述和日志信息,以下是对此问题的详细分析与解决方案。
问题概述
问题现象:
- 使用SP管理页面的“恢复出厂设置”功能时,即使勾选了iBMC选项并执行任务,BMC未重启,也未恢复到还原点状态;
- BMC日志中出现错误信息:
SP : Failed to get BMC restoration resource respond data information from redfish;
- 但使用首页的恢复出厂设置功能(URL:
https://{ip}/UI/Rest/RestoreFactory)则能正常触发BMC重启并完成恢复。
关键差异分析:两种恢复出厂设置方式
| 特性 |
首页恢复出厂设置 |
SP管理页面恢复出厂设置 |
| 触发路径 |
https://{ip}/UI/Rest/RestoreFactory |
https://{ip}/UI/Rest/BMCSettings/SPService/StstemErase |
| 是否立即重启BMC |
是 |
否 |
| 是否真正恢复出厂状态 |
是 |
依赖SP后续流程 |
| 底层机制 |
直接调用BMC原生恢复接口 |
创建SP系统擦除配置文件,等待SP启动时执行 |
结论:这不是一个“功能失效”问题,而是两种操作的设计逻辑本身就不同。
根本原因解析
-
SP管理页面恢复出厂设置的工作机制
- 该操作并不会立即重置BMC,而是:
- 在BMC侧创建一个名为
StstemErase 的SP系统擦除配置文件;
- 设置标记,仅在SP下一次启动时激活该任务;
- 标记中可包含对SP、硬盘、BIOS、iBMC等组件的恢复指令;
- 因此,仅执行此操作不会立即生效,必须让SP实际运行一次才能触发清除逻辑。
-
为何日志报错 Failed to get BMC restoration resource respond data information from redfish?
- SP在准备执行恢复任务前,会通过Redfish接口查询BMC的还原点资源信息;
- 如果此时BMC的Redfish服务异常、权限不足、或资源路径丢失(如
/bmc/kepler/Systems/1/Product),则会导致SP获取失败;
- 此错误说明:SP尝试联系BMC获取恢复所需资源失败,导致无法继续执行iBMC恢复流程。
-
首页恢复出厂设置为何成功?
- 此接口直接由BMC Web服务处理,不依赖SP;
- 它调用的是本地BMC系统的原生恢复机制(Recover Manufacturer Default Configuration);
- 恢复过程完成后自动触发 BMC Restart,从而完成整个恢复流程。
解决方案建议
方案一:确保SP成功启动一次以触发恢复任务
由于SP管理页面的恢复出厂设置是“延迟执行”的,必须满足以下条件才能生效:
- 在SP管理页面勾选“任务启动使能”;
- 执行恢复出厂设置,勾选“iBMC”选项;
- 重启服务器并在BIOS界面按F6进入SP模式;
- SP启动后将读取
StstemErase配置文件,执行对应的清除操作,包括BMC恢复出厂设置和重启。
注意:如果SP本身启动失败或未进入SP环境,则恢复任务不会被执行。
方案二:优先使用首页恢复出厂设置(推荐)
对于需要立即恢复BMC状态的场景,建议使用首页提供的恢复功能:
- 访问地址:
https://{IP}/UI/Rest/RestoreFactory
- 行为:
- 立即开始恢复流程;
- 自动重启BMC;
- 还原所有配置至出厂默认状态;
- 适用场景: BMC配置混乱、Web无法登录、需要快速恢复系统等。
方案三:排查Redfish接口通信问题(针对日志报错)
若希望SP也能正常执行BMC恢复,需解决其无法通过Redfish获取资源的问题:
排查步骤:
- 检查Redfish服务是否运行正常:
ps | grep redfish
- 测试Redfish接口能否访问关键资源:
GET https://{bmc_ip}/redfish/v1/Managers/1
查看返回中是否包含 Oem、Actions 等字段。
- 验证身份认证是否有效,确保SP使用的Token具有足够权限(Administrator级别)。
- 检查BMC资源树是否完整,特别是以下路径是否存在:
/bmc/kepler/Systems/1/Product
/bmc/kepler/product_mgmt
提示:该问题可能与 openUBMC 2512 LTS 版本中闭源模块初始化失败或数据库未持久化有关(见KG文档:1711烧片后, 闭源product_mgmt模块资源树路径丢失)。
建议与总结
| 建议项 |
内容 |
推荐做法 |
对于BMC恢复操作,优先使用首页恢复出厂设置功能,确保立即生效; |
SP用途说明 |
SP主要用于部署操作系统、固件批量升级、硬件诊断,其恢复功能为辅助性质,适用于带外批量运维场景; |
故障排查 |
若需SP执行BMC恢复,请确保其能成功启动,并检查Redfish接口通信状态; |
版本稳定性 |
openUBMC 2512 LTS 虽为长期支持版本,但仍可能存在Redfish/OEM接口兼容性问题,建议关注后续SP1补丁版本更新。 |
最终建议操作顺序:
- 使用 首页恢复出厂设置 快速恢复BMC;
- 若需使用SP进行自动化恢复,请确保SP可独立启动,并修复Redfish通信问题;
- 保留日志文件(可通过BMC一键收集)用于进一步分析SP与BMC交互细节。