【已评审】IPMI新增查询部件信息命令

ISSUE 链接

支持带内IPMI命令通过部件类型和实例获取部件信息 frudata #32

背景

  • BMC在进行故障诊断时,会对接入的重要部件(如:硬盘)进行故障诊断和预测,预测之后将结果进行上报到带内管理进行下一步处理;带内管理在处理故障诊断和预测数据时,对于一些部件需要对应的定位信息(如:SN/PN)
  • 目前服务器上部件的数据均在 BMC 中,并且带内故障预测数据只有 ComponentType 和 ComponentInstance,因此需要提供个 IPMI 命令,允许在带内访问BMC获取到 部件和FRU 数据,保障带内管理故障诊断和预测之后的数据中可以定位到是哪个部件

现状分析

  • Read FRU Data(0A 11 …):当前命令无法满足诉求,当前命令是通过 FRU 的 FruId 来查询 FRU 的电子标签信息,没有 ComponentType 和 ComponentInstance 输入凭据
  • Get FruId Info(30 93 DB 07 00 3B …):当前命令无法满足诉求,当前命令是通过 FRU 的 DeviceType 和 DeviceNumber 来进行查询,并且返回的是符合条件的 FruId 列表
  • Get Device Info(30 93 DB 07 00 27 …):当前命令无法满足诉求,并且当前命令已经停止扩展,使用 Get Component Parameters (30 93 DB 07 00 90 …)进行替代

评审点

  • 评审点1:IPMI 扩展 Get Component Parameters 参数

评审点1:IPMI 扩展 Get Component Parameters 参数

命令名称: Get Component Parameters(已有,保持现状)
命令说明: 查询部件信息(已有,保持现状)
命令权限: ReadOnly(已有,保持现状)
是否锁定之后可以访问: 是(已有,保持现状)
是否有敏感数据: 否(已有,保持现状)
命令样式: (已有,保持现状)

  • 请求:ipmitool raw 0x30 0x93 <ManufacturerID> <SubCmd> <ComponentType> <GroupId> <ComponentId> <ParameterSelector> <Offset> <Length>
  • 响应:<ManufacturerID> <EndOfList> <Data>

评审新增加 Parameter Selecotor 中的 通用类型,详情如下:

Parameter Selector 功能描述 Parameter Data-Get Parameter Data-Set
0000h 部件SN 请求:
 Offset = 00h
 Length = FFh
响应:
 EndOfList = 00h
 Data = 查询部件的SN
说明:如果不存在则为空字符串
不支持
0001h 部件PN 请求:
 Offset = 00h
 Length = FFh
响应:
 EndOfList = 00h
 Data = 查询部件的PN
说明:如果不存在则为空字符串
不支持

评审结论

通过,同意在 IPMI 接口 Get Component Parameters(NetFn:30h,Cmd:93h,SubCmd:90h)中参数 ParameterSelector 扩展,扩展参数支持查询部件的 SN 和 PN,扩展参数仅支持 Get,不支持 Set,具体扩展参数的详细描述见议题1。

遗留问题