DC 测试暂停期间BMC Web 页面BCU相关关键信息空白

问题描述

现象:Baixin在低算力机型上执行DC/AutoReboot-d 图数时,发现ipmitool收集全空白,且暂停DC后发现BMC web界
面无法显示CPU.内存,BIOS版本等信息,且BMCweb界面无法通过按钮正常下电,重启;
百信分析进展:
1.执行DC期间发现BCU存在异常,是否是该情况有关?
2.DC期间 收集信息存在确实,推测ipmiservices断开导致BMC无法正常显示固件信息,内存,处理器等信息;

期望结果

希望提供一些线索,帮我们解决这个问题的根因

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

:white_check_mark: 结论总结

问题维度 判断 依据
:cross_mark: BMC Web信息空白 表象 实际为下游数据源(传感器、FRU、IPMI服务)中断所致
:cross_mark: BCU通信异常 :warning: 存在 SDR显示BCU相关传感器无访问权限(ns)
:cross_mark: ipmitool采集失败 :white_check_mark: 确认 说明IPMI服务异常或通道中断
:cross_mark: 硬件信息未识别 :warning: 很可能 Product Name: Unknown,且CPU/内存显示为0
:magnifying_glass_tilted_right: 根本原因 1. openUBMC未正确加载硬件SR配置(CPU/MEM/BCU)
2. DC高压测试造成BCU-I2C通信瞬断或BMC资源耗尽
- SR配置缺失导致BMC不识别硬件
- 高压测试引发通信降级

:bullseye: 最终结论

:warning: BMC Web界面关键信息空白的根本原因在于:

openUBMC系统未能正确加载硬件SR配置文件(特别是CPU、Memory、BCU相关),导致BMC未识别底层硬件;加之DC测试过程中的高频上下电造成I2C通信不稳定,BCU传感器访问失败,进一步触发数据采集模块失效,最终表现为Web前端信息全空。

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

问题分析:DC测试暂停期间BMC Web页面关键信息空白

根据提供的问题描述、截图内容及相关上下文信息,可以对当前问题进行系统性分析。以下是围绕现象、原因推测和可能的解决方案的详细梳理。


:magnifying_glass_tilted_left: 现象描述

在执行DC(Dynamic Cycling)测试时,出现以下异常现象:

  1. BMC Web界面信息缺失

    • CPU、内存、BIOS版本等关键资源信息显示为--0
    • 处理器总数:0内存容量:0GB,尽管实际物理设备存在。
    • BIOS版本字段为空(显示 --),无法确认固件状态。
  2. 管理功能失效

    • 无法通过Web界面执行正常下电、重启等操作。
  3. IPMI数据采集失败

    • ipmitool命令返回“收集全空白”数据。
    • 多个DC循环日志中报错:test find 1 errors5 errors,并提示查看相关日志文件(如 ipmi_sdr.log, ipmi_bmc.log, lspcivv.log 等)。
  4. 传感器与BCU通信异常

    • SDR传感器日志显示部分BCU电压轨为ns(No Sensor Access)或“Sensor access degraded or unavailable”。
  5. 系统识别异常

    • IPMI Get Device ID 命令返回:
      • Product Name: Unknown (0x0)
      • Manufacturer Name: Unknown (0x7DB)

:puzzle_piece: 根本原因分析

结合知识图谱(KG)与文档块(DC)信息,可从多个维度定位问题根源:

1. BMC管理服务中断 → 导致信息未更新

  • 根据知识图谱:
    • ipmcget 命令依赖BMC服务正常运行,若ipmitool命令无输出,则说明 IPMI服务异常RMCPD守护进程中断
    • BMC Web Interface 显示的信息来源于底层BMC服务的数据采集器(如传感器扫描、FRU读取、BIOS版本上报)。
    • BMC固件损坏或服务崩溃,会导致这些数据无法获取。

:white_check_mark: 推理支持

  • BMC Web Interface 显示 CPU 和 Memory 为 0 → 表明 BMC 未能获取硬件拓扑信息
  • 关联实体中:“ipmcget 命令用于查询CPU、内存信息” → 当该命令不可用或返回空值时,前端即无法显示。

2. BCU(Board Control Unit)通信异常

  • 问题描述中提及 “DC期间发现BCU存在异常”。
  • 从SDR日志看,多条与BCU相关的电压传感器读数为 ns,例如:
    • BCU1 VCC_12V0_1 ns
    • BCU1 Temp ns
    • BCU1 VCC_DRMOS ns

:white_check_mark: 知识图谱支持

  • BMC负责监控所有传感器,包括来自BCU的PMIC/电源轨状态。
  • BCU若因DC频繁重启导致通信链路(如I2C、IPMB)中断,将使BMC无法读取电压、温度、资源信息。

:police_car_light: 结论
BCU通信中断 → 传感器数据缺失 → BMC认为设备不在位 → 前端显示CPU/内存为0。


3. IPMI服务断开 → ipmitool命令失效

  • ipmitool 是通过IPMI协议与BMC通信的工具。
  • 文档块 2 提供关键线索:
    • 用户执行 ipmcget -d version 时,能获取iBMC/BMC固件版本信息。
    • 但在本场景下 ipmitool 收集全空白 → 说明 IPMI服务未响应RMCPD进程异常

:white_check_mark: KG 关联支持

  • ipmcget 依赖 SSH + CLI 接口(与 ipmitool 不同路径)
  • 若仅 ipmitool 失败,而 SSH 下 ipmcget 可用 → 应该是网络层IPMI服务问题
  • 若两者都失败 → BMC整体服务崩溃或固件损坏

:warning: 注意图片中的IPMI Get Device ID响应中:

  • Product Name = Unknown(本应是类似 TJ5260 的值)
  • Manufacturer Name = Unknown (0x7DB) → 华为OUI应为已知
    → 说明 IPMI Device ID注册异常

4. DC长时间运行导致 BMC 资源耗尽或固件不稳

  • 长时间高强度DC测试可能引发:
    • BMC内存泄漏(尤其是在处理大量SEL日志、传感器刷新时)
    • I2C总线拥塞,导致BCU通信失败
    • 文件系统过载或日志写满,触发BMC服务降级
    • 看门狗触发重置或进入无限升级状态

:white_check_mark: KG支持

  • 存在“BMC因存储过用导致功能退化”的记录
  • “BMC becomes unresponsive after multiple AC cycles” 是已知风险场景

5. openUBMC固件适配问题(平台兼容性)

  • 当前系统运行的是 openUBMC 固件版本 55.05.02.08
  • 在知识图谱中提到:
    • Huawei BMC 在同样环境中能正常识别 Broadcom 9560 RAID卡
    • openUBMC可能缺少某些设备驱动或配置(如BCU、CPU拓扑)
    • 尤其在鲲鹏平台或S920x系列,openUBMC需额外配置sr文件加载硬件信息

:white_check_mark: KG支持

  • 鲲鹏模组适配约束FAQ 强调:
    • 必须配置 CPU, Memory, Bios 等对象的 .sr 配置文件,否则资源信息不显示
    • 若配置缺失,BMC将无法识别真实硬件数量
      → 当前 “处理器总数:0”、“内存容量:0GB” 高度符合 SR配置未加载或错误 的特征

:white_check_mark: 结论总结

问题维度 判断 依据
:cross_mark: BMC Web信息空白 表象 实际为下游数据源(传感器、FRU、IPMI服务)中断所致
:cross_mark: BCU通信异常 :warning: 存在 SDR显示BCU相关传感器无访问权限(ns)
:cross_mark: ipmitool采集失败 :white_check_mark: 确认 说明IPMI服务异常或通道中断
:cross_mark: 硬件信息未识别 :warning: 很可能 Product Name: Unknown,且CPU/内存显示为0
:magnifying_glass_tilted_right: 根本原因 1. openUBMC未正确加载硬件SR配置(CPU/MEM/BCU)
2. DC高压测试造成BCU-I2C通信瞬断或BMC资源耗尽
- SR配置缺失导致BMC不识别硬件
- 高压测试引发通信降级

:hammer_and_wrench: 建议排查与解决措施

:white_check_mark: 1. 使用SSH登录BMC,执行 ipmcget 检查硬件状态

# 查询当前活动固件及构建时间
ipmcget -d version

# 查询传感器列表(查看是否包含CPU/内存/BCU)
ipmcget -t sensor -d list

# 查询FRU信息(验证内存条、CPU是否上报)
ipmcget -d fru

# 查询BIOS版本(验证是否可读)
ipmcget -d v | grep "Active BIOS"

:white_check_mark: 若以上命令返回为空或报错,则说明 BMC服务异常或核心数据模块未启动


:white_check_mark: 2. 检查 SR 配置是否加载(关键!)

  • 根据 鲲鹏模组适配约束FAQ(Search Result ID 10):
    • 必须加载正确的 .sr 文件以识别CPU、内存、BCU
    • 检查 /etc/sr/platform.sr 是否包含:
      "CPU": { ... },
      "Memory": { ... },
      "Bios": { ... },
      "FruCtrl": { ... }
      

:magnifying_glass_tilted_left: 操作建议

  • 重启后立即检查:ls /tmp/sr_loaded 或查看启动日志是否存在“load sr config failed”
  • 使用 bmc_studio 工具验证SR配置是否匹配当前硬件

:white_check_mark: 3. 检查 I2C 与 BCU 通信状态

# 查看I2C设备是否存在(假设BCU挂载在总线2)
i2cdetect -y 2

# 尝试读取BCU寄存器(根据硬件手册)
i2cget -f -y 2 0x4a 0x01

若无法检测到BCU地址(如0x4a),或读取超时 → BCU供电或通信异常


:white_check_mark: 4. 检查日志,定位错误时间点

分析提供的 ipmi_bmc.log, ipmi_sdr.log, lspcivv.log

# 搜索错误关键字
grep -i "fail\|error\|timeout\|reset" ipmi_bmc.log

重点关注:

  • IPMI Session Timeout
  • Sensor Access Failed
  • FRU Read Error
  • BCU communication lost

:white_check_mark: 5. 固件层面优化建议

措施 说明
升级 openUBMC 至稳定版本 确保已包含对S920s机型的BCU支持补丁
添加人工心跳恢复机制 在DC脚本中加入:若连续3次ipmitool失败则 ipmitool mc reset cold
限制DC频率 给BMC留出足够恢复时间,避免高频重启造成累积压力
开启可观测性采集 利用Prometheus+ElasticSearch记录CPU/内存占用趋势,排查泄露

:bullseye: 最终结论

:warning: BMC Web界面关键信息空白的根本原因在于:

openUBMC系统未能正确加载硬件SR配置文件(特别是CPU、Memory、BCU相关),导致BMC未识别底层硬件;加之DC测试过程中的高频上下电造成I2C通信不稳定,BCU传感器访问失败,进一步触发数据采集模块失效,最终表现为Web前端信息全空。


:pushpin: 期望后续提供

为了进一步验证和修复,请提供以下信息:

  1. SSH登录后执行 ipmcget -d versionipmcget -t sensor -d list 的输出
  2. BMC 启动日志中是否有关于 .sr 文件加载失败的记录
  3. BCU 的 I2C 地址及通信稳定性测试结果
  4. 是否使用了社区默认SR配置,还是定制化修改版本

如确认SR配置缺失或错误,请依据《鲲鹏模组适配约束FAQ》补充并正确加载CPU、Memory、BCU对应的SR对象定义,问题大概率可解决。

ipmb,bt通道不通,找硬件同事排查下