运维利器之–ipmitool

Ipmitool对搞运维的哥们儿来说是一个很不错的管理工具,既支持本地操作也支持远端操作。能够不依赖服务器的CPU,内存,存储,电源等独立工作,是一种廉价远程管理方案。借用一下官方的介绍:

The service processor (or Baseboard Management Controller, BMC) is the brain behind platform management and its primary purpose is to handle the autonomous sensor monitoring and event logging features.

IPMItool是一个用于管理和配置,支持智能平台管理接口(IPMI)1.5版和2.0版规范的设备的实用程序。 IPMI是一个开放的标准,监控,记录,回收,库存和硬件实现独立于主CPU,BIOS,以及操作系统的控制权。 服务处理器(或底板管理控制器,BMC)的背后是平台管理的大脑,其主要目的是处理自主传感器监控和事件记录功能。

It features the ability to read the sensor data repository (SDR) and print sensor values, display the contents of the System Event Log (SEL), print Field Replaceable Unit (FRU) inventory information, read and set LAN configuration parameters, and perform remote chassis power control.

该ipmitool的方案提供了一个简单的命令行接口,这个BMC。 它具有读取传感器数据存储库(SDR)和打印传感器值,显示系统事件日志(SEL)中的内容,打印现场可更换单元(FRU)的库存信息,读取和设置LAN配置参数,实现对远程的能力机箱电源控制。

It was originally written to take advantage of IPMI-over-LAN interfaces but is also capable of using a system interface as provided by a kernel device driver such as OpenIPMI on Linux and BMC on Solaris 10 or the new OpenIPMI-compatible driver in FreeBSD.

它最初被写入采取IPMI的过度LAN接口的优势,但也能够使用系统界面由内核设备驱动程序,如所提供的的OpenIPMI Linux和BMC在Solaris 10或FreeBSD的新的OpenIPMI兼容的驱动程序。

一、实验环境

硬件环境:

联想 RD630

软件环境:

centos6.4

二、软件安装

yum install -y OpenIPMI ipmitool

三、管理功能详解

3.1 Windows 平台

安装DELL服务器管理软件-OpenManagment_V5.2.0,在”C:\Program Files\lenovo\SysMgt\bmc\” 下,ipmish.exe,在命令行模式运行

基本语法:

> ipmish -ip -u -p

      ej:

            > ipmish -ip 192.168.15.196 -u root -p 123456 power status

                >>> 查看当前电源状态  

            > ipmish -ip 192.168.15.196 -u root -p 123456 power reset

                >>> reset该机器

   > ipmish -interactive 

      我喜欢将上面放在批处理里,直接双击,进ipmi的shell环境, 然后

   >   connect -ip -u -p

      验证成功后,就可以直接输入BMC控制命令,这里介绍三个比较有用的命令,其余命令和更详细的用法,可以在bmc shell里自己查看帮助 > help

   >   power [status|off[-force]|on|reset|cycle]

       >>> 可以远程在不进入系统的情况下进行开关机,重启,等等

   >   sensor [temp|fan|volt|discrete|numeric] [-format ]

       >>> 查看系统传感器的命令,支持温度,电压,风扇等等

   >   sel [[get [[[-begin ][-max |-end ]]|-last ] [-format ]] |clear|status]

       >>> 查看和管理系统日志 sel get > log.txt 保存日志 ; sel clear

   >   sysinfo [fru|id]

       >>> 查看 FRU 或者 BMC 信息

 

3.2  Linux 平台

Centos6.4,安装时勾选了IPMI管理包,自己另装的话,注意要装上IPMI驱动模块和IPMITOOL管理工具.

#开启ipmi服务

   [root@centos6 ~]#service ipmi start

#可以直接进入本地BMC shell

   [root@centos6 ~]#ipmitool -I open shell

   #输入password,进入IPMI交互模式,当然这里也可以把shell直接换成bmc命令 ,

#另外ipmitool支持端口,所以是否可以先做DNAT,然后远程直接管理内网机器.

   # ipmitool提供的功能要比windows下ipmish提供的功能多得多,用法相对复杂一些

[root@centos6 ~]#ipmitool -I lan -H -U shell

 

3.3命令详细解

Ipmitool本地监控使用命令:

ipmitool  -I open command,其中-I open表示使用OpenIPMI接口

 

command有以下项:

a)  raw:发送一个原始的IPMI请求,并且打印回复信息。

b)  lan:配置网络(lan)信道(channel)

[root@centos6 ~]#ipmitool  -I open lan print

c)  chassis :查看底盘的状态和设置电源

[root@centos6 ~]#ipmitool  -I open chassis status

d)  event:向BMC发送一个已经定义的事件(event),可用于测试配置

的SNMP是否成功

e)  mc:查看MC(Management Contollor)状态和各种允许的项

[root@centos6 ~]#ipmitool  -I open mc

f)  sdr:打印传感器仓库中的所有监控项和从传感器读取到的值。

[root@centos6 ~]#ipmitool  -I open sdr

g)  sensor:打印详细的传感器信息。

[root@centos6 ~]#ipmitool  -I open sensor

h)  Fru:打印内建的Field Replaceable Unit (FRU)信息

i)   sel: 打印 System Event Log (SEL)

[root@centos6 ~]#ipmitool  -I open sel

a1

j)        Pef: 设置 Platform Event Filtering (PEF),事件过滤平台用于在监控系统发现

有event时候,用PEF中的策略进行事件过滤,然后看是否需要报警。

 

k)        Sol/isol:用于配置通过串口的Lan进行监控

 

l)        user:设置BMC中用户的信息 。

[root@centos6 ~]#ipmitool  -I open user

m)        Channel:设置Management Controller信道。

Ipmitool –I open sensor list

说明:此命令可以获取传感器中的各种监测值和该值的监测阈值,包括(CPU温度,电压,风扇转速,电源调制模块温度,电源电压等信息)

Ipmitool –I open sensor get “CPU0Temp”可以获取ID为CPU0Temp监测值,CPU0Temp是sensor的ID,服务器不同,ID表示也不同。

ipmitool –I open sensor thresh 设置ID值等于id的监测项的各种限制值。

ipmitool –I open chassis status查看底盘状态,其中包括了底盘电源信息,底盘工作状态等

ipmitool –I open chassis restart_cause查看上次系统重启的原因

ipmitool –I open chassis   policy list 查看支持的底盘电源相关策略。

ipmitool –I open chassis power on启动底盘,用此命令可以远程开机

ipmitool –I open chassis power off关闭底盘,用此命令可以远程开机

ipmitool –I open chassis power reset实现硬重启,用此命令可以远程开机

ipmi还可以设置系统启动boot的设备,具体见ipmitool帮助文档。

ipmitool –I open mc reset 使BMC重新硬启动

ipmitool –I open mc info 查看BMC硬件信息

ipmitool –I open mc getenables 列出BMC所有允许的选项

ipmitool –I open mc setenables =[on|off],设置bmc相应的允许/禁止选项。

ipmitool-I open event 1 发送一个温度过高的消息到System Event Log中,可以发送的Event有:

1        Temperature: Upper Critical: Going High

2        Voltage Threshold: Lower Critical: Going Low

3        Memory: Correctable ECC Error Detected

Ipmitool-I open event命令可以用测试配置的IPMI中的snmp功能是否成功。

Ipmitool -I open lan print 1 打印现咱channel 1的信息 。

ooo

Ipmitool -I open lan set 1 ipaddr 10.10.113.95设置channel 1 的地址为10.10.113.95

Ipmitool -I open lan set 1 snmp public设置channel 1 上snmp的community为public。

Ipmitool -I open lan set 1 access on设置channel 1允许访问。

Ipmitool -I open pef info打印Platform Event Filtering (pef)信息

Ipmitool -I open pef status查看Platform Event Filtering (pef)状态

Ipmitool -I open pef policy查看Platform Event Filtering (pef)策略设置

Ipmitool -I open sdr list fru 读取fru信息并显示。

3.4远程获取服务器监控信息

远程获取服务器监控信息时,需要系统硬件支持ipmiV1.5和IPMIV2.0。获取信息时,不需要在服务器上安装其他软件,只需要在监控的客户端上安装ipmi工具软件,如ipmitool、ipmiutil或者freeipmi,并需要在相应命令中加入远端服务器的名字或者地址。Ipmitool和 ipmiutil可以通过LAN远程监控系统,同时BMC中保存有一序列用户名和密码,通过LAN进行远端访问需要用户名和密码。

远程获取服务器监控信息时,需要加上远程服务器的地址。使用以下的命令格式:

ipmitool -H 10.6.77.249 -U root -P changeme -I lan command。其中-H表示后面跟的是服务器的地址,-U表示后面跟着用户名,-P表示后面跟着用户密码,command与本地获取信息相同。

 

#查看远端服务器电源状态

[root@centos6 ~]#ipmitool -I lanplus -H 192.168.15.102  -U lenovo -P lenovo power status

#关闭远端服务器

ppp

如果你也认为他是一把不错的利器,那就让他锋芒外漏,使其发挥他的最大的作用。

 

文章来源:脉动的ChinaUnix

Comment are closed.