背景
适配导入部分SATA SSD硬盘时,发现厂商名为ATA,通过调试发现是识别不到厂商名,因此设置的默认值ATA
关联issue
整体方案
设置厂商名时判断当前iBMA推送或者通过raid读取到的厂商名是否为ATA,如果为ATA则通过判断SATA SSD型号确认厂商名
评审点
通过SATA SSD型号设置厂商名的可行性
详细描述
添加一种额外设置厂商名的方法,读取到厂商名是ATA时进行再次判断,如果是已知的型号,则通过型号添加厂商名
适配导入部分SATA SSD硬盘时,发现厂商名为ATA,通过调试发现是识别不到厂商名,因此设置的默认值ATA
设置厂商名时判断当前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是想要传一个什么值到底层?
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
@yelmh_kno07 您好,我添加了要适配硬盘的WWN以及对应的厂商名称,测试后并没有效果。通过查看trans_drive_data接口,发现这个接口并没有调用,应该是这个接口只是用于存在raid卡的情况。我们的机器没有raid卡,硬盘背板直连到主板上的,我想确认下这个接口是否只适用于通过raid卡读取硬盘信息的情况?
你们的场景是直通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如下:
![]()
可能是bma版本不够新
据bma反馈要2.19.0后的版本,如果没有这个WWN,storage没法获取这些SATA盘的厂商,可能只能硬编码了
请问下BMA 2.19.0版本有发版计划吗 大概什么时候能出来