1、BMC与IPMI的定义
BMC(Baseboard Management Controller)与IPMI(Intelligent Platform Management Interface),即基板管理控制器与智能型平台管理接口,是服务器的基本核心功能子系统,负责服务器的硬件状态管理、操作系统管理、健康状态管理、功耗管理等核心功能。
BMC全称为基板管理控制器(Baseboard Management Controller),是用于监控和管理服务器的专用控制器,主要4个功能如下:
①设备信息管理:记录服务器信息(型号、制造商、日期、各部件生产和技术信息、机箱信息、主板信息等)、BMC信息(服务器主机名、IP、BMC固件版本等信息);
②服务器状态监控管理:对服务器各个部件(CPU、内存、硬盘、风扇、机框等)的温度、电压等健康状态进行检测,同时根据各个温度采集点情况实时调整风扇转速保证服务器不产生过温、而且控制总体功耗又不能过高;如果单板部件出现任何异常则通过SNMP协议、SMTP协议、Redfish协议等多种业界通用规范将信息及时上报给上层网管;
③服务器的远程控制管理:服务器的开关机、重启、维护、固件更新、系统安装等;
④维护管理:日志管理、用户管理、BIOS管理、告警管理等。
BMC是一款服务器接通电源起始即运行的软件,运行在服务器上一款单独的ARM芯片上,这个ARM芯片就是BMC软件的CPU,同时会芯片外围会配置自己的RAM、Flash等器件,只要服务器插上电源线,BMC软件便快速运行起来。BMC是一个独立的系统,它不依赖与系统上的其它硬件(比如CPU、内存等),也不依赖与BIOS、OS等,但是BMC可以与BIOS和OS交互,这样可以起到更好的平台管理作用,OS下有系统管理软件可以与BMC协同工作以达到更好的管理效果。所以可以看出来:
BMC是一个独立于服务器系统的小型操作系统。作用是实施服务器远程控制管理、监控等功能。
BMC是集成在主板上或者通过PCIE等各种形式插在主板上的一个芯片,对外表现形式只是一个标准的RJ45网口,拥有独立的IP。
IPMI 是一组交互标准管理规范,由 Intel、HP、Dell 和 NEC 公司于1998年9月16日共同提出,主要用于服务器系统集群自治,监视服务器的物理健康特征,如温度、电压、风扇工作状态、电源状态等。同时,IPMI 还负责记录各种硬件的信息和日志记录,用于提示用户和后续问题的定位。目前,IPMI 已经为超过 200 多家计算机供应商所支持。
IPMI 是独立于主机系统 CPU、BIOS/UEFI 和 OS 之外,可独立运行的板上部件,其核心部件即为 BMC。或者说,BMC 与其他组件如 BIOS/UEFI、CPU 等交互,都是经由 IPMI 来完成。在 IPMI 协助下,用户可以远程对关闭的服务器进行启动、重装、挂载 ISO 镜像等。
注:
IPMI官网
2、 ipmi功能
IPMI可以集中控制和监控服务器,可以认为IPMI是服务器的安全警卫。
1.远程控制服务器开关机、重启等操作。
2.远程查看和修改bios设置,查看系统启动过程。
3.远程连接服务器,登入系统,解决ssh访问问题。
4.查看系统故障日志记录访问系统事件日志 (System Event Log,SEL) 和传感器状况等。
5.获取系统的SNMP 警报。
6.远程安装系统,查看系统启动故障等问题。
7.对系统进行各种设置等。
3 、ipmi缺点
IPMI协议在实际应用中有一定的风险和一些缺点,主要是安全性和可用性:
1.网络安全 - IPMI通信协议会留下可以通过网络攻击的漏洞。
2.配置挑战 –在旧网络设置被扭曲时,配置IPMI任务具有挑战性。在这样的情况下,可通过系统的BIOS清除网络配置够解决问题。
3.更新挑战 – 安装更新补丁有可能导致网络故障。例如,切换主板的端口可能会导致故障。一般重新启动系统能够解决导致网络失败的问题。
4.数据非可视化– ipmi协议中数据是二进制,非人类可读,增加了调试和使用的难度。
目前已有DMTF制定的redfish协议将逐步替代ipmi协议。
4、ipmi 工作原理
IPMI协议是基于命令/响应机制,可通过网络将机箱、传感器、固件、存储、应用等信息进行分类传递,同时可通过软件对BIOS、系统管理软件、远程终端等传感器等进行分类管理,并在网络、串行/Moderm接口、IPMB(I2C)、KCS、SMIC、SMBus等不同接口上都使用统一的格式传递信息。
IPMI核心是一个使用专用芯片/控制器(一般称为服务器处理器或基板管理控制器(Baseboard Management Controller,BMC)),该控制器不依赖于服务器的处理器、BIOS或操作系统来工作,而是有常电供电并独立运行的,具有一个单独的子系统,在该系统中有ipmi的守护进程来处理主机或者远程管理的命令。一般BMC通常是一个贴片或者外挂在服务器主板上的独立的板卡,目前,部分服务器主板也提供对IPMI支持的。
在工作时,所有的IPMI命令都发给BMC,BMC收到命令后返回结果或者执行对应的操作,BMC上可以记录对应的数据或操作日志。在服务器内部,主机可以通过LPC或者其他接口发送命令给BMC来上报日志、或者其他信息。在远程管理时,可以通过命令获取到服务器的传感器状态信息、主机的调试信息(SOL)、控制服务器上下电重启等。通过远程管理可以避免在嘈杂的机房中工作。
而在命令传输的安全性方面,用户也无需担心,IPMI增强的认证(基于安全哈希算法1和基于密钥哈希消息认证)和加密(高级加密标准和Arcfour)功能有助于实现安全的远程操作。对VLAN的支持更是为设置管理专用网络提供了方便,并且可以以通道为基础进行配置。
BMC支持行业标准的 IPMI 规范。IPMI 是独立于主机系统 CPU、BIOS/UEFI 和 OS 之外,可独立运行的板上部件,其核心部件即为 BMC。IPMI是一组交互标准管理规范由 Intel、HP、Dell 和 NEC 公司于1998年9月16日共同提出,主要用于服务器系统集群自治,监视服务器的物理健康特征,如温度、电压、风扇工作状态、电源状态等。同时,IPMI 还负责记录各种硬件的信息和日志记录,用于提示用户和后续问题的定位。目前IPMI 已经为超过 200 多家计算机供应商所支持。该规范描述了已经内置到主板上的管理功能。这些功能包括:本地和远程诊断、控制台支持、配置管理、硬件管理和故障排除。IPMI逻辑图如下图:
这张图展示的是IPMI(Intelligent Platform Management Interface,智能平台管理接口)的架构框图,它描述了计算机系统中BMC(基板管理控制器)如何通过不同的总线与外围硬件模块进行通信。IPMI是一种独立于操作系统和CPU的硬件管理标准,主要用于远程监控和管理服务器、工业计算机等设备的状态(如温度、电压、风扇转速等),并支持远程控制(如开关机、重启、固件更新等)。
1. 核心组件解析
(1) BMC(Baseboard Management Controller,基板管理控制器)
位置:图中中心的浅紫色方块,是整个IPMI架构的核心。
功能:
负责收集和管理硬件状态信息(如温度、电压、风扇转速等)。
提供远程管理功能(如KVM over IP、远程开关机、日志记录等)。
通过不同的总线(如I2C、SMBus、LPC等)与系统其他组件通信。
(2) 连接BMC的主要总线与接口
总线/接口 | 连接对象 | 功能 |
---|---|---|
LPC Bus( |