初识BMC与IPMI
什么是BMC?
BMC全名Baseboard management controller, 是一种嵌入式管理微控制器。
BMC是实现IPMI通用接口规范的核心控制器。
在支持IPMI v1.5典型接口时,配置上需要有32K的RAM内存和128K的flash memory。当然,配置越高它的性能越强大。
那么BMC在系统中是怎么起到其作用的呢?下面是2001年Intel发布的IPMI v1.5的架构图:
从图中我们可以看到BMC对外通过System Interface连接系统总线,对内通过IPMB:Intelligent platform management Bus连接其他的component。
特别地说,BMC连接了两个网卡,一条本地连接,一条可提供远程连接网口。
这也就提供了远程使用ipmitool工具管理的可能。
除此之外,这些传感器的具体配置信息,如告警门限、事件触发是否允许等配置都保存在一组名为SDR(Sensor Data Record)的数据里面。而传感器产生的告警事件则保存在一组叫做SEL(Sensor Event Log)的数据里面。
什么是IPMI?
IPMI全称是Intelligent platform management interface。 由它的英文我们可以看出,它是一种接口,一种协议。
也就是说,它这个IPMI定义了什么接口可以让使用对应工具管理者看到。也就是说,我通过BMC来控制这些sensor,Fan,voltage,etc…并计算出结果告诉user一个这些参数的序列。
这些参数都可以通过BMC的功能来查询。
上面还提到BMC还可以通过内存和外存存储系统的数据以及事件日志,这些功能的实现有点类似于在微型计算机系统课上实现存储功能。当然其实现是需要汇编语言的。
IPMI的系统组件主要包括如下:
- BMC:baseboard management controller;
- IPMB:Intelligent Platform Management Bus;
- ICMB:Intelligent Chassis management Bus;
- SDR:Sensor Data Record;
- SEL:System Event Log;
- FRU:Field Replacement Unit
User可以通过三种方式使用IPMI查询:
- Linux操作系统下通过命令行的方式查询;例如CPU温度等
- 管理软件;
- 浏览器,带Java虚拟机
未完待续。。。