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。
遗留问题
无