首页 > 编程知识 正文

bmcip地址作用,服务器卡在ipmi初始化

时间:2023-05-03 11:28:00 阅读:60438 作者:4103

我第一次知道了BMC和IPMI

什么是BMC? BMC全名base board管理控制器是嵌入式管理微控制器。

BMC全部称为电路板管理控制器(Baseboard Manager Controller,简称BMC),通过监视系统的电源、温度等确保系统正常工作的状态。

其实BMC是管家的角色。 可以管理整个系统的电源、温度等性能,在系统死机时可以起到看门狗的作用,重启操作CPU。

典型的计算机系统,例如我们自己使用的PC,不附带BMC。 要说为什么,那是因为没有必要。 CPU会为我们做所有我们要做的事情。 但是,复杂的服务器需要部署BMC。 这就像普通家庭没有保姆一样,但是xddcjl房子很大,保姆可以分担家务。

BMC系统一般依赖BMC芯片,目前常用的是ASPEED公司生产的AST2500。

AST2500是ASPEED公司生产的BMC芯片,用于服务器的远程管理。 一般与服务器的显示芯片兼用,输出VGA信号。 显示功能是基础功能,但对于服务器来说已经足够了。

目前已知的大多数制造商(戴尔、惠普、联想、浪潮、极光等)使用的BMC芯片是该公司生产的,型号包括但不限于AST2050/2300/2400/2520 华为以前也使用该公司的BMC,但为了确保信息的安全性,现在正在逐步切换为自研BMC芯片。

BMC是实现IPMI通用接口规格的核心控制器。

如果支持IPMI v1.5标准接口,则配置需要32K内存和128K闪存。 当然,配置越高,性能就越高。

那么,BMC在系统中是如何工作的呢? 以下是英特尔于2001年发布的IPMI v1.5体系结构图:

从图中可以看到,BMC在外部通过系统接口连接到系统总线,在内部通过ipmb:intelligentplatformmanagementbus连接到其他组件。

具体而言,BMC为两个网卡,一个用于本地连接,另一个用于远程连接提供网络端口。

这还允许远程使用和管理ipmitool工具。

另外,这些传感器的所有具体配置信息(如警报阈值、是否允许事件触发等)都存储在一组名为SDR (传感器数据记录器)的数据中。 传感器发生的警告事件存储在一系列称为传感器事件日志(sel )的数据中。

什么是IPMI? IPMI的全名是智能平台管理接口。 从那个英语可以看出,它是接口,是协议。

也就是说,此IPMI定义了使用相应工具的管理员可以看到的接口。 也就是说,我通过BMC控制这些sensor、Fan、voltage、etc…,计算结果并告诉用户这些参数的序列。

所有这些参数都可以通过BMC的功能进行查询。

BMC还可以使用内存和外部存储系统中的数据和事件日志。 这些功能类似于在微型计算机系统课程中实现存储功能。 当然,它的实现需要汇编语言。

IPMI的系统组件主要包括:

BMC : baseboardmanagementcontroller; ipmb :智能平台管理总线; icmb 3360智能机箱管理总线; SDR :传感器数据记录; sel :系统事件日志; fru : fieldreplacementunituser可以通过三种方式使用IPMI查询:

在Linux操作系统上通过命令行进行咨询; 例如CPU温度等管理软件; 在介绍什么是浏览器、带Java虚拟机的BMC之前,必须了解平台管理这一概念。

平台管理代表一系列的监控和控制功能,操作对象是系统硬件。 例如,监控系统温度、电压、风扇、电源等,并进行适当的调整,以确保系统处于健康状态。

当然,如果系统真的发生了故障,也可以通过重置来重新启动系统。

此外,平台管理还负责记录各种硬件的信息和日志,以帮助定位用户和后续问题。

下图概述了与平台管理相关的功能。

这些功能可以集成到称为主板管理控制器(Baseboard Manager Controller,简称BMC)的单个控制器中来实现。

BMC是独立的系统,不依赖于系统上的诸如CPU、存储器等的BIOS、OS等的其它硬件。 但是,BMC通过与BIOS和OS的交互,可以起到更好的平台管理的作用,OS下有系统管理软件,可以与BMC合作达到更好的管理效果。

一般我们的电脑没有BMC。 因为没什么用,所以一些温度、电源等的管理由CPU (或EC,这是另一个话题)控制就足够了。

但是,像服务器这样系统要求高的设备使用BMC。

当然,因为BMC是独立的系统,

对于某些嵌入式设备,可能不需要其它处理器,光一个BMC就能完成工作。

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

不过这里既然叫做BMC,那么总的来说重点还是在平台管理,所以本文主要说的是服务器中的BMC。

BMC在系统中的位置大致如下图所示:

BMC通过不同的接口与系统中的其它组件连接。

LPC、I2C、SMBUS,Serial等,这些都是比较基本的接口,而IPMI,它是与BMC匹配的接口,所有的BMC都需要实现这种接口,这里需要特别的介绍。

 

IPMI

IPMI的全称是Intelligent Platform Management Interface,智能平台管理接口。

看了名字也不需要特别介绍它用来干什么的了,关于它的详细介绍可以参看https://www.intel.com/content/www/us/en/servers/ipmi/ipmi-home.html,这里只做简单的说明。

IPMI就是对“平台管理”这个概念的具体的规范定义,该规范定义了“平台管理”的软硬件架构,交互指令,事件格式,数据记录,能力集等。而BMC是IPMI中的一个核心部分,属于IPMI硬件架构。下图灰色部分就是IPMI涉及的范围:

可以看到BMC在硬件的最底层,而上层白色部分是系统中的管理软件。

由于本文是介绍BMC的,所以这里只介绍BMC相关的IPMI硬件模块。

 

IPMI硬件模块

IPMI规定了很多的东西,BMC是其中最重要的一个部分,此外还有一些”卫星“控制器通过IPMB与BMC相连,这些”卫星“控制器一般控制特定的设备。

IPMB全称Intelligent Platform Management Bus,是一种基于I2C的串行总线,它用于BMC与”卫星“控制器的通信,其上传递的是IPMI命令。

对于相对简单的系统来说,BMC已经能够满足要求,但是当系统比较复杂,由多个子系统构成时,那么通过IPMB和“卫星”控制器,就能够更好地管理复杂系统。

下面的图描述了与IPMI有关的各个硬件模块:

下面简单的介绍各个部分。

 

MOTHERBOARD

首先是图中的左下角部分,名称写着Mother Board。

通常,在服务器中,这一部分是主角,它包含了CPU,PCH等主要的部件。

这里我们可以看到它连接除了数个组件:网卡,串口和IPMI总线,其实还有一个部分在图中最上面中间的PCI总线。

网卡:服务器需要用到网卡,这个本身没有什么好介绍的,重点其实在于BMC到网卡的连接,后续会介绍。

串口:串口用于输出服务器的调试信息,但是这里值得注意的是其中的Serial Port Sharing,它使得服务器的串口输出可以直接输出,也可以输出到BMC。至于为什么要输出到BMC,这里其实需要注意的是一种常用的场景。服务器位于机房,而工作人员通常不会直接在机房操作,而是通过网络(这也是为什么BMC会连接网卡的原因)进行操作,这个时候过需要获取服务器的串口信息,就不方便直接去机房,这个时候通过BMC来获取服务器串口信息就是一个好主意。

IPMI总线:这是BMC与服务器通信并进行控制的主体,当然少不了。

PCI总线:这个部分的作用跟串口很像。服务器除了输出串口信息,当然还需要输出图形界面之类的东西。从服务器端来看,它通过PCI连接的就是一个显卡,通过它来输出显示。

 

IPMB

再来到图中的右上角,其中描述的是通过IPMB连接的设备。

这些设备跟BMC类似,也是用来进行管理芯片。

它们是对BMC的补充,从而扩展BMC的功能。

 

Non-volatile Storage

我们知道BMC其实是一个独立的芯片,那么它肯定也需要运行系统。

通过BMC里面运行的是一个类Unix系统,而该系统就存放再Non-volatile Storage中,通常就是SPI Flash里面。

跟一般的存储介质没有本质的区别。

除了系统本身之后,还包含一系列BMC会存放的信息。

比如从服务器上面获取到的串口信息;系统本身的报警信息;FRU信息等。

 

Sensors & Control Circuitry

这一部分虽然图中只占很小的一部分,但却是BMC最基本的功能:获取信息和控制环境。

BMC会通过I2C/PECI等总线去获取设备的温度,然后根据预先设定的策略去调整温度。

调整的方式两种,一种就是调整风扇,属于主动降温;另一种是调整供电,比如CPU的P状态,或者关闭多余的硬盘等,属于被动降温。

 

FRU

FRU的全称是Field Replaceable Unit。

从图中也可以看出,类似内存条,CPU等就属于FRU,它们在服务器中通常是可以更换的。

BMC会检测这些设备并保存相关的信息。

当这些设备的在位情况发生变化时,BMC会发生相关的告警

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。