答案内容由AI生成,仅供参考:
网卡端口统计信息异常分析与解决方案
问题描述
在 OpenUBMC 25.09 版本的 BMC Web 界面中,IB 网卡 MCX755106AS-HEAT 的端口属性统计信息显示异常,具体表现为:
- 发送与接收的字节、数据包等统计字段显示为 -1 或 4294967295(即 0xFFFFFFFF,32 位无符号整数最大值)。
- 其他基本信息(如速率、MAC 地址、固件版本等)正常显示。
该问题出现在 IB 模式 下,且 IBMA 已安装并正常运行。
环境信息
| 类别 | 信息 |
|---|---|
| 操作系统 | openEuler 20.03 (LTS-SP3) |
| 软件版本 | OpenUBMC 25.09 |
| 硬件配置 | IB 网卡:MCX755106AS-HEAT(Mellanox CX7 芯片) |
| IB 驱动版本 | MLNX_OFED_LINUX-24.10-4.1.4.0-openeuler20.03sp3-aarch64 |
| IBMA 版本 | ≥ 2.13.0 |
| 网卡模式 | IB(InfiniBand)模式 |
问题复现步骤
- 登录 BMC Web 界面。
- 进入 系统管理 → 系统信息 → 网络适配器。
- 查看 IBCard 类型下的 MCX755106AS-HEAT 网卡。
- 在“端口属性”下的“统计信息”中,观察发送和接收字段。
- 实际结果:关键字段显示为
-1或4294967295。 - 期望结果:若无流量应为
0,有流量时应为递增值。
- 实际结果:关键字段显示为
根本原因分析(基于知识库信息)
根据提供的 知识图谱 和 文档片段 分析,可能原因如下:
1. 统计信息读取接口未适配 IB 模式
- 在 OpenUBMC 中,网卡统计信息(如字节、帧数等)通常通过驱动或固件接口获取。但 IB 模式下的性能统计路径不同于 Ethernet 模式。
- 文档
resource_id: 5指出,网口状态可通过busctl命令从 D-Bus 接口查询,但目前的统计字段可能仍沿用 Ethernet 驱动(如bmc.dev.NetworkPort.DataCenterBridging)的默认实现。 - MCX755106AS-HEAT 支持多种模式(如 Ethernet、IB、RoCE),不同模式下底层数据结构和读取方式不同。
2. 驱动/固件未返回有效统计值,导致溢出或默认填充
- 值
4294967295是uint32类型的最大值,在未获取到实际数据时可能被用作“无效”占位符。 - 值
-1可能是 signed integer 表示的无效状态,在类型转换时未做校验。 - 这表明:
- BMC 端尝试读取统计信息;
- 驱动/固件未返回有效值;
- 返回了默认或错误码,未正确处理。
3. OpenUBMC 25.09 对 IB 卡统计支持不完善
- 根据搜索结果 [7]《openUBMC 25.09 版本发布》:
新增支持 E810XXVDA2G1P5、E810CQDA2G2P5、MCX755106AS-HEAT 等网卡 - 虽然 MCX755106AS-HEAT 被列为新增支持,但支持重点可能集中在:
- 识别与基本状态显示(型号、固件、速率、链路状态等)
- 带外通信(NCSI over MCTP)
- 未充分测试或实现 IB 模式下的全量性能统计
4. 统计字段绑定逻辑错误
- 根据知识图谱,
bmc.kepler.Systems.NetworkPort.Metrics是负责收集RXFrames等指标的模块。 - 若 IB 模式未正确注册该 Metrics 采集任务,或未绑定
NetworkAdapterId到对应采集器,则会导致采集失败,返回默认异常值。
解决方案建议
方案一:确认 IB 模式统计接口是否启用
- 在 OS 中使用
ibstat、iblinkinfo检查 IB 链路状态。 - 使用
ethtool -S ibp65s0f0检查是否可获取统计信息。- 如果命令返回有效值,说明 OS 层正常;
- 若返回全 0 或错误,需检查 OFED 驱动配置。
方案二:检查 BMC 中统计采集逻辑配置
- 登录 BMC 命令行,使用
busctl查询相关 D-Bus 接口:busctl --user introspect bmc.kepler.hwproxy /bmc/kepler/NetworkPort/1 - 检查是否存在
Metrics接口或GetStatistics方法。 - 查询
bmc.kepler.Systems.NetworkPort.Metrics是否在运行:systemctl status bmc-kepler-networkport-metrics
方案三:升级到 LTS 或更新版本
- OpenUBMC 25.09 为功能增强版,可能存在未修复的边缘场景 Bug。
- 知识库中提及
openUBMC 2512LTS为长期支持版本,建议作为升级目标:{"entity": "openUBMC 2512LTS", "description": "OpenUBMC software version 25.12.00.02, a long-term support release targeted for upgrade."} - 同时,
openUBMC 25.06是25.09的前序版本,已知存在接口变更问题,25.09 已包含修复。
建议动作:
升级至
openUBMC 2512LTS或等待25.12版本中对 IB 统计功能的完善。
方案四:提交社区 Issue 并补充日志
-
收集以下日志提交至 openUBMC 社区:
journalctl -u bmc-kepler-network-adapterjournalctl -u bmc-kepler-networkport-metricsdmesg | grep mlx5ibstat,ibstatus,ethtool -S ibp65s0f0
-
提交 Issue 至 openUBMC GitHub,标题建议:
【Bug】IB Mode Statistics Show -1 or 0xFFFFFFFF on MCX755106AS-HEAT
临时规避措施
- 若仅需监控链路状态,可依赖
Port1 LinkUp状态字段,该字段在截图中显示正常。 - 使用 OS 端工具(如
ibstat,counters)替代 BMC Web 的统计信息。 - 禁用 Web 界面统计字段显示(如支持配置项)。
总结
| 项目 | 结论 |
|---|---|
| 问题类型 | 统计数据显示异常(无效值) |
| 根本原因 | IB 模式下统计采集逻辑未适配或驱动未返回有效值 |
| 影响版本 | OpenUBMC 25.09(部分场景) |
| 是否已支持该网卡 | 是(MCX755106AS-HEAT 已列入 25.09 支持列表) |
| 是否为 Bug | 是,属于 IB 模式下统计功能缺失 |
| 推荐解决路径 | 升级至 openUBMC 2512LTS 或提交社区修复 |
建议最终动作:
短期:使用 OS 命令替代 BMC 统计监控
长期:升级至 openUBMC 2512LTS 并跟踪社区对该问题的修复进展。
相关链接: