IPMI远程管理1.IPMI及其原理介绍1.1 ipmi简介IPMI是智能型平台管理接口(Intelligent Plat for m Management Interface)。
用户可以利用IPMI监视服务器的物理特征,如温度、电压、电扇工作状态、电源供应以及机箱入侵等。
IPMI最大的优势在于它是独立于CPU,B IOS 和OS的,所以用户无论在开机还是关机的状态下,只要接通电源就可以实现对服务器的监控。
IPMI是一种规范的标准,由美国英特尔、惠普(Hewlett-Packard)、NEC、美国戴尔电脑和SuperMicro等公司制定。
最新的版本是IPMI2.0.1.2 ipmi可以实现的主要功能1. 可以在服务器通电(没有启动操作系统)情况下,对它进行远程管理:开机,关机,重启。
2. 基于文本的控制台重定向,可以远程查看和修改bios设置,系统启动过程,登入系统等。
3. 可以远程通过sol连接服务器,解决ssh服务无法访问,远程安装系统,查看系统启动故障等问题。
4. 故障日志记录和SNMP 警报发送,访问系统事件日志 (System Event Log ,SEL)和传感器状况。
注:目前,我们公司线上主要要求实现远程重启和远程屏幕两个功能。
1.3 ipmi进行远程管理的必要条件(1)服务器硬件本身提供对 IPMI的支持。
目前惠普、戴尔和NEC 等大多数厂商的服务器都支持 IPMI 2.0但并不是所有服务器都支持,所以应该先通过产品手册或在 BIOS 中确定服务器是否支持 IPMI,也就是说服务器在主板上要具有 BMC 等嵌入式的管理微控制器。
(2)操作系统提供相应的 IPMI驱动。
通过操作系统监控服务器自身的IPMI信息时需要系统内核提供相应的支持,linux 系统通过内核对 OpenIPMI(IPMI驱动)的支持来提供对 IPMI的系统接口。
(3) IPMI管理工具。
本文选择的是Linux 下的命令行方式的 IPMI平台管理工具 ipmitool。
1.4 New for IPMI v2.0新版本的ipmi增加了一些新特性,以下列出几个比较重要的功能:1.Enhanced Authentication----RMCP+,key, sessions, au user //认证协议由RMCP到RMCP+,采用安全哈希算法2.VLAN Support ---IEEE 802.1q //vlan功能,局域网环境更加安全和方便管理3.Serial Over LAN (SOL) // 串口信息通过lan通信,实现远程屏幕功能4.Firmware Firewall //类似防火墙特性,可以设置一些安全策略,防止误操作之类1.5一些名词概念BMC:IPMI管理平台的核心控制器IPMB:IPMB 总线上连接着各个管理控制器,分别执行不同功能ICMB: 在IPMB总线上,连接着一个ICMB桥,通过ICMB可以和远程的另一个管理平台通信SDR: (Sensor Data Record)用于保存传感器的具体配置信息,如告警门限、事件触发是否允许等配置数据SEL: (Sensor Event Log) 用于保存传感器产生的告警事件等数据SMBus: BMC通过芯片上一对SMBus接口连接网络。
1.6 IPMI管理方式IPMI管理的两种方式:本地管理和远程管理本地管理,是由应用层的工具,如ipmitool发送指令通过OS 内核提供的接口(如下图1.1的①)和bmc进行通信。
应用软件-------------------------->OS内核接口-------------------------->bmc远程管理,则是通过网络(如下图1.1的②)以udp报文形式与远端服务器bmc进行通信。
Dell很多服务器默认是从udp消息是从eth0发出。
多网卡情况下,其他网卡能否进行通信根据服务器型号而异,需要进行测试。
多网卡绑定的情况则要求每个独立的网卡都可以与远端的bmc通信。
(监控端)应用软件---------------->网卡(udp)----------------->bmc(被监控端)图1.1主板上IPMI通信结构图结合图1.1,了解一些通信过程:ØBMC是核心,所以都命令都是先发送到BMC再执行。
ØIPMB总线连接着各个管理控制器,执行不同功能,总线上还连着一些I2C器件,作为传感器接口,让系统软件能通过IPMB来读取传感器的数据。
ØSDR、SEL、FRU(Field Replacement Unit)物理实体可以是做在芯片内的存储体,也可以是外挂的E2PROM。
Ø通过BMC芯片上一对SMBus接口连接网络,用户可通过网络访问实现对远程服务器接管的带外管理(Out-of-band)功能,例如远程接管服务器(Pre-OS),在客户端实现对远程服务器的完全接管。
Ø通过RS-232接口连接Modem,在远程服务器宕机情况下,用户可以通过拨号访问获取SDR、SEL数据,分析诊断故障原因。
ØBMC通过IPMB接口访问模组风扇背板、电源背板等上的SMC,实现对各种背板的温度电压风扇转速等关键参数管理。
ØBMC通过系统接口(多用SMIC:Server Management Interface Chip),实现IPMI消息传输机制,控制LCD显示和实现上层软件与底层F/W通信,实现告警、数据采集。
2.IPMI 管理2.1 ipmi驱动工具和测试环境除了服务器本身支持IPMI之外,还需要额外安装ipmi驱动和工具,如下所示:ipmitool-1.8.11-1.x86_64.rpm OpenIPMI-2.0.16-7.el5.x86_64.rpm OpenIPMI-libs-2.0.16-7.el5.x86_64.rpm注:两个Open*.rpm 主要是系统接口的驱动Ipmitool*.rpm 作为应用层软件,发送指令获取机器信息测试之前,Bios需要进行一些设置,具体步骤如下:1. 开启远程管理和屏幕功能( ipmi over lan , serial over lan )2. 串口重定向,默认是没有定向。
(根据产品型号,serial redirect选择性的设置为串口1或串口2,波特率等参数)3. 开启BMC 的网络功能,( nic enable/share, bmc的ip ,网关,账号等参数可以直接设置或用ipmitool 进行设置)注:不同型号的机器,修改的方式不一致,比如R410开机ctrl+e,R620则进入idrac 卡里修改,但设置的参数一致。
文档里的环境,161作为监控端,180.34作为被监控端,在同一个局域网环境中2.2 ipmitool 命令ipmitool本地监控使用命令: ipmitool –I open command,其中-I open表示使用OpenIPMI接口,常用command有以下项:a) raw:发送一个原始的IPMI请求,并且打印回复信息。
b) Lan:配置网络(lan)信道(channel)c) chassis :查看底盘的状态和设置电源d) event:向BMC发送一个已经定义的事件(event),可用于测试配置的SNMP 是否成功e) mc:查看MC(Management Contollor)状态和各种允许的项f) sdr:打印传感器仓库中的所有监控项和从传感器读取到的值。
g) Sensor:打印详细的传感器信息。
h) Fru:打印内建的Field Replaceable Unit (FRU)信息i) Sel:打印 System Event Log (SEL)j) Pef:设置 Platform Event Filtering (PEF),事件过滤平台用于在监控系统发现有event时候,用PEF中的策略进行事件过滤,然后看是否需要报警。
k) Sol/isol:用于配置通过串口的Lan进行监控注: ipmitool 工具详细命令参数很多,此处不一一列举。
详细请看ipmitool 命令帮助文档2.3用IPMI管理工具对服务器进行管理(1)ipmi基本信息确认1.[root@18034 ~]# service ipmi start // 先启动ipmi2.Starting ipmi drivers: [确定]3.4.5.[root@18034 ~]# ipmitool -I open mc info // 先查看下ipmi版本,是2.0没错.6.Device ID : 327.Device Revision : 08.Firmware Revision : 1.109.IPMI Version : 2.010.Manufacturer ID : 67411.Manufacturer Name : DELL Inc12.Product ID : 256 (0x0100)13.14.[root@18034 ~]# ipmitool -I open channel info 1 // 查看通道信息,dell机型基本默认采用channel1,其它机型则不一定.一般在1-7之间。
15.Channel 0x1 info:16. Channel Medium Type : 802.3 LAN // 表示可以使用的通道,channel 117. Channel Protocol Type : IPMB-1.018. Session Support : multi-session19. Active Session Count : 020. Protocol Vendor ID : 715421. Volatile(active) Settings22. Alerting : disabled23. Per-message Auth : disabled24. User Level Auth : enabled25. Access Mode : disabled26. Non-Volatile Settings27. Alerting : disabled28. Per-message Auth : disabled29. User Level Auth : enabled30.Access Mode : disabled31.32.[root@18034 ~]# ipmitool -I open channel info 2 // 看看其它channel?,就没有802.3 lan类型33.Channel 0x2 info:34. Channel Medium Type : Serial/Modem35. Channel Protocol Type : IPMB-1.036. Session Support : single-session37. Active Session Count : 038. Protocol Vendor ID : 715439.(2)设置BMC ip,作为远程管理ip1.[root@18034 ~]# ipmitoollan set 1 ipaddr 192.168.180.201 // 1 代表channel2.Setting LAN IP Address to 192.168.180.2013.[root@18034 ~]# ipmitoollan set 1 netmask 255.255.255.04.Setting LAN Subnet Mask to 255.255.255.05.[root@18034 ~]# ipmitoollan set 1 defgwipaddr 192.168.180.346.Setting LAN Default Gateway IP to 192.168.180.34注:IP网段可选,不一定跟主机一个网段,只要监控端和被监控端可通信,监控端有和被监控端bmc同一网段ip即可。