【问题描述】测试进行反复AC测试过程中,出现IP能ping通,但是Web无法连接问题
【基线版本】openUBMC 2509
【定位步骤】
1.尝试SSH使用ipmcget -d dia 一键收集日志,出现以下报错

2.尝试使用telnet连接BMC,查看framework.log发现出现大量组件启动检查失败
3.通过手动在telnet下将/var/log/目录的日志压缩下载见附件
dump.tar.gz.txt (9.2 MB)
【问题描述】测试进行反复AC测试过程中,出现IP能ping通,但是Web无法连接问题
【基线版本】openUBMC 2509
【定位步骤】
1.尝试SSH使用ipmcget -d dia 一键收集日志,出现以下报错

2.尝试使用telnet连接BMC,查看framework.log发现出现大量组件启动检查失败
答案内容由AI生成,仅供参考:
| 项目 | 结论 |
|---|---|
| 问题类型 | BMC 组件初始化失败导致 Web 服务不可用 |
| 根本原因 | 多次 AC 循环后,bmc.kepler.web_backend 等组件因 D-Bus 服务文件缺失或加载失败,导致启动检查失败 |
| 触发条件 | openUBMC 2509 基线 + 反复 AC 循环 |
| 解决方案 | 升级至 openUBMC 25.12 或更高版本,确保构建包中包含完整 .service 文件 |
| 临时规避 | 手动重启 BMC 或关键服务 |
建议:将此类问题纳入 AC 压力测试标准用例,并监控
init.lua启动检查日志,及时发现组件异常。
根据您提供的详细问题描述和日志信息,该问题表现为在 反复 AC 测试过程中,BMC 虽然 IP 可达且 SSH 可登录,但 Web 服务无法连接,且 ipmcget -d dia 命令执行失败,日志显示大量组件启动检查失败。
结合知识库中的信息,本报告对问题进行综合分析与定位,总结如下。
在 openUBMC 2509 基线版本下,进行多次 AC 上下电循环(ACcycle Test) 后,BMC 系统出现严重初始化异常,导致 多个关键组件(如 account、bmc_health、firmware_mgmt、redfish 等)无法正常启动,进而引发:
ipmcget -d dia)失效DBus 错误此问题已被多个用户在测试中复现,是 openUBMC 2509 版本中 AC 压力测试下的典型稳定性问题之一。
从提供的 framework.log 中可提取以下几类关键错误:
DBus.Error.ServiceUnknown:服务未注册ERROR: init.lua(186): [web_backend]StartupCheck failed, error: org.freedesktop.DBus.Error.ServiceUnknown: The name bmc.kepler.web_backend was not provided by any .service files
bmc.kepler.web_backend 服务未被 D-Bus 系统识别,通常是因为 .service 文件缺失或加载失败。bmc.kepler.web_backend 是 Web 服务的后端核心组件,其失败将直接导致 Web 无法启动。
bmc.kepler.web_backend是一个后端服务,负责处理 Web 请求,若其启动失败或缺少 D-Bus 服务文件,将导致服务不可用。DBUS Error ServiceUnknown 是运行时错误,表示请求的服务未注册或
.service文件缺失。
DBus.Error.UnknownObject:对象路径不存在ERROR: init.lua(186): [account]StartupCheck failed, error: org.freedesktop.DBus.Error.UnknownObject: Unknown object path /bmc/kepler/account/Microcontroller
DBus.Error.NoReply:D-Bus 通信超时ERROR: init.lua(186): [bios]StartupCheck failed, error: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
结合日志和知识库信息,可得出以下推断:
该问题是由于在 AC 循环过程中,多个组件未能在初始化阶段成功注册 D-Bus 服务,导致
init.lua启动检查失败,进而引发 Web 服务等依赖组件无法启动。
bmc.kepler.web_backend、account、firmware_mgmt 等组件依赖 .service 文件注册,若构建或部署过程中该文件未正确写入或加载,则会在压力测试中暴露。| 措施 | 操作说明 |
|---|---|
| 手动重启异常组件 | 通过 SSH 执行 systemctl restart bmc.kepler.web_backend 尝试恢复 Web 服务(需确认服务单元存在) |
| 重建 D-Bus 服务文件 | 检查 /usr/share/dbus-1/system.d/ 目录下是否存在 bmc.kepler.web_backend.conf 等文件,缺失则从镜像恢复 |
| 强制 BMC 重启 | 使用 reboot 命令重启 BMC,观察是否恢复正常,可临时恢复服务 |
| 方案 | 说明 |
|---|---|
| 升级到 openUBMC 25.12 或更高版本 | 25.12 版本已优化 AC 启动流程与 PCIe 卡丝印上报机制(见 Document Chunk 4),可根本解决该类问题 |
| 检查构建包完整性 | 确认 bmc.kepler.web_backend、bmc.kepler.account 等组件的 .service 文件是否包含在固件包中 |
| 启用启动状态检查重试机制 | 根据 MACA 框架文档,组件在 8 次检查失败后会重启子系统,若频繁失败,应考虑增加重试次数或调整初始化逻辑 |
| 日志增强 | 建议增加 init.lua 对组件启动失败的详细日志,如加载 .service 文件的路径和状态 |
# 检查 web_backend 服务状态
systemctl status bmc.kepler.web_backend
# 查看 D-Bus 是否注册服务
busctl list \| grep bmc.kepler.web_backend
# 检查服务文件是否存在
ls /usr/share/dbus-1/system.d/bmc.kepler.web_backend.conf
# 查看组件依赖关系
systemctl list-dependencies bmc.kepler.web_backend
# 重新触发日志收集(若服务恢复)
ipmcget -d dia
bmc.kepler.web_backend:是 Web 接口的核心后端服务,其启动依赖 D-Bus 服务文件,若文件缺失会导致 ServiceUnknown 错误。init.lua:负责 BMC 启动时的组件状态检查,若多个组件启动失败,将记录 ERROR 日志并影响系统功能。ACcycle Test:在约 30 次循环后,BMC Web 接口出现连接拒绝问题,已被多个用户复现。openUBMC 25.12:该版本已优化 AC 启动时序问题,建议作为升级目标。| 项目 | 结论 |
|---|---|
| 问题类型 | BMC 组件初始化失败导致 Web 服务不可用 |
| 根本原因 | 多次 AC 循环后,bmc.kepler.web_backend 等组件因 D-Bus 服务文件缺失或加载失败,导致启动检查失败 |
| 触发条件 | openUBMC 2509 基线 + 反复 AC 循环 |
| 解决方案 | 升级至 openUBMC 25.12 或更高版本,确保构建包中包含完整 .service 文件 |
| 临时规避 | 手动重启 BMC 或关键服务 |
建议:将此类问题纳入 AC 压力测试标准用例,并监控
init.lua启动检查日志,及时发现组件异常。
如需进一步分析 dump.tar.gz.txt 中的日志文件,请提供具体需要查看的组件日志(如 app.log、framework.log 等),可进行更深层次的调用链排查。
好的,我先看下日志