IPMI协议

总体架构

IPMI(Intelligent Platform Management Interface)是一个智能平台管理接口。

用户可以利用IPMI 监视服务器等设备的物理特征,如各部件的温度、电压、风扇工作状态、电源供应以及机箱入侵等。

以下是整个管理平台的架构。

 


IPMI协议理解 - goodmessagemore - 我的博客

 

 

IPMB:

IPMB总线上连接着各个管理控制器,分别执行不同功能。

IPMB总线上还连接着一些I2C器件,用来作为传感器的接口,让系统管理软件能够通过IPMI 来读取传感器的数据。

此外,在IPMB总线上,还可以外接其他的用户板,用来扩展IPMI管理平台的功能。

 

ICMB:

在IPMB总线上,连接着一个ICMB桥,通过ICMB可以和远程的另一个管理平台通信。

 

这里不需要OS的介入,程序直接烧写在芯片存储器或者非易失存储器中。


IPMI 工作原理

  IPMI 的基础在于运行于专用芯片/控制器 — 有时指通常位于系统主板或刀片上的服务处理器或 BMC(基板管理控制器)— 的专业固件。这就创建了单独在系统内运行的无代理管理子系统 — 独立于 CPU、BIOS 和操作系统的类型或条件。这些“自治”特性消除了所有依操作系统而定的管理代理(基于代理)所遇到的限制,例如操作系统不响应或未加载的情况。由于 IPMI 通常是预先集成,因此使用 IPMI 的投资回报率可以确保 IT 车间能够很好地控制成本。

  所有的 IPMI 功能可以通过使用规格中指定的标准化说明,向 BMC over IP 发送命令来实现。IPMI 固件接收事件信息并将其记录在系统事件日志 (SEL) 中,维护对系统中的传感器进行描述的传感器数据记录 (SDR)。

当需要对系统文本控制台进行远程访问时,Serial Over LAN (SOL) 功能将非常有用。SOL 通过 IPMI 会话重定向本地串行接口,允许远程访问 Windows 的紧急事件管理控制台 (EMS) 特殊管理控制台 (SAC),或访问 LINUX 串行控制台。这个过程的步骤是 IPMI 固件截取数据,然后通过局域网重新发送定向到串行端口的信息。 这就提供了远程查看 BOOT、OS 加载器或紧急事件管理控制台以诊断并修复服务器相关问题的标准方法,而无需考虑供应商。它允许在引导阶段配置各种组件。

管理员还可以使用 IPMI 主动监测组件的状况,以确保不超出预置阈值,例如服务器温度。这样,通过避免不定期的断电,协助维护了 IT 资源的运行时间。 请记住,不论其他设备或组件(只要 NIC 正常运行,服务器接电)的条件如何,IPMI 自治功能都能使其正常工作。IPMI 可以监测和控制其他系统组件以最大限度地降低对系统的整体影响,同时能够发送消息派遣技术人员。IPMI 的预告故障能力也有助于 IT 周期的管理。通过检查系统事件日志 (SEL),可以更轻松的预先判定故障组件。

 


IPMI 命令格式

 

字节

比特

7

6

5

4

3

2

1

0

0

响应从地址(rsSA)

1

网络功能码(netFn)

响应逻辑单元号 (rsLUN)

2

校验码1(Checksum)

3

请求从地址(rqSA rqSA)

4

请求序列号(rqSeq rqSeq)

请求逻辑单元号 (rqLUN)

5

命令号(Command )

6~N

数据(Data)

N + 1

校验码2(Checksum)

 

 

字节

比特

7

6

5

4

3

2

1

0

0

请求从地址(rqSA rqSA)

1

网络功能码(netFn)

请求逻辑单元号

2

校验码1(Checksum)

3

响应从地址(rsSA)

4

请求序列号(rqSeq rqSeq)

响应逻辑单元号(rsLUN)

5

命令号(Command Command

6

完成码(Completion Code)

7~N

数据(Data)

N + 1

校验码2(Checksum)

 

IPMI是构建高可靠性设备的又一理想的工具.目前开源的实现有openipmi和ipmitool。

posted @ 2012-07-03 09:58  ajiaju  阅读(5686)  评论(0编辑  收藏  举报