16*2.5 NVMe(8*SAS/SATA)背板安装BMA后获取盘信息与预期不符

问题描述

如图,当前背板上插了四张盘,前三张是SAS盘,第四章是NVME盘

装了BMA以后,预期web上可以看到四张盘的信息,比如:

实际只有Disk2和Disk23是能显示信息的

OS下查看信息都是正常的

定位发现问题原因:

storage里代码设计为,BMA对SAS/SATA盘使用丝印与盘的NodeId做匹配来更新信息,对NVME盘使用SerialNumber做匹配来更新信息

但是16背板的丝印为:

而盘的NodeId顺序为Disk0-3,Disk8-Disk15,Disk20-Disk23

这样的话信息匹配不上,就会没办法展示信息

想问下这种情况下应该以哪个为准,如果以丝印为准,改背板SR,如果以背板SR为准,那改PSR。两种改法都不难,现在的点在于不懂标准是啥

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

总结

以谁为准 需要改什么 依据
物理丝印(推荐) 修改背板SR,使NodeId、Slot等与丝印一致 社区案例(BC83NHBN16)和BMA匹配机制要求
背板SR(连续配置) 修改PSR以实现全局连续编码,但物理丝印仍需与实际一致 客户全局连续需求(如文档片段5),但仍需SR与PSR联动

结论:请先明确您的背板实际丝印编号,然后修改背板SR(如BC83NHBC或对应型号的SR文件),使NodeId、RelativeSlot、PcieAddrInfo属性与物理丝印一致。这是保证SAS/SATA盘正常显示的直接措施。NVMe盘的问题需单独检查SerialNumber获取链路。若仍有匹配问题,可参考论坛 SAS/SATA盘信息无法获取完整分析 排查PcieAddrInfo_SAS对象参数。

如果您能提供背板实际丝印的图片或具体数值,社区可以给出更精确的配置建议。

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

分析

根据您描述的问题,核心矛盾在于:

  • 丝印(物理槽位编号)背板SR中配置的NodeId 不一致,导致BMA对SAS/SATA盘使用丝印‑NodeId匹配时失败,无法显示部分硬盘信息。
  • 对于NVMe盘,storage代码使用SerialNumber匹配,与丝印无关,但只显示Disk2和Disk23,说明可能存在额外的配置或获取问题。

已知您的背板为 162.5 NVMe(8SAS/SATA) 型号,其物理端口编号采用非连续方案0‑23(参见知识图谱中 16x2.5英寸NVMe硬盘背板 的描述)。而您提到的盘NodeId顺序为 Disk0‑3, Disk8‑15, Disk20‑23,这正是非连续编号的具体映射。如果当前背板上的实际丝印(机箱标签) 并非这些非连续编号(例如被设计为0‑15连续),则必然导致匹配失败。

标准做法:以物理丝印为准

从社区已有案例和设计规范来看,整机丝印(物理槽位编号)是最终用户可见的标识,背板SR中的NodeId、RelativeSlot、PcieAddrInfo等属性必须与物理丝印保持一致。以下是明确的支撑信息:

1. 社区案例参考

论坛问题 【问题求助】【storage】背板csr中硬盘槽位配置进行调整后,web界面概率出现卡对象重复出现(文档片段4)中:

  • 背板型号 BC83NHBN16(与您的16盘背板类似)其实际丝印为 0‑3, 8‑15, 20‑23
  • 但背板SR中最初配置的槽位为 连续的 0‑15,导致丝印与配置不匹配,出现对象重复、信息无法显示等问题。
  • 解决方案:将背板SR中 Connector_ComVPDConnect 的Slot、以及 Drive 对象的 NameNodeIdRelativeSlot 等属性调整为与物理丝印一致的非连续值

因此,标准的修正方向是:按照实际物理丝印修改背板SR,而非修改PSR(平台SR)。修改PSR会影响整机槽位编码策略,但背板SR是直接对应本背板的丝印配置,才是匹配的切入点。

2. 设计原则

  • 硬盘背板CSR / SR文件用于定义该背板的固定信息,包括“槽位号、硬盘起始槽位、丝印”等(参见硬盘背板开发指南)。

  • 丝印匹配流程(详见bios相关FAQ):

    • BMA通过 rootBDF 向BMC获取硬盘的丝印号;
    • BMA将盘信息连同丝印号挂到资源协作路径;
    • storage组件通过丝印号匹配 Drive 对象(SAS/SATA盘)。

    所以,丝印号必须与SR中 Drive 对象的 NodeIdRelativeSlot 等属性在逻辑上一致,否则匹配失效。

3. 针对NVMe盘

  • NVMe盘使用 SerialNumber 进行匹配,不受丝印影响。
  • 如果NVMe盘信息未显示,请检查 BMC Dev NVMe Product Info 接口是否能正确获取 SerialNumber(参见知识图谱中 bmc.dev.NVMe.ProductInfo 的关系)。BMA 也可以作为 SerialNumber 的来源(知识图谱BMA实体),确保BMA已正确上报NVMe盘的序列号。

推荐做法

:one: 确认物理丝印

  • 查看背板上的实际丝印标签(例如机箱标注的硬盘槽位编号)。对于16盘背板,通常为非连续 0‑3, 8‑15, 20‑23 或类似,以实物为准。

:two: 修改背板SR(针对SAS/SATA盘)

  • 根据物理丝印调整背板SR中以下关键属性(参考 HddBackplane 类的CSR配置,见 CSR配置字典之HddBackplane类):
    • Drive 对象Name(如 Disk0Disk8)、NodeId(如 HDDPlaneDisk0)、RelativeSlot(与物理槽位对应)。
    • PcieAddrInfo_SAS 对象PortIDSlotID 等(需匹配实际端口映射,参见SAS/SATA盘的PCIeAddrInfo的PortID是怎样来的)。
    • Connector_ComVPDConnectSlot 列表改为非连续值。
  • 同时检查 起始槽位 StartSlot(前置背板通常为0,后置背板根据前置硬盘数量设置,见 CSR配置字典)。

:three: 验证NVMe盘信息

  • 确认 BMC Dev NVMe Product Info 接口正常返回 SerialNumber
  • 若SerialNumber已获取但Web仍不显示,检查storage组件是否通过SerialNumber正确匹配NVMe盘,并确认NVMe盘的 bmc.dev.NVMe.ProductInfo 属性均已配置(知识图谱)。

:four: 同步配置PSR(如果需要)

  • 如果修改背板SR后,整机丝印需要连续编码(例如客户要求全局从0开始),则需通过 PSR(Platform SR) 调整 DriveSlotAllocationEnabled 等全局开关(参见新增私有对象支持硬盘槽位编码)。但一般情况下,默认以背板物理丝印为准,不强制全局连续;若客户有特殊要求,可在PSR中配置偏移值。

总结

以谁为准 需要改什么 依据
物理丝印(推荐) 修改背板SR,使NodeId、Slot等与丝印一致 社区案例(BC83NHBN16)和BMA匹配机制要求
背板SR(连续配置) 修改PSR以实现全局连续编码,但物理丝印仍需与实际一致 客户全局连续需求(如文档片段5),但仍需SR与PSR联动

结论:请先明确您的背板实际丝印编号,然后修改背板SR(如BC83NHBC或对应型号的SR文件),使NodeId、RelativeSlot、PcieAddrInfo属性与物理丝印一致。这是保证SAS/SATA盘正常显示的直接措施。NVMe盘的问题需单独检查SerialNumber获取链路。若仍有匹配问题,可参考论坛 SAS/SATA盘信息无法获取完整分析 排查PcieAddrInfo_SAS对象参数。

如果您能提供背板实际丝印的图片或具体数值,社区可以给出更精确的配置建议。

以丝印为准