欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

openbmc简介

程序员文章站 2022-07-09 19:22:26
openbmc简介OpenBMCIPMI简介OpenBMC软件架构OpenBMC在说OpenBMC之前,先说一下BMC(Baseboard Manager Controller,简称BMC),BMC应用了IPMI架构的智能性,是嵌入在计算机(通常是服务器)主板上的专用的微控制器。它是负责管理系统和管理软件与服务器平台硬件之间的一个接口。根据IPMI规范,BMC需要满足如下条件:具有IMPI命令;提供BMC访问接口(一般是网口);提供标准化的看门狗定时器接口和看门狗内部事件产生功能;提供可被其他...

OpenBMC

在说OpenBMC之前,先说一下BMC(Baseboard Manager Controller,简称BMC),BMC应用了IPMI架构的智能性,是嵌入在计算机(通常是服务器)主板上的专用的微控制器。它是负责管理系统和管理软件与服务器平台硬件之间的一个接口。

根据IPMI规范,BMC需要满足如下条件:

  • 具有IMPI命令; 提供BMC访问接口(一般是网口);
  • 提供标准化的看门狗定时器接口和看门狗内部事件产生功能;
  • 提供可被其他主机组件使用的事件接收功能;
  • 提供可通过相应的IPMI必选命令访问的SDR(传感器数据记录)、SEL(系统事件记录)和FRU(现场可替换单元)等功能;

简而言之,BMC就是服务器主板上一块独立的小板卡,有自己独立的处理器,和控制系统,通过IPMB、LPC(low-pin-count-interface)、SMBus等接口与主机硬件或者主机系统进行通信,并通过网络、串行/Moderm、PCI等接口传向本地主机/远程服务器提供查询和控制等功能。

OpenBMC是BMC 的Linux发行版,旨在跨越异构系统,包括企业,高性能计算(HPC),电信和云规模数据中心等系统的管理。

2014年,四名Facebook程序员在一次Facebook 黑客马拉松活动上创建了一个名为OpenBMC的原型开源BMC固件。 2015年,IBM与Rackspace合作开发了一个开源BMC固件堆栈,也称为OpenBMC。这些项目仅在名称和概念上相似。2018年3月,OpenBMC成为Linux Foundation项目并融合在IBM堆栈上。OpenBMC项目的创始组织是Microsoft、Intel、BM、Google和Facebook。并且成立了一个技术指导委员会,由五家创始公司的代表来指导该项目。IBM的Brad Bishop当选为技术指导委员会主席。2019年4月,ArmHoldings也加入了OpenBMC技术指导委员会,成为了第六名成员。

OpenBmc使用Yocto Project作为底层构建和发行的框架,并结合OpenEmbedded,systemd和D-BusOpen等技术来轻松定制管理平台。同时,OpenBMC包含一个用于与固件堆栈进行交互的Web应用程序,并添加了Redfish对硬件管理的支持。它支持常见的主机状态查看和控制、主机固件更新等功能。
openbmc简介

IPMI简介

可以说IPMI目前是BMC的核心,BMC的远程控制都是通过ipmi协议实现。IPMI的全称是Intelligent Platform Management Interface,智能平台管理接口。IPMI规定了很多的东西,BMC是其中最重要的一个部分,此外还有一些”模块“控制器通过IPMB与BMC相连,这些”模块“控制器一般控制特定的设备,有些支持热插拔。

IPMB全称Intelligent Platform Management Bus,是一种基于I2C的串行总线,它用于BMC与模块(主板上的子卡)控制器的通信,其上传递的是IPMI命令。

openbmc简介

IMPI接口基于命令/响应机制,可通过网络将机箱、传感器、固件、存储、应用等主机组件的信息进行分类传递,通过软件ID对BIOS、系统管理软件、远程终端等传感器等进行分类管理,在网络、串行/Moderm接口、IPMB(I2C)、KCS、SMIC、SMBus等不同接口上传递都使用统一的格式。
IPMI1.0于1998年9月16日发布,制定了基本规范。
IPMI1.5于2001年2月21日发布,允许IPMI系统通过串口,BMC专用的带外网口,或者与主机共享的带内网口(NC-SI)与远程管理系统通讯。

IPMI2.0于2004年2月12日发布,增加了SOL(serial over LAN)、群组管理系统、身份认证(RAKP+、SHA-1等)、基于OpenSSL/RCMP+的安全增强网络接口、固件防火墙和VLAN支持等。其中,SOL支持将BIOS输出和操作系统终端重定向到与BMC相连的串口,进而通过IPMI与远程系统管理软件连接。同时,IPMI2.0兼容系统通常还提供KVM over IP(基于IP的远程键盘鼠标显示器连接)、远程桌面和页面服务器等功能,尽管这些功能并不属于IPMI协议。

IPMI2.0修订版1.1于2013年10月1日发布,修订了勘误表,说明和附录,并增加了对IPv6寻址的支持。

OpenBMC软件架构

BMC硬件本身就是一个计算机系统。与常用的计算机系统相比,BMC中的硬件资源非常有限。BMC硬件中CPU运行速度较慢,闪存一般在32 MB,RAM一般少于256 MB。因此,OpenBMC被设计为完整的Linux发行版,可以灵活地定制以支持不同的BMC SoC或板卡。

OpenBMC映像包括一个引导程序(u-boot),一个Linux内核,开源软件包和特定于主板的软件包:

引导加载程序和Linux内核都包括BMC SoC的各种硬件驱动程序,包括i2c驱动程序,USB驱动程序,LPC驱动、PWM驱动程序和SPI驱动程序。

开源软件包一般包括常用应用程序,例如BusyBox,i2c工具,lm传感器,OpenSSH和Python等。

用户板的软件包包括用于特定板的初始化脚本和工具。例如,它包括一个用于从EEPROM转储资产信息的工具和一个风扇控制器守护程序,用于根据环境读数控制风扇速度。

在“ Wedge”内部的BMC上运行的“ OpenBMC”软件包如下图所示。

openbmc简介

OpenBMC中,共有三组层:

  • 1、通用层包括可用于不同板卡和BMC SoC的软件包。如meta-openembedded、meta-security等。
  • 2、SoC层包括特定于BMC SoC的软件包,例如Aspeed对AST2300 / AST2400 SoC 基础包,引导加载程序和内核都在SoC层中定义。如meta-aspeed、meta-raspberrypi、meta-xilinx等。
  • 3、板层包括用于不同板的封装。应用于特定Wedge的硬件配置的初始化脚本和工具,如meta-facebook、meta-ibm等

本文地址:https://blog.csdn.net/dsafsdas/article/details/107478227

相关标签: linux