问题描述
有两台设备, 导入证书报错, 反复重启, telnet和ssh能连接, 查询版本报错, 证书证书报错,升级固件报错.
导入证书报错:
版本信息很多NULL, 且过一会查版本也报错
日志信息
applog.txt (658.2 KB)
framwork.log.txt (221.6 KB)
有两台设备, 导入证书报错, 反复重启, telnet和ssh能连接, 查询版本报错, 证书证书报错,升级固件报错.
导入证书报错:
版本信息很多NULL, 且过一会查版本也报错
applog.txt (658.2 KB)
framwork.log.txt (221.6 KB)
答案内容由AI生成,仅供参考:
| 问题 | 原因 | 解决方法 |
|---|---|---|
ipmcget/ipmcset 失败 |
bmc_core 或其子服务异常 |
systemctl restart bmc_core.service |
版本信息显示 "NULL" |
服务未就绪或数据损坏 | 重启 + 检查日志 |
| 证书/升级报“内部服务错误” | 关键服务未响应 | 检查 framework.log 和 app.log |
| 系统反复重启 | 组件健康检查失败超限 | 默认最多重启3次,之后不再复位(见 DC#5) |
| 升级后功能异常 | 成功升级但启动失败,自动切回旧版 | 检查串口日志或 framework.log 异常组件 |
根据您提供的信息,两台设备同时出现 BMC 版本查询失败、导入证书失败、更新BMC固件失败、系统反复重启 等问题,结合日志和命令输出分析,这是一个典型的 BMC 系统运行异常导致关键服务不可用 的复合型故障。
| 现象 | 描述 |
|---|---|
ssh/telnet |
|
版本查询 (ipmcget -d version) |
"userdata: NULL" |
导入 SSL 证书 (ipmcset -t certificate) |
|
升级 BMC 固件 (ipmcset -d upgrade) |
|
| 系统状态 | uptime 显示已运行数分钟,但后续命令失效 → 存在进程崩溃或服务卡死 |
从日志和行为可推断以下几点 核心技术原因:
日志中 ipmcget 和 ipmcset 命令统一返回:“The request failed due to an internal service error”,这是 BMC 核心管理框架(如 maca)或 bmc_core 服务异常 的典型表现。
此类错误常见于 组件未正常启动、健康检查失败、内存泄漏、或 bmc_core 进程崩溃重启中。
在文档 #5 和 #7 中提到:
“maca重启接口有两种,一是平滑重启,二是强制重启。平滑重启先通知组件重启准备,如果有组件重启准备失败,则通知组件取消重启并返回失败……”
若系统在升级或配置变更后未能顺利执行“平滑重启”,可能导致部分服务未正常加载。
ipmcset 命令依赖 certificate 服务和 firmware_mgmt/service/main 服务。{"entity1": "bmc_core", "entity2": "ipmi_core/service/main", "description": "bmc_core服务启动ipmi_core/service/main服务"}
{"entity1": "bmc_core", "entity2": "bmc_upgrade/service/main", "description": "bmc_core启动bmc_upgrade服务"}
如果 bmc_core 本身处于异常或反复重启状态,这些子服务将无法响应外部请求。Active iBMC Version: 25.12.01.10
"Active userdata: NULL Version" 表明系统无法读取当前激活的固件版本信息,极有可能是:
/data/opt/bmc/ 下的持久化数据异常)bmc_core 或 firmware_mgmt 服务异常uptime 查看仅运行了 5分钟,说明刚经历了一次重启。ipmcget 能部分工作;请 对两台问题设备逐项执行以下操作:
bmc_core 服务(尝试恢复运行态)systemctl restart bmc_core.service
说明:
bmc_core是 BMC 所有服务的宿主进程(见 KG 实体"bmc_core"),重启它可以重载ipmi_core,firmware_mgmt,certificate等关键模块。
观察效果:
ipmcget -d version
ipmcset -t certificate -d info
登录后查看以下日志文件中的 ERROR 或 WARNING 条目:
# 查看框架级错误(重点关注组件启动失败)
tail -100 /var/log/framework.log | grep -i error
# 查看证书服务异常
grep -i certificate /var/log/app.log | grep -i error
# 查看固件管理服务
grep -i firmware_mgmt /var/log/app.log | grep -i error
# 检查是否有死循环或崩溃日志
dmesg | tail -20
重点关注:
StartupCheck failed(启动检查失败,见 DC#5)initialization is not completecomponent X offline 5 timesmaca 检测到组件反复离线并拒绝重启如果 systemctl restart bmc_core.service 无效,执行硬复位:
# 强制重启 BMC
reboot
# 或使用专用命令
ipmcset -d reset
注意:重启后若仍无法解决,可能是 固件分区异常或数据损坏。
使用以下命令查看当前可用版本:
ipmcget -d version
若发现 Available Version 与 Active 不一致,尝试手动切换:
# 查看当前分区状态
ipmcget -d version
# 尝试升级到可用版本(即使文件已存在,也可触发切换)
ipmcset -d up -v /tmp/BMCimage874.hpm
若提示“版本相同”,但功能异常 → 考虑该分区实际运行异常。
参考白牌包 FAQ(文档#9):
# 删除可能残留的升级状态文件
rm -rf /data/upgrade_resume/reset/*
# 重启核心服务
systemctl restart bmc_core.service
适用场景:
升级过程中因网络中断或服务崩溃导致“升级锁”未释放,造成后续所有升级/证书操作被阻塞。
一旦系统稳定,重新尝试导入证书:
# 先确认文件存在
ls -l /tmp/SSL.p12
# 导入证书(注意类型和密码)
ipmcset -t certificate -d import -v /tmp/SSL.p12 1 123456
重要提示:
OpenUBMC 25xx 版本基于 OpenSSL 3.x,要求证书使用 OpenSSL 3.x 生成(文档#1)。
若使用 OpenSSL 1.x 生成的.p12证书会报错p12 parse fail。
推荐生成方式:
openssl version # 应为 3.x openssl pkcs12 -export -out SSL.p12 -inkey server.key -in server.crt
如果以上方法均无效:
烧录标准版 BMC 固件(TR5)
#7 中提到“烧片一个TR5的BMC”可恢复因升级失败导致的启动异常。恢复出厂配置
# 删除持久化配置(慎用!)
rm -rf /data/opt/bmc/per_*
rm -rf /data/upgrade_resume/*
reboot
| 问题 | 原因 | 解决方法 |
|---|---|---|
ipmcget/ipmcset 失败 |
bmc_core 或其子服务异常 |
systemctl restart bmc_core.service |
版本信息显示 "NULL" |
服务未就绪或数据损坏 | 重启 + 检查日志 |
| 证书/升级报“内部服务错误” | 关键服务未响应 | 检查 framework.log 和 app.log |
| 系统反复重启 | 组件健康检查失败超限 | 默认最多重启3次,之后不再复位(见 DC#5) |
| 升级后功能异常 | 成功升级但启动失败,自动切回旧版 | 检查串口日志或 framework.log 异常组件 |
日常维护
/tmp 目录,避免空间不足(文档#7)。脚本优化
bmc_core 状态检测逻辑。/data/upgrade_resume/reset/*。监控建议
ipmcget -d version 和 systemctl status bmc_core 状态。/var/log/app.log 和 framework.log 中的 ERROR 日志。
推荐操作顺序:
systemctl restart bmc_core.service→ 观察日志 →reboot→ 若仍失败 → 清理升级缓存 → 重试导证书 → 终极手段:烧片恢复。
如有 framework.log 或 app.log 中更详细的错误内容,欢迎提供,可进一步精确定位异常组件。
这个看起来就是包有问题,升级后有组件功能异常了,请问问题解决了吗,如果没办法自动回退的话,可能要烧片或者换插卡解决了。
问题没解决, 换插卡指的是更换hi1711模组吗? 请教一下烧片对应的工具和操作文档从哪里获取?
可以联系相关的项目支持,他们原则上是可以提供烧片工具和文件的。