第一章:概述
IPMI规范在设计之初考虑到平台管理的可扩展性,为了让不同平台可以拥有自由数量的传感器以及不同的管理能力,在IPMI设计中允许系统管理软件(SMS)从平台检索信息并自动配置该平台的可管理内容。
平台的可管理具体内容主要通过两种机制来提供:
1、Capabilities Commands
2、Sensor Data Records (SDRs)
其中,Capabilities Commands主要包含以下IPMI命令,它是基于IPMI Message机制的一种“使用说明”提供方式,具体的内容包括IPMI命令的支持状态、NetFn的支持状态、不同接口的支持状态以及通道负载可支持类型的说明与描述等。
IPMI Spec V2.0 - 21.2 |
Get NetFn Support Command |
IPMI Spec V2.0 - 21.3 |
Get Command Support Command |
IPMI Spec V2.0 - 21.4 |
Get Command Sub-function Support Command |
IPMI Spec V2.0 - 21.11 |
Get OEM NetFn IANA Support Command |
IPMI Spec V2.0 - 22.9 |
Get System Interface Capabilities Command |
IPMI Spec V2.0 - 22.10 |
Get BT Interface Capabilities Command |
IPMI Spec V2.0 - 22.13 |
Get Channel Authentication Capabilities Command |
IPMI Spec V2.0 - 24.8 |
Get Channel Payload Support Command |
IPMI Spec V2.0 - 28.1 |
Get Chassis Capabilities Command |
IPMI Spec V2.0 - 30.1 |
Get PEF Capabilities Command |
Sensor Data Records(SDRs)则是使用类似于“配置文件”的方式来描述平台中传感器的设定与能力,记住它的效果并不是“实例化”这些传感器,而是用来描述已存在的传感器。
最后需要注意的是,管理平台中并不是所有的传感器都需要在SDR中定义,这一点我们将在后续章节里继续说明。
Capabilities Commands的部分则不做展开,感兴趣的读者可以查阅IPMI规范Capabilities Commands命令定义的章节原文。
第二章:SDR内容及分类
Sensor Data Record(SDR)会定义传感器的种类、阈值、名称、读值单位、事件记录能力等。以下三类情况下可不针对传感器进行SDR配置:
- 只产生事件日志(Event Log)且不用监控的逻辑Sensor,可不强制配置SDR
- 不需要由Initialization Agent ( IPMI Spec V2.0 - Chapter 33.6 Sensor Initialization Agent) 初始化的Sensor,可不强制配置SDR
- 不需要由系统管理软件(SMS)访问的Sensor,可不强制配置SDR
IPMI Spec中将SDR分为下面几种类型,本文将对常见SDR Type 01h和02h做简单介绍。
43.1 |
SDR Type 01h |
Full Sensor Record |
43.2 |
SDR Type 02h |
Compact Sensor Record |
43.3 |
SDR Type 03h |
Event-Only Record |
43.4 |
SDR Type 08h |
Entity Association Record |
43.5 |
SDR Type 09h |
Device-relative Entity Association Record |
43.6 |
SDR Type 0Ah:0Fh |
Reserved Records |
43.7 |
SDR Type 10h |
Generic Device Locator Record |
43.8 |
SDR Type 11h |
FRU Device Locator Record |
43.9 |
SDR Type 12h |
Management Controller Device Locator Record |
43.10 |
SDR Type 13h |
Management Controller Confirmation Record |
43.11 |
SDR Type 14h |
BMC Message Channel Info Record |
43.12 |
SDR Type C0h |
OEM Record |
第三章:SDR Type 01h & 02h (Full VS Compact)
所有类型的SDR的内容都是由三部分组成的:
- SDR Record Header - 包含Record ID、SDR Version、Record Type 和Record Length
- SDR Record ‘KEY’Fields - SDR关键内容
- SDR Record Body - SDR普通内容
01h类型SDR是一个最长64字节的记录,可用来描述任意类型的传感器,02h类型SDR是一个最长48字节的记录,使用了更少的空间,但是对于传感器的描述有一定的局限。
具体的功能对比表格如下,在BMC ROM空间越来越“宽裕”的今天,02h压缩类型的SDR已经越来越少的被使用到,对于系统管理软件(SMS)而言也更加喜欢描述更加清晰详尽的01h type 全量定义型SDR。
01h类型SDR是否支持? |
02h类型SDR是否支持? |
|
支持模拟读数(Sensor Units 1 Byte) |
是 |
否 |
支持传感器阈值初始化(Sensor Initialization Byte) |
是 |
否 |
支持传感器滞后值初始化(Sensor Initialization Byte) |
是 |
是 |
支持多个传感器共用一个SDR(Sensor Record Sharing Byte) |
否 |
是 |
第四章:小结及展望
Sensor Data Record(SDR)是服务器中常见且成熟的传感器描述方法,适用于所有兼容IPMI规范的服务器环境以及管理软件,它本身也是基板管理控制器固件(BMC Firmware)对传感器做硬件抽象的重要技术方法。但在Redfish等下一代管理接口规范日益发展和完善的当下,DMTF Redfish Schema 的标准是否会涵盖SDR所有的定义能力并替代SDR使用,也是当下我们需要重点关切的技术趋势和变化。
后续笔者将进一步介绍SDR中不太常见但有特殊使用场景的类型定义,让大家对SDR有进一步的了解,并且与其它类似技术做横向的比较,得出自己的应用结论。
参考文献:
1、IPMI Specification
2、DMTF Redfish®Specs