【待评审】当SATA SSD厂商识别为ATA时,通过硬盘型号判断厂商

背景

适配导入部分SATA SSD硬盘时,发现厂商名为ATA,通过调试发现是识别不到厂商名,因此设置的默认值ATA

关联issue

整体方案

设置厂商名时判断当前iBMA推送或者通过raid读取到的厂商名是否为ATA,如果为ATA则通过判断SATA SSD型号确认厂商名

评审点

通过SATA SSD型号设置厂商名的可行性

详细描述

添加一种额外设置厂商名的方法,读取到厂商名是ATA时进行再次判断,如果是已知的型号,则通过型号添加厂商名

评审结论

遗留问题

@changxingOpenUBMC 您好 如sig组会议讨论麻烦帮忙看下现有接口是否能够解决这个问题,期待您的回复

纪要里面已经答复,大家以后要关注一下纪要呢

@changxingOpenUBMC 您好,我看了下storage的trans_drive_data接口,有些疑惑的地方还望解答,这个接口将下面三个值传入底层

local pd_vendor_id = {
    PD_VENDOR_ID_INNOGRIT = 0xA84397,
    PD_VENDOR_ID_HIKSEMI = 0X4AC03F,
    PD_VENDOR_ID_AL = 0X3A5A27,
}

local pd_vendor_name = {
    PD_VENDOR_NAME_INNOGRIT = 'INNOGRIT',
    PD_VENDOR_NAME_HIKSEMI = 'HIKSEMI',
    PD_VENDOR_NAME_AL = 'LONGSYS',
}

local pd_attri_id_wear = {
    ATA_SMART_ATTRIBUTE_ID_MEDIA_WEAROUT_INDICATOR = 233,
    ATA_SMART_ATTRIBUTE_ID_PERCENT_LIFETIME_REMAINING = 202
}

请问下,VendorID一般是4个16进制数,为什么这里是6个?另外pd_attri_id_wear是想要传一个什么值到底层?

@weixin_41256007

1.第一个问题参考这篇知乎文章

SATA硬盘信息是怎么读取的? - 知乎 (zhihu.com)

这里6位十六进制数是WWN:World Wide Name。

按照ATA/ATAPI Command_set spec规定的格式发送IDENTIFY命令之后会有255个WORD的数据返回。

WWN为第108-111个WORD,格式见上面链接里。

IEEE OUI为由IEEE组织分配给各厂商的,可以在这里[3]查到id和厂商的对应关系,所以可以根据这个id来判断硬盘厂商的信息。

2.第二个问题为各个厂商SATA盘smart信息中的attrid,每个厂商的实现不同,这里的pd_attri_id_wear对应磨损率的attrid

1 个赞

@yelmh_kno07 您好,我添加了要适配硬盘的WWN以及对应的厂商名称,测试后并没有效果。通过查看trans_drive_data接口,发现这个接口并没有调用,应该是这个接口只是用于存在raid卡的情况。我们的机器没有raid卡,硬盘背板直连到主板上的,我想确认下这个接口是否只适用于通过raid卡读取硬盘信息的情况?

@yelmh_kno07 @changxingOpenUBMC

@weixin_41256007

你们的场景是直通SATA盘通过bma更新的硬盘信息吗

这种场景原理一样,同样的映射需要添加在storage仓,

bma会传过来个属性ManufacturerOUI,是WWN需要根据这个映射

@yelmh_kno07 是的,直通SATA盘通过bma更新硬盘信息,但是没有在设备树上看到bma传给bmc的ManufacturerOUI,是不是bma没传给bmc?设备树的信息如下:

$ busctl --user introspect bmc.kepler.host_agent /bmc/kepler/Systems/1/Sms/1/ComputerSystem/Systems/1/Storage/1/Drives/PCH_5F0000_3A32_3A04_2E0_5Fdisk1
NAME                                  TYPE      SIGNATURE RESULT/VALUE                             FLAGS
bmc.kepler.sms                        interface -         -                                        -
._40odata_2Econtext                   property  v         s "/redfish/v1/$metadata#Systems/Member… -
._40odata_2Eid                        property  v         s "/bmc/kepler/Systems/1/Sms/1/Computer… -
._40odata_2Etype                      property  v         s "#Drive.Drive"                         -
bmc.kepler.sms.redfish                interface -         -                                        -
.CapableSpeedGbs                      property  v         x 6                                      -
.CapacityBytes                        property  v         x 480103981056                           -
.Description                          property  v         s "Drives"                               -
.EnclosureId                          property  v         s "null"                                 -
.FaultDetailStatus                    property  v         x 0                                      -
.Id                                   property  v         s "PCH_0000:32:04.0_disk1"               -
.Location                             property  v         s "null"                                 -
.Manufacturer                         property  v         s "ATA"                                  -
.MediaErrorCount                      property  v         s "null"                                 -
.MediaType                            property  v         s "SSD"                                  -
.Model                                property  v         s "SE005-480GB-H"                        -
.Name                                 property  v         s "Drives"                               -
.NegotiatedSpeedGbs                   property  v         x 6                                      -
.OtherErrorCount                      property  v         s "null"                                 -
.PredFailCount                        property  v         s "null"                                 -
.PredictiveDetailStatus               property  v         x 0                                      -
.Protocol                             property  v         s "SATA"                                 -
.RotationalSpeedRpm                   property  v         x 0                                      -
.SerialNumber                         property  v         s "YMD1480JA2202008Z3"                   -
.SlotId                               property  v         s "null"                                 -
.Status                               property  v         s "Active"                               -
._40odata_2Econtext                   property  v         s "/redfish/v1/$metadata#Systems/Member… -
._40odata_2Eid                        property  v         s "/bmc/kepler/Systems/1/Sms/1/Computer… -
._40odata_2Etype                      property  v         s "#Drive.Drive"                         -
bmc.kepler.sms.redfish.Oem.Huawei     interface -         -                                        -
.DeviceID                             property  v         s "0xa230"                               -
.FirmwareVersion                      property  v         s "YM120D08"                             -
.HotspareState                        property  v         s "null"                                 -
.HuaweiSpecificLogPages               property  v         ai 0                                     -
.PatrolState                          property  v         s "null"                                 -
.PowerOnHours                         property  v         x 1065                                   -
.PowerState                           property  v         s "null"                                 -
.PredictionSate                       property  v         x 2                                      -
.PredictionState                      property  v         x 2                                      -
.RebuildState                         property  v         s "null"                                 -
.SAS_5FAddress                        property  v         s "null"                                 -
.SenseCodeList                        property  v         ai 0                                     -
.SilkScreen                           property  v         s "HDDPlaneDisk5"                        -
.SubsystemDeviceID                    property  v         s "0x0000"                               -
.SubsystemVendorID                    property  v         s "0x0000"                               -
.Temperature                          property  v         x 24                                     -
.TestStatus                           property  v         s "Completed without error"              -
.VendorID                             property  v         s "0x19e5"                               -
bmc.kepler.sms.redfish.RebuildStatus  interface -         -                                        -
._40odata_2Eid                        property  v         s "/bmc/kepler/Systems/1/Sms/1/Computer… -
bmc.kepler.sms.redfish.SmartDetails   interface -         -                                        -
.AttributeItemList                    property  v         av 28 s "{\"VALUE\":100,\"WORST\":100,\… -
.AttributeRevisionNumber              property  v         x 16                                     -
.AttributesItemsNumeber               property  v         x 28                                     -
.HuaweiDefinedAttributeItemList       property  v         ai 0                                     -
.HuaweiDefinedAttributeRevisionNumber property  v         s "null"                                 -
.HuaweiDefinedAttributesItemsNumeber  property  v         s "null"                                 -
org.freedesktop.DBus.Introspectable   interface -         -                                        -
.Introspect                           method    -         s                                        -
org.freedesktop.DBus.ObjectManager    interface -         -                                        -
.GetManagedObjects                    method    -         a{oa{sa{sv}}}                            -
org.freedesktop.DBus.Peer             interface -         -                                        -
.GetMachineId                         method    -         s                                        -
.Ping                                 method    -         -                                        -
org.freedesktop.DBus.Properties       interface -         -                                        -
.Get                                  method    ss        v                                        -
.GetAll                               method    s         a{sv}                                    -
.Set                                  method    ssv       -                                        -
.PropertiesChanged                    signal    sa{sv}as  -                                        -

带内查到的WWN如下:
image

可能是bma版本不够新

@yelmh_kno07 我把iBMA升级到了最新的2.16.1版本,推送信息没有变化还是没有ManufacturerOUI


能发下你那边的信息看下吗

据bma反馈要2.19.0后的版本,如果没有这个WWN,storage没法获取这些SATA盘的厂商,可能只能硬编码了

请问下BMA 2.19.0版本有发版计划吗 大概什么时候能出来