计算机组成原理 — IPMI/BMC

社会主义新天地 提交于 2020-08-08 14:32:45

目录

平台管理(Platform Management)

平台管理表示的是一系列的监视和控制功能,操作的对象是系统硬件。比如:通过监视系统的温度,电压,风扇、电源等等,并做相应的调节工作,以保证系统处于健康的状态。如果系统真的不正常了,也可以通过复位的方式来重新启动系统。同时平台管理还负责记录各种硬件的信息和日志记录,用于提示用户和后续问题的定位。

以上的这些功能可以集成到一个控制器上来实现,这个控制器被称为 BMC(Baseboard Manager Controller,基板管理控制器)。

BMC

BMC 通常是一个安装在服务器主板上的独立板卡,其不依赖于服务器的处理器、BIOS 或操作系统来工作,可谓非常地独立,是一个单独在系统内运行的无代理管理子系统。通俗来讲,BMC 是整个服务器单板的大管家。

BMC 与主板上的不同传感器通信来监视系统是否有严重事件,并在某些参数超出其预置阈值时发出警报和日志事件。所有的 IPMI 功能都是向 BMC 发送命令(IPMI 规范中规定的指令)来完成的,BMC 接收并在系统事件日志中记录事件消息,维护描述系统中传感器情况的传感器数据记录。

BMC 具有以下功能

  1. 通过系统的串行端口进行访问
  2. 故障日志记录和 SNMP 警报发送
  3. 访问系统事件日志和传感器状况
  4. 远程开、关机
  5. 独立于系统电源或工作状态的支持
  6. 用于系统设置、基于文本公用程序和操作系统控制台的文本控制台重定向

一般我们的电脑不会自带 BMC,因为用处不大,一些温度、电源等的管理,通过 CPU 来控制就够了。但是对于系统要求高的设备,比如服务器,就会用到 BMC。又因为 BMC 是一个独立的系统,对于某些嵌入式设备,可能不需要其它处理器,光一个 BMC 就能完成工作。

可见,BMC 本质就是一个带处理器(一般都是 ARM 处理器)的小系统,单独用来处理某些工作也完全是可以的。

IPMI

IPMI(Intelligent Platform Management Interface,智能平台管理接口)是一项应用于服务器带外管理系统设计的标准,通过特有的硬件设备而不是操作系统网络连接来对服务器进行电源的手段。IPMI 能够横跨不同的操作系统、固件和硬件平台,可以智能的监视、控制和上报服务器的运作状况(e.g. 远程开启、关闭电源)以及健康特征(e.g. 温度、电压、风扇工作状态、电源状态等)。IPMI 良好的自治特性克服了以往基于操作系统的管理方式所受的限制,实现了在操作系统不响应或未加载的情况下仍然可以对其进行开关机、信息提取等操作。OpenStack Ironic 正是利用此技术可以远程的对裸机进行上下电或者其他操作,而不是依赖物理开关或者操作系统。

IPMI 的核心是 BMC(Baseboard Management Controller ,基板管理控制器)。当需要对系统文本控制台进行远程访问时,IPMI 的 SOL(Serial Over LAN,LAN 上串口)功能非常关键。SOL 通过将 IPMI 会话重定向到本地串行接口,允许远程访问 Windows 的紧急事件管理控制台(EMS)特殊管理控制台(SAC)或访问 Linux 的串行控制台。BMC 通过在 LAN 上重定向串行端口的信息来做到这点,从而提供了一种与服务器厂商无关的远程查看 OS BootLoader 或紧急管理控制台来诊断和维修故障的标准方式,IPMI 甚至允许在操作系统引导阶段配置各种组件。

在这里插入图片描述

ipmitool

ipmitool 操作示例

  • 改变服务器引导方式
ipmitool -I lan -H <server_ip> -U root -P passwd chassis bootdev pxe
ipmitool -I lan -H <server_ip> -U root -P passwd chassis bootdev disk
ipmitool -I lan -H <server_ip> -U root -P passwd chassis bootdev cdrom
  • 服务器电源管理
# 硬关机,直接切断电源
ipmitool -I lan -H <server_ip> -U root -P passwd chassis power off 
# 软关机,即如同轻按一下开机扭
ipmitool -I lan -H <server_ip> -U root -P passwd chassis power soft
# 硬开机
ipmitool -I lan -H <server_ip> -U root -P passwd chassis power on
# 硬重启
ipmitool -I lan -H <server_ip> -U root -P passwd chassis power reset
# power off, wait 1s, power on
ipmitool -I lan -H <server_ip> -U root -P passwd chassis power cycle
# 获取当前电源状态
ipmitool -I lan -H <server_ip> -U root -P passwd chassis power status
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!