问题描述
920s机器断电重启后,web界面显示ibma服务离线;只能通过重启os系统才能恢复。
环境信息
- 软件版本:OpenUBMC2503
- ibma版本:2.16.0
期望结果
不需要通过重启os系统恢复ibma服务
尝试过的解决方案
- 重启ibma服务
- 延长BIOS启动时长
上述两种操作方法均无效
答案内容由AI生成,仅供参考:
在920s机器断电重启后,Web界面显示IBMA服务处于离线状态。当前只能通过重启OS系统才能恢复服务,而尝试重启IBMA服务或延长BIOS启动时长等方法均无效。
根据提供的上下文信息和系统架构,IBMA服务的启动依赖多个关键组件和初始化时序,分析如下:
ibma用户并加载IBMA驱动模块,是IBMA服务启动的前提。根据知识库内容,以下因素可能导致该问题:
# 检查IBMA服务的依赖关系
systemctl list-dependencies ibma.service
# 查看服务启动日志,确认失败原因
journalctl -u ibma.service -b
操作建议:
修改ibma.service单元文件,增加对关键服务的依赖声明:
[Unit]
Description=IBMA Service
After=devmon.service data.service
Requires=devmon.service data.service
重新加载服务配置并测试:
systemctl daemon-reexec
systemctl restart ibma
确保Automatic Restart Mechanism对IBMA服务生效。
# 设置服务自动重启策略
sudo systemctl edit ibma.service
添加以下内容:
[Service]
Restart=always
RestartSec=10
StartLimitInterval=0
此配置将使IBMA服务在任何退出情况下自动重启,间隔10秒。
根据已有指令记录,可尝试通过标准命令重启IBMA服务:
# 执行服务重启命令
systemctl restart iBMA
来源依据:用户
Huangjunhua曾指示使用systemctl restart iBMA来应用更新后的配置。
若上述命令无效,建议检查:
IBMA.sh脚本是否完整执行/dev/lcd0(IBMA USB设备路径)是否正常挂载Web界面访问IBMA管理页面的路径为:
http://192.168.2.101/static/#/navigate/manager/ibma
404错误,说明前端路由或后端REST API未正常启动。Rest/BMCSettings/IBMA/Base结合“断电重启后IBMA服务离线”这一现象,最可能的根本原因是:
IBMA服务启动时机早于其依赖组件(如devmon、数据服务)的初始化完成时间,导致服务启动失败且未被自动恢复机制捕获。
虽然系统具备快速恢复能力(Fast Recovery Capability)和自动恢复(Automatic Recovery)机制,但在当前配置下未能对IBMA服务起到保护作用。
| 措施 | 说明 |
|---|---|
| 引入服务健康检查 | 添加定时探测IBMA服务状态的脚本,异常时自动调用systemctl restart iBMA |
| 增强日志监控 | 记录IBMA服务每次启动失败的具体原因,便于诊断 |
| 优化启动流程 | 在IBMA.sh脚本中增加对依赖服务状态的轮询检测,确保环境就绪后再启动服务 |
| 纳入QEMU仿真测试 | 在开发环境中模拟断电重启场景,验证服务恢复逻辑 |
当前问题应聚焦于服务启动时序控制与自动恢复机制配置。建议按以下优先级操作:
ibma.service文件,明确声明对devmon和data.service的依赖Restart=always以启用自动化恢复通过以上调整,有望实现无需重启OS系统即可恢复IBMA服务的目标。
相关链接:
请问下您这边说的机器断电重启是指重启BMC,还是AC上下电,还是DC上下电呢?
如果需要定位ibma服务离线的原因,请麻烦提供以下信息:
1、BMC一键收集日志
2、BMA日志
收集方法:
cd /opt/huawei/ibma(/opt/huawei路径不存在的情况下,使用/opt/ibma) OS后台进入到iBMA目录下
tar -zcf ibma_log.tar.gz log/ config/
拿到 ibma_log.tar.gz 压缩包,即为iBMA日志及配置信息
3、操作断电重启的时间点,后续重启OS的时间点
你好,感谢支持!
上述断电重启是AC上下电;收集的日志发送到哪里,可以提供下邮箱吗?
不好意思,刚看到消息,请发送至 jiahuilei1@h-partners.com
你好,相关日志已发送到邮箱。
AC后出现ibma服务离线时,收集如下信息:
1、在BMC后台发送 `mdbctl traceipmi start file edma 0x06 0x58` 命令追踪定位ipmi命令返回结果,命令结果会输出到/tmp/ipmi.txt文件
2、同步开启iBMA的debug日志 ibmacli debug -e true -d 60
收集下BMA日志和/tmp/ipmi.txt文件
通过上述操作,未找到/tmp/ipmi.txt文件
之前提供的操作方案可能有些问题,与BMC同事了解对齐后,目前提供如下方法辅助定位:
AC后,在BMC刚启动完成后,尽快打开trace追踪ipmi命令返回结果
1、在BMC后台发送 `mdbctl traceipmi start file edma` (上次命令中根据了两个关键词进行过滤,本次不添加过滤),命令结果会输出到/tmp/ipmi.txt文件
2、同步开启iBMA的debug日志 ibmacli debug -e true -d 60
如果步骤1中,trace后仍收不到任何消息,则是BMC没收到命令,此时就考虑是否是底层通信链路不通
依赖bmc和os两边的驱动加载并打开字符设备
bmc侧驱动名称:bmc_edma_drv、bmc_cdev_drv
os侧驱动名称:host_edma_drv、host_cdev_drv
1)查看驱动是否加载(bmc侧和os侧都检查一下):lsmod | grep edma、以及 modprobe 如上两个驱动的名称查看详细信息
2)查看设备是否存在(bmc侧和os侧都检查一下): ls /dev | grep hwibmc
需要收集/tmp/ipmi.txt文件、BMA日志、BMC一键收集日志(需要AC操作的时间点,BMC时间可能和带内时间不一致,上次缺少BMC操作时间点,不方便找对应的日志)