IPMI 1:ipmi简介

1 ipmi是什么

IPMI全称是Intelligent Platform Management Interface,智能平台管理接口。它是由Intel、DELL、HP及NEC于1998年共同提出,同时,由IPMI论坛创建了IPMI标准依赖,并已经得到了170 多家供应商的支,这使得其逐渐成为了一个完整地包括服务器和其他系统(如存储设备、网络和通信设备)的硬件管理规范。通过该规范,用户使用用IPMI协议监视服务器的物理健康特征,如温度、电压、风扇工作状态、电源状态等。此外,IPMI协议是一个开放的免费标准,用户在遵守开源协议要求下使用而无需支付额外的费用。目前该标准最新版本为IPMI 2.0,该版本在原有基础上有了不少的改进,包括可以通过串口、Modem以及Lan等远程环境管理服务器系统(包括远程开关机),以及在安全、VLAN 和刀片支持等方面的改进。
简单说ipmi就是一个面向服务器的一个管理的开源协议,该协议规定了消息格式规范,对于不同的传输接口,消息格式会有所不同。同时,除了协议规定的标准命令外,还有预留了许多oem命令,用户可以根据实际需求实现oem命令。
更多信息参考网站:ipmi官网
在这里插入图片描述

2 ipmi功能

IPMI可以集中控制和监控服务器,可以认为IMPI是服务器的安全警卫。

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的支持更是为设置管理专用网络提供了方便,并且可以以通道为基础进行配置。
IPMI

远程管理示意图

5 ipmi 协议版本

ipmi协议只有三个版本:ipmi1.0、ipmi1.5、ipmi2.0。
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寻址。2015年4月21发布了最后一个版本,更新了GUID等。

在这里插入图片描述

6 ipmi 接口

ipmi协议中规定了许多通信接口,具体如下表所示。

Interfaces TypeDescription
IPMI MessagingBMC ipmi或BMC与host之间的ipmi接口,包括通道、访问权限等等
Intelligent Platform Management Bus(IPMB)分为智能设备和非智能设备(master read/write)
Intelligent Chassis Management Bus (ICMB)ICMB桥实现访问的接口控制器,是IPMI的一种实现,包含IPMB。
Keyboard Controller Style (KCS)键盘控制器 (KCS)接口,KCS接口是支持的BMC到SMS接口。KCS接口仅用于SMS消息。
Server Management Interface Chip(SMIC)该接口是一个3 I / O端口接口,可以使用简单的ASIC、FPGA或离散逻辑设备实现。每个字节的握手也用于传输数据。
Block Transfer (BT)提供了一个更高的性能系统接口。与KCS和SMIC接口不同,每一个块的握手都用于在接口中传输数据。
SMBus System Interface (SSIF)用于主机控制器和BMC之间传输,使用SMBus读写块协议。BMC总是作为SMBus的从设备,主机控制器将数据写入到BMC。
IPMI LAN Interface通过ipv4/ipv6远程连接BMC的UDP网络接口
IPMI Serial/Modem InterfaceIPMI串口访问接口。

在这里插入图片描述

7 ipmi命令格式

对不通的接口ipmi标准命令格式会稍有区别,一般通常用是远程控制,以网络接口为例:
Requester数据格式
ipmi-cmd

Respond数据格式
在这里插入图片描述

Channel对应ipmi协议中“Table6-,Channel Number Assignments”

对于其他接口数据格式稍有不通,具体请看ipmi协议。对于远程管理用的会常用通信桥,也就是以网络接收命令,然后将命令通过其它接口(如ipmb)发送出去,然后接收其它接口返回的信息,在组合成网络命令返还给命令发起者。,以ipmb桥为例,具体格式如下图,首先是网络发送桥通信命令(Ntefn cmd),指定通信通道(即桥通道编号),data数据中填入需要发送的ipmb命令,BMC的ipmi守护进程解析后,通过ipmb通道发出命令,BMC的ipmi守护接收到返回数据后,在组合成成网络响应命令,返回给请求者。
在这里插入图片描述
IPMB命令格式如下:
在这里插入图片描述

rsAddr:响应地址

netFn:Network Function code 功能码,请求是奇数,响应是偶数

LNU: netFn的低2bits代表逻辑单元码,用于进一步区分设备

checksum:检验和,前3个字节和为0,后n个字节和为0

rqAddr:请求地址

rqSeq:请求序列号,由请求者设定

rqLUN:请求逻辑单元码

rsLUN:响应逻辑单元码

cmd :command 命令

completion code:命令响应完成码

request/response data:请求或响应数据

不通的桥会有不通的权限,不同的用户也可以有不同的权限,具体需要根据实际进行设定。

8 ipmi实现

IPMI只是一个通信协议,它的实现依赖于单独的硬件平台,即基板管理控制器(BMC)。

BMC硬件为系统和管理软件提供通信接口。BMC获取主板、模块的传感器信息和日志信息上报管理软件,同时,可接收系统或者管理软件的设置信息,以设置和管理服务器,确保服务器系统健康运行。BMC实现IPMI管理如下图所示。
常用的实现:amiopenbmciBMC(华为)
MCU实现(ipmb):ipmc
在这里插入图片描述

9 调试工具

ipmi的调试工具是ipmitool ipmiutilFreeIPMIopenipmi一般用ipmitool。
这几个开源项目对比:http://ipmiutil.sourceforge.net/docs/ipmisw-compare.htm

ipmitool常用命令

ipmitool -H <BMC-IP> -I lanplus -U (BMC-user) -P (BMC-pssd) <cmd> #远程管理执行命令
ipmitool <cmd> #本地管理执行命令
ipmitool mc info	#BMC信息
ipmitool fru	#fru信息
ipmitool sel	#sel版本等信息
ipmitool sel elist	#获取sel
ipmitool sensor list	#获取传感器信息
ipmitool chassis power on/off/reset	#启动底盘开关机、重启
ipmitool chassis power status	#底盘电源和状态
ipmitool user list	#用户列表
ipmitool lan print 1	#查看lan信息

更多请见:

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值