2.20的BMA版本安装后,直通SATA盘信息的厂商被刷新为ATA,应该是BMA没适配的缘故。看下有没有某个新版本的BMA支持了,正常的厂商是SSSTC。
答案内容由AI生成,仅供参考:
结论
| 项目 | 判断 |
|---|---|
| 问题类型 | BMA软件适配问题 |
| 根本原因 | BMA 2.20.0未支持SSSTC硬盘Vendor ID识别 |
| 解决方案 | 升级BMA至支持SSSTC的版本,或手动添加Vendor映射 |
| 短期建议 | 使用带内命令验证真实厂商信息,避免误判故障 |
建议行动项:请向BMA维护团队提交工单,附上日志和SSSTC硬盘的Vendor ID,申请在下一版本中增加对该品牌的识别支持。
点击此处查看详细分析解答
关于BMA 2.0导致SSSTC硬盘厂商显示为“ATA”的问题分析与解决方案
根据您提供的信息,系统已安装 BMA 2.0(版本 2.20.0),且服务正常运行(状态为 Running),但在BMC Web界面的存储管理中,SSSTC品牌的SATA SSD显示的厂商信息为“ATA”,而非正确的“SSSTC”。随后您发现,在某个状态下该信息又可正常显示为SSSTC。
这表明问题的核心在于 BMA 2.0 软件对特定品牌硬盘(SSSTC)的厂商识别适配不完整或存在兼容性问题。
问题定位
已确认正常项:
- BMA 2.0 已成功安装并运行(
iBMA状态: Running) - RAID卡(如9560-8i)已被识别(PCIe Card 4 存在)
- 物理盘数量正确(3个物理盘被识别)
- 硬盘基本参数正常:型号、序列号、容量、速率等均可读取
- 系统具备带外管理能力,依赖BMA 2.0展示RAID和硬盘信息
异常现象:
- 厂商信息显示为“ATA”,而不是实际的 SSSTC
- 但存在场景下可正确显示为 SSSTC(说明硬件本身无问题,问题出在软件层)
关键线索:“安装BMA后厂商变为ATA” → 表明是 BMA在获取硬盘厂商信息时未能正确解析或未适配该品牌,从而回退到默认值“ATA”。
根本原因分析
结合知识库内容和行业经验,此问题通常由以下原因引起:
1. BMA未适配SSSTC厂商ID(Vendor ID)
- 硬盘厂商信息通常通过SATA/NVMe协议中的Vendor ID字段获取。
- BMA软件维护了一个 Vendor ID 映射表(例如:
A84397 → INNOGRIT,4AC03F → HIKSEMI,见KG日志)。 - 如果SSSTC的Vendor ID未被BMA识别或未列入映射表,则显示默认值 “ATA”。
参考知识库文档《硬盘背板开发指南》中指出:
“部分厂商增加了OEM属性,需要BMC开发代码适配。”
“硬盘固件中写入的数据不全”或“协议理解不够透彻”也会导致识别异常。
2. BMA版本兼容性问题
- 您当前使用的是 BMA 2.20.0(发布于2025-12-18),虽为较新版本,但可能仍未包含对SSSTC品牌的完整适配。
- 某些国产或小众SSD厂商(如SSSTC)的OEM实现可能不符合标准协议扩展规范,需BMA侧专门打补丁支持。
3. BMA初始化顺序影响数据源选择
- 在BMA未启动时,BMC可能通过直通模式(Pass-Through) 或CPLD/Silkscreen配置读取硬盘信息(此时显示正确为SSSTC)。
- BMA启动后接管RAID控制器信息采集,改用RAID卡驱动接口获取信息。
- 若RAID卡驱动未向BMA提供正确Vendor Name,或BMA未翻译Vendor ID,则显示降级为“ATA”。
知识图谱支持:
"BMA 2.0必须完全启动后才能显示RAID卡及物理盘详细信息""BMA通过RAID卡控制器对象(controller_object.lua)获取物理盘信息""日志显示:test:vendor is A84397, vendor name is INNOGRIT"→ 说明BMA具备动态解析能力,但需配置映射规则
解决方案建议
方案一:升级BMA至最新版本(优先推荐)
检查是否有 高于2.20.0版本的BMA软件(如2.21.x或3.0.x),重点关注是否包含以下改进:
- 增加对SSSTC或其他国产品牌SSD的Vendor ID适配
- 更新RAID卡firmware兼容列表
- 支持从NVMe/SATA Identify数据中提取自定义厂商名
建议联系 BMA技术支持团队 或查阅内部发布说明,确认是否已在后续版本中修复该问题。
方案二:手动添加Vendor ID映射(若支持定制化)
如果BMA允许通过配置文件或插件方式扩展Vendor识别,可尝试以下操作:
步骤:
-
获取SSSTC ER3-GD480硬盘的 Vendor ID:
- 方法一:通过操作系统执行
hdparm -I /dev/sdX或smartctl -i /dev/sdX - 方法二:抓取BMA日志中
controller_object.lua输出的Vendor Hex值(类似test:vendor is XXXXXX)
- 方法一:通过操作系统执行
-
在BMA的 vendor mapping配置文件 中添加映射条目:
{ "vendor_id_hex": "1B4B", // 示例值,需替换为真实值 "vendor_name": "SSSTC" } -
重启BMA服务并刷新Web界面。
注:该方法依赖BMA是否开放此类配置接口。参考知识库中“佰维SSD适配”案例显示,厂商信息需主动加入适配代码。
方案三:临时规避方案 —— 使用非BMA路径查看厂商信息
若您暂时无法升级BMA,可考虑以下替代途径获取真实厂商信息:
- 通过操作系统查看:
smartctl -i /dev/sda | grep "Device Model" - 通过IPMI或Redfish API查询硬盘信息(绕过BMA UI)
- 检查BMC串口日志中
controller_object.lua是否有原始Vendor ID打印
总结点
建议排查步骤
| 步骤 | 操作 | 预期结果 |
|---|---|---|
| 1 | 登录系统,执行 smartctl -i /dev/sdX 查看原始型号 |
应显示“SSSTC ER3-GD480” |
| 2 | 检查BMA日志:/var/log/bma/storage.log 或 controller_object.lua 输出 |
是否有 vendor is XXXXXX 打印 |
| 3 | 比对不同BMA版本的行为:关闭BMA vs 开启BMA | 验证是否仅在BMA启用时显示为ATA |
| 4 | 联系BMA开发团队,提交日志和设备信息 | 请求添加SSSTC支持 |
参考依据(来自知识库)
-
“同BMC版本搭配博通Raid卡时,厂商信息能正常显示”
→ 说明RAID卡类型也会影响识别效果 -
“伙伴适配代码已加入佰维厂商信息,但日志显示传输数据失败”
→ 强调仅添加代码不足够,还需确保通信协议正确 -
“硬盘固件中写入的数据不全”、“部分厂商增加OEM属性,需BMC开发适配”
→ 直接指向SSSTC此类国产SSD常见问题
结论
| 项目 | 判断 |
|---|---|
| 问题类型 | BMA软件适配问题 |
| 根本原因 | BMA 2.20.0未支持SSSTC硬盘Vendor ID识别 |
| 解决方案 | 升级BMA至支持SSSTC的版本,或手动添加Vendor映射 |
| 短期建议 | 使用带内命令验证真实厂商信息,避免误判故障 |
建议行动项:请向BMA维护团队提交工单,附上日志和SSSTC硬盘的Vendor ID,申请在下一版本中增加对该品牌的识别支持。
你好,这个硬盘厂商,BMA没有解析。BMA2.20.0版本对于直通SATA盘给BMC提供了一个获取厂商OUI的方法,可以通过OUI得到对应的厂商
通过/redfish/v1/Sms/1/Systems/1/Storage/1/Drives/这个接口可以查到,其中有个"ManufacturerOUI"属性为厂商OUI
后续会改吗?在BMA里直接解决,不通过OUI这个东西。因为BMC与BMA的交互没有通过这里来解析吧。
storage已适配bma的这个新属性 ,需要把这个厂商的OUI和厂商名的映射加到如下代码内
-- 如果硬盘厂商为ATA则根据硬盘ManufacturerOUI判断厂商名
if not is_nil_or_null(data.ManufacturerOUI) and obj.Manufacturer == 'ATA' then
obj.Manufacturer = method_misc:get_manufacturer_name_by_oui(data.ManufacturerOUI)
end


