升级SR hpm后组件启动异常,BMC一直重启

// 此模板仅供参考,如果不适用可以修改

问题描述

升级SR hpm后组件启动异常,BMC一直重启

环境信息

  • 操作系统:[如 Ubuntu 24.04]

  • 软件版本:OpenUBMC2606 950机型

  • 硬件配置:[如 CPU、内存等]

重现步骤

  1. 升级SR hpm包

  2. BMC自动重启

  3. 检查BMC启动状态

期望结果

BMC启动正常

实际结果

升级SR hpm后组件启动异常,BMC一直重启

尝试过的解决方案

[列出您已经尝试过的解决方案及结果]

分析结论

升级操作日志

2026-08-17 11:10:09 WEB,Administrator@10.33.245.127,web_backend,Upload file(image_CJ.hpm) successfully
2026-08-17 11:10:10 WEB,Administrator@10.33.245.127,firmware_mgmt,Upgrade image_CJ.hpm started
2026-08-17 11:10:31 WEB,Administrator@10.33.245.127,firmware_mgmt,Upgrade (HWSR) with (image_CJ.hpm) successfully
2026-08-17 11:10:37 WEB,Administrator@10.33.245.127,maca,Reset BMC start
2026-08-17 11:10:41 WEB,Administrator@10.33.245.127,firmware_mgmt,Reset BMC caused by upgrade successfully
2026-08-17 11:11:04 WEB,Administrator@10.33.245.127,maca,Reset BMC successfully

升级后一直有组件启动检查失败,导致BMC强制重启

Line 1370: 2026-08-17 11:13:29.233974 maca NOTICE: init.lua(301): check startup status completely, total components count: 57, normal count: 51, abnormal components: ["lsw","ai_engine","ddns","product_mgmt","network_adapter","remote_console"]
Line 1371: 2026-08-17 11:13:29.291152 maca NOTICE: init.lua(399): start to restart abnormal components and recheck startup status
Line 1754: 2026-08-17 11:17:43.561456 maca NOTICE: init.lua(301): recheck startup status completely, total components count: 57, normal count: 55, abnormal components: ["lsw","ddns"]
Line 2929: 2026-08-17 11:14:45.960635 maca NOTICE: init.lua(301): check startup status completely, total components count: 57, normal count: 51, abnormal components: ["lsw","ai_engine","ddns","account","usb_entry","product_mgmt"]
Line 2930: 2026-08-17 11:14:47.102502 maca NOTICE: init.lua(399): start to restart abnormal components and recheck startup status
Line 3133: 2026-08-17 11:24:32.421344 maca NOTICE: init.lua(301): recheck startup status completely, total components count: 57, normal count: 55, abnormal components: ["lsw","ddns"]
Line 4314: 2026-08-17 11:16:15.407804 maca NOTICE: init.lua(301): check startup status completely, total components count: 57, normal count: 50, abnormal components: ["ai_engine","ddns","event","account","license","product_mgmt","remote_console"]
Line 4315: 2026-08-17 11:16:16.085102 maca NOTICE: init.lua(399): start to restart abnormal components and recheck startup status
Line 4493: 2026-08-17 11:31:20.230946 maca NOTICE: init.lua(301): recheck startup status completely, total components count: 57, normal count: 56, abnormal components: ["ddns"]
Line 5600: 2026-08-17 11:17:24.869008 maca NOTICE: init.lua(301): check startup status completely, total components count: 57, normal count: 51, abnormal components: ["lsw","ai_engine","rmcpd","ddns","product_mgmt","remote_console"]
Line 5601: 2026-08-17 11:17:26.115545 maca NOTICE: init.lua(399): start to restart abnormal components and recheck startup status
Line 5978: 2026-08-17 11:36:15.259433 maca NOTICE: init.lua(301): recheck startup status completely, total components count: 57, normal count: 55, abnormal components: ["lsw","ddns"]
2026-08-17 11:36:15.466200 maca NOTICE: init.lua(248): Success to record BMC reset cause, code: 16
2026-08-17 11:36:15.470577 maca NOTICE: init.lua(275): Force Reset begin
2026-08-17 11:36:15.471230 maca NOTICE: init.lua(141): BMC reset type:normal system
2026-08-17 11:36:15.935555 maca NOTICE: init.lua(279): force reset bmc successfully
2026-08-17 11:36:16.374394 maca NOTICE: init.lua(110): stop watchdog timer

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

:pushpin: 总结

本次问题与知识库中多个升级后组件启动失败导致 BMC 反复复位的案例高度相似。建议优先从组件配置完整性版本兼容性以及代码副作用三个方面入手排查,结合具体组件的日志定位根本原因。

如果上述排查后仍无法解决,可以提供更具体的组件日志(如 lswddns 的异常信息),以便进一步分析。

点击此处查看详细分析解答

根据您提供的信息及知识库中的相关内容,针对“升级SR hpm后组件启动异常,BMC一直重启”的问题,以下从可能原因、排查方向和建议进行分析。

:clipboard: 问题概要

  • 升级 HWSR 的 HPM 包成功(Upgrade (HWSR) with (image_CJ.hpm) successfully)。
  • BMC 正常触发升级复位(Reset BMC caused by upgrade successfully)。
  • BMC 启动过程中多次出现组件启动状态检查失败,异常组件列表动态变化(如 lswddnsai_engineaccount 等)。
  • 最终 BMC 触发强制复位Force Reset),复位原因码为 16(对应知识库中的 0x10 复位事件)。

:magnifying_glass_tilted_left: 可能原因(基于知识库)

:one: 组件启动配置错误或缺失依赖

根据知识库中关于组件启动失败的定义:

组件启动失败发生在启动状态连续六次检查仍为“starting”,或由于缺少/错误的 deployConfig 字段导致。

此类问题在升级后可能表现为:

  • 新固件中组件配置文件(如 .service 文件、launch_control.json)不一致或损坏。
  • 升级包未正确更新组件依赖关系(如 D-Bus 服务未注册)。

:page_facing_up: 参考来源

:two: 版本兼容性问题(SDK / Manifest 不匹配)

已有类似案例:

升级后 account 组件初始化检查失败,原因是 SDK 5.11 与 Manifest 5.12 不兼容。

升级包可能隐含了版本依赖变化,若 SDK 或 manifest 版本未正确对齐,会导致关键组件(如 accountlicense)无法正常启动。

:page_facing_up: 参考来源

:three: 代码修改引入全局命名空间污染(类似 spdm 案例)

社区曾有案例:

spdm/1.0.17 组件因 PR 修改 src/lualib/spdm_app.lua 将外部库放到全局,导致正常业务启动失败,BMC 每5分钟复位一次并最终回退。

若您使用的 openUBMC2606 版本中的某些组件(如 lswddns等)可能因代码改动引入了类似问题,导致启动检查失败。

:page_facing_up: 参考来源

:four: 升级包本身存在问题(但升级过程显示成功)

知识库指出:

  • 升级包成功但包有问题可能导致 BMC 重启失败,系统会自动回退到旧版本。
  • 但本次升级后虽未立即回退,但组件反复异常可能源于包内组件配置或通信协议不兼容(如 I2C 总线占用、初始化超时)。

:page_facing_up: 参考来源

:five: 启动时序问题(模块间先后顺序)

类似案例:

四电源环境下重启 BMC,概率性出现电源冗余丢失告警,怀疑是 power_strategy 过早开始监听,未等所有模块启动完成。

升级后新的组件加载顺序或监听时机变化,可能导致部分组件启动检查时依赖未就绪,造成反复失败并触发复位。

:page_facing_up: 参考来源

:six: 系统复位机制触发(符合设计逻辑)

根据 MACA 框架的启动检查逻辑:

  • 组件启动状态检查失败后,系统会先尝试重新启动异常组件。
  • 若多次(默认配置为3次)重试仍无法恢复,BMC会触发强制复位(Force Reset)。
  • 日志中出现了多次 recheck startup status 及最终 Force Reset begin,说明该机制被正常触发,但根本原因仍在于组件无法完成初始化。

:page_facing_up: 参考来源

  • 文档块5:1.2.1 健康状态检查失败立即重启子系统进程CONTINUOUS_OFFLINE_MAX_RESET_TIMES=3
  • 文档块5:1.3.2 升级完BMC不会重启 中关于平滑重启与强制重启的说明
  • KG:BMC Restart 实体描述中的触发条件

:wrench: 排查与解决建议

:one: 聚焦异常组件的具体日志

  • 重点查看 /var/log/app.loglsw、ddns、ai_engine、account 等组件的启动失败详细信息。
  • framework.log(maca 组件的日志)中搜索对应组件报错,例如 StartupCheck failedinitialization is not complete(参考文档块4中的 iam 组件失败日志)。

:two: 检查组件配置完整性

  • 确认 /etc/systemd/system/ 下是否存在对应组件的 .service 文件及软链接。
  • 检查组件自身的 deployConfig 字段是否配置正确(参考KG中component startup failure)。
  • 对比同一版本的正常环境,核对组件列表和启动参数是否一致。

:three: 验证版本兼容性

  • 检查当前使用的 SDK 版本Manifest 版本 是否匹配(可参考搜索结果4中的处理方式)。
  • 与社区基线 openUBMC2606 的官方 manifest 交叉比对,确认升级包使用的组件版本是否符合要求。

:four: 回退测试与增量排查

  • 如果环境允许,使用 ipmcset -d rollback 回退到升级前的分区,确认问题是否消失。
  • 若回退后正常,说明问题由新固件引起;可尝试替换单个异常组件(如 lswddns)的旧版本固件进行二分定位。

:five: 检查全局变更(spdm 类似问题)

  • 回顾最近升级包涉及的代码变更,特别是 src/lualib/ 下的文件修改(参考文档块3)。
  • 检查是否将外部库错误地放到了全局命名空间,导致多个组件启动受影响。

:six: 借助 IPMI 基本诊断命令

  • 执行 ipmitool mc info 确认 BMC 设备可用状态、附加设备支持是否正常(参考文档块9)。
  • 此命令可快速判断 BMC 核心功能是否正常,作为排除基础性问题的第一步。

:pushpin: 总结

本次问题与知识库中多个升级后组件启动失败导致 BMC 反复复位的案例高度相似。建议优先从组件配置完整性版本兼容性以及代码副作用三个方面入手排查,结合具体组件的日志定位根本原因。

如果上述排查后仍无法解决,可以提供更具体的组件日志(如 lswddns 的异常信息),以便进一步分析。

一键日志

S950X00_2102315RYV10S1100006_20260817-1355.zip (17.2 MB)

看下app.log日志lsw、ddns异常的原因,可能是分发对象缺失

目前更换硬件配置后,暂未出现该问题

这个与硬件配置有关吗

有可能相关,但不像单纯硬件坏了。SR 已经升级成功,后续是 maca 检查到 lsw、ddns 等组件异常才复位;换硬件不复现,说明更像 SR/profile 和当前硬件资源或分发对象没对上。建议对比两套硬件第一次异常前后的 app.log,重点搜 object missingdistributeinit failed

lsw NOTICE: object_manage.lua(804): fetch hwdiscovery objects completely, took 0 ms, uptime: 717 s

这是正常的吗

ddns

正常的,lsw没有要从自发现获取分发的对象

那这目前感觉确实看不出来啥原因

ddns、lsw这两个组件在启动阶段没有任何报错吗

没有