Kylin系统,iBMA为2.20,硬盘信息接口中无.ManufacturerOUI属性

答案内容由AI生成,仅供参考:
好的,根据您提供的上下文信息,我将为您分析在Kylin系统、iBMA v2.20版本下,硬盘信息接口中缺少.ManufacturerOUI属性的问题。


问题分析

根据现有信息,ManufacturerOUI 属性的缺失是一个已知问题,其根本原因与 iBMA 的数据获取和上报过程有关。

1. 核心原因:iBMA 未能获取到 ManufacturerOUI 信息

从知识库中的一个问题描述可以确认,当遇到硬盘厂商名(如SATA SSD厂商名显示为"ATA")显示异常时,分析结论明确指出:

“从iBMA那边没有拿到 ManufacturerOUI 信息,导致未走后续的厂商ID、厂商名匹配的过程导致厂商名显示错误。”

这说明,ManufacturerOUI 属性是由 iBMA 负责从硬件侧获取并传递给 BMC 的。该属性的缺失,直接原因是 iBMA 没有成功获取到硬盘的 ManufacturerOUI 数据。

2. 导致 iBMA 获取失败的潜在因素

知识库中提到了与 iBMA 数据获取相关的多种问题,这些都可能间接导致 ManufacturerOUI 属性缺失:

  • iBMA 版本兼容性问题:

    • 您使用的 iBMA v2.20 版本,虽然有用户报告称已修复一些硬盘识别问题,但也有其他用户反馈该版本(和 v2.16.0)仍存在硬盘相关问题
    • 例如,有案例提到在更新到 iBMA v2.20.0 后,问题才得到解决,这说明版本选择至关重要。
    • 此外,存在一个特别案例:iBMA v2.20 对BMC版本号首位数敏感,当首位数小于等于5时(如01),可能无法识别某些品牌硬盘(如希捷)的信息。
  • 丝印(SilkScreen)与BDF不匹配:

    • 文档多次提到,硬盘信息能否正确显示,取决于 iBMA 上报的 BDF(Bus-Device-Function) 地址 能否与 BMC 根据硬件丝印生成的 BDF 地址匹配。
    • 如果两者不匹配,iBMA 可能返回空的 SilkScreen 信息ManufacturerOUI 属性很可能在此类关键数据传递失败时一同缺失。
    • 解决方案是在 BMC 的 PcieAddrInfo_SAS 对象中修改 RootBDF 属性,使其与操作系统下 lspci 命令查到的硬盘 RootBDF 一致。
  • 资源树数据传递问题

    • 问题描述中的分析建议进一步排查:“资源树版本是否有兼容性的问题?iBMA传递数据到资源树的过程是否正常?”
    • 这说明,即便iBMA成功读取了数据,其在通过资源树(resource tree)传递给上层组件的过程中也可能出现问题,从而导致 ManufacturerOUI 属性未能正确呈现。

3. 其他可能的原因

  • 硬件与驱动支持:iBMA 可能不支持该特定硬盘或硬盘背板,导致无法读取相关信息。
  • 通信接口问题:iBMA 与 BMC 之间的通信(如通过 veth 虚拟网络接口或 MCTP 协议)如果存在故障,也会导致数据丢失。
  • iBMA服务未完全启动:iBMA 需要完全启动才能正常上报数据。配置更改后,需要通过 systemctl 等工具重启 iBMA.service 才能生效。

总结与排查建议

综合以上信息,在 Kylin 系统 + iBMA v2.20 环境下,硬盘信息缺少 .ManufacturerOUI 属性,最可能的原因是 iBMA 未能从硬盘或其通信链路成功获取到该字段数据并正常上报

建议您按以下步骤进行排查:

  1. 验证环境配置

    • 确认 iBMA.service 正在运行且状态正常。
    • 检查 BMC 版本号,确认是否存在类似“版本号首位数”的兼容性问题。如果可能,尝试将 BMC 升级到最新版本。
  2. 核对 BDF 地址

    • 在操作系统(OS)侧,使用 lspci 命令查看该硬盘的 BDF 地址。
    • 在 BMC 侧,检查 PcieAddrInfo_SAS (或类似) 对象的 RootBDF 属性值。
    • 如果两者不一致,请参考知识库中的解决方案,修改 BMC 上的 RootBDF 属性以匹配 OS 侧的地址。
  3. 升级 iBMA 版本

    • 虽然您使用的是 v2.20,但问题描述中仍有用户反馈该版本的硬盘检测问题。强烈建议您尝试升级到最新的 iBMA 版本(如 v2.20.0 的更新补丁或后续版本),以消除已知的软件缺陷。
  4. 收集日志,联系技术支持

    • 如果以上步骤无法解决,需要收集 iBMA 和 BMC 的相关日志文件(例如,通过 journalctl -u iBMA.service 等命令)。
    • 联系 iBMA 的技术支持团队(如 PAE 角色所建议的),并提供详细的日志、配置和硬件信息,以便进一步定位根本原因。

由于缺少图片内容,以上分析完全基于您提供的 上下文知识库。希望这些分析能帮助您找到问题的原因和解决方法。

1、iBMA安装时,./install.sh -s 是静默安装的意思,而驱动是OS自带的,并不是静默安装时装上去的

2、ManufacturerOUI属性是厂商OUI,和BMC界面上无法获取到盘信息并没有必然联系

3、可以尝试打开白名单,然后postman发送 https:///redfish/v1/Sms/1/Systems/1/Drives/ 查询下,看BMA接口是否有硬盘信息

1.我们是先执行uninstall.sh -a进行完全卸载,然后才进行install.sh -s的,这应该会重装iBMA驱动吧;
2.确实ManufacturerOUI不会影响硬盘信息获取,不过这里的ManufacturerOUI为“null”导致BMC信息线程直接挂掉了,这个应该可以通过修改BMC解决。 这块儿返回信息的规范iBMA和BMC有对过么?
3.iBMA有返回信息,帖子的截图里应该有展示。

从iBMA用户指南上可以看到,iBMA的软件包和驱动包是分开打包的,只有将两个包都解压到同路径下,静默安装才会将驱动包也安装上

image

而且在执行安装命令时,这里显示的是“环境上已预先安装了iBMA驱动”,应该是提前有了的,且版本是0.3.4。从BMC界面上的BMA管理页面也能看到当前环境的驱动版本是0.3.4

对于iBMA对于硬盘的返回信息,截图中并没有体现,资源树上已经是BMC获取后的信息了,并不是BMA上报的原始信息,是否再手动查询下接口返回值,或者收下BMA日志来分析下呢?

感谢回复 截图中显示当前以后driver是因为我测试时执行了多次uninstall和install,截图是没留意截错了。

目前通过修改storage组件将问题解决了。可以参考社区的这个PR 【3cbeb74e08334db3305887214250e0bc】调整硬盘厂商为ATA时通过ManufacturerOUI获取对应厂商名的逻辑-storage-AtomGit