Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1097072
  • 博文数量: 321
  • 博客积分: 7872
  • 博客等级: 少将
  • 技术积分: 2120
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-16 09:06
文章分类

全部博文(321)

文章存档

2017年(1)

2016年(1)

2015年(12)

2014年(17)

2013年(78)

2012年(15)

2011年(17)

2010年(67)

2009年(102)

2008年(11)

分类: LINUX

2009-01-12 13:56:37

IPMI介绍
智能平台管理界面(IPMIIntelligent Platform Management Interface)是管理基于 Intel® 结构的企业系统中所使用的外围设备采用的一种工业标准,用户可以利用IPMI监视服务器的物理健康特征,如温度、电压、风扇工作状态、电源状态等。该标准由美国英特尔、惠普(Hewlett-Packard)、NEC、美国戴尔电脑和SuperMicro等公司制定。新的版本是IPMI2.0()
新版本的IPMI可以通过串口、Modem以及Lan等远程环境管理服务器系统(包括远程开关机),同时在系统发生错误时能自动发出警告。要对服务器进行IPMI管理,需要被监控的系统具有支持IPMI的硬件设备。如果服务器具有底板管理控制器 (Baseboard Management Controller BMC),并且支持IPMI规范,则通过BMC与主机板上的不同传感器通信来监视系统是否有严重事件,并在某些参数超出其预置阈值时发出警报和日志事件。BMC具有以下功能:
1.       
通过系统的串行端口进行访问
2.       
故障日志记录和 SNMP 警报发送
3.       
访问系统事件日志 (System Event Log ,SEL) 和传感器状况
4.       
控制包括开机和关机
5.       
独立于系统电源或工作状态的支持
6.       
用于系统设置、基于文本公用程序和操作系统控制台的文本控制台重定向
7.       
使用 LAN访问 Red Hat® Enterprise Linux 串行控制台界面

IPMI
应用
所举应用都基于以下平台:
        服务器:超毅
        主板:TyanS5353
        服务器监控卡(SMDCServer Management Daughter Card):M3291
        Ipmitool版本:ipmitool version 1.8.8
        Ipmitool版本:ipmiutil-1.7.4-1
        OpenIPMI版本:OpenIPMI-2.0.7


IPMI
可以通过本地和远程两种方式来获取被监控服务器的监测信息,两种方式都需要相关的硬件,但是软件的安装和软件命令使用稍微有所不同。
1 软件安装
1.1
本地获取软件安装
通过本地方式获取服务器相应状态信息,需要安装ipmi驱动程序和用于获取信息的软件。驱动程序使用OpenIPMI ipmi工具软件可以安装ipmitool或者ipmiutil,或者freeipmi。软件下载网址为:
OpenIPMI

Ipmitool

manpage.html
ipmiutil
  
1.2
远程获取软件安装
远程监控只需要在监控客户端上安装用于获取信息的软件:ipmitoolipmiutil或者reeipmi即可,而不需要在服务其上安装任何工具。
2 服务器监控信息获取
2.1
本地获取服务器监控信息
在获取本地服务器相关的监控信息之前,需要启动相应的驱动模块,可以通过以下两种命令启动驱动:
/etc/init.d/ipmi start
或者通过以下命令:
modprobe ipmi_msghandler
modprobe ipmi_devintf
modprobe ipmi_si
modprobe ipmi_poweroff
modprobe ipmi_watchdog

启动ipmi驱动后,通过cat /proc/devices | grep ipmidev获得设备号,我得到的设备号是253,用mknod -m 600 /dev/ipmi0 c 253 0 建立文件索引点。
然后就可以在本地服务器上运行各种ipmi工具获取相应的服务器信息了。
       
以下所有的命令都是我用到的,还有更多命令没有涉及,可以查看相应的帮助文档来获得所有命令的用法。
2.1.1 使用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
  查看MCManagement 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进行监控
l)        User
:设置BMC中用户的信息 。
m)        Channel
:设置Management Controller信道。

Ipmitool
I open sensor list命令可以获取传感器中的各种监测值和该值的监测阈值,包括(CPU温度,电压,风扇转速,电源调制模块温度,电源电压等信息)
Ipmitool
I open sensor get CPU0Temp”可以获取IDCPU0Temp监测值,CPU0TempsensorID,服务器不同,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 ,设置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的信息 。
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 snmpcommunitypublic
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信息并显示。
(但我的服务器有问题,该项读取不到)
备注:
PEF
BMC厂商的FIRMWARE设置,ipmitoolV1.8.8)不能进行设置,也可以使用ipmiutil来进行初始设置。

2.1.2 使用ipmiutil本地获取信息
Ipmiutil
安装完成后,会包含以下可执行命令:
        alarms –显示和设置Telco alarms报警(LED显示和延迟)
        bmchealth – 测试BMC是否工作正常。
        fruconfig – 显示FRU的产品信息,写入有用信息
        getevent – 接收一个IPMI event,并显示。
        hwreset – 用于使 firmware 硬重新启动或者关掉系统
        pefconfig – 用于显示和配置LAN端口,配置Platform Event Filter 表,来通过firmare event产生BMC Lan提示
        sensor – 显示Sensor Data Records,值和阈值。
        showsel – 显示System Event Log记录。
        tmconfig – 显示和配置BMC串口。
        wdt – 显示和设置看门狗时间.
以上命令种中最为常用的是sensor命令和pefconfig命令。
使用sensor命令可以获取各种监测信息。使用pefconfig命令设置BMC,使得BMC可以在系统有event时候,进行报警。
Sensor  
命令显示服务器状态信息。
Pefconfig
e命令用于设置BMC硬件,该命令将从操作系统收集相应的信息,并对bmc进行设置,使得BMC能够在有event时候报警(alert)。
Pefconfig
d命令将设置bmc不报警。
2.2
远程获取服务器监控信息
远程获取服务器监控信息时,需要系统硬件支持ipmiV1.5IPMIV2.0。获取信息时,不需要在服务器上安装其他软件,只需要在监控的客户端上安装ipmi工具软件,如ipmitoolipmiutil或者freeipmi,并需要在相应命令中加入远端服务器的名字或者地址。Ipmitoolipmiutil可以通过LAN远程监控系统,同时BMC中保存有一序列用户名和密码,通过LAN进行远端访问需要用户名和密码。
2.2.1使用ipmitool获取远程服务器信息
Ipmitool
命令需要通过相应的interface来访问BMC,在本地获取信息时候采用的是-I open,即为OpenIPMI接口,IPMItool命令包含的接口有openlanlanplus。其中open是指的是OpenIPMIBMC通信,Lan是通过Ethernet LAN网用IPV4udp协议与BMC通信。UDP的数据段包含了IPMI request/resoponse消息,消息具有一个IPMI session 头和RMCP 头。IPMI使用Remote Management Control Protocol (RMCP) 版本1支持操作系统关闭(pre-OSOS-absent),RMCP把把数据发送到UDP623端口。
lan接口一样,lanplus同样使用Ethernet LAN UDP协议与BMC通信,但是lanplus使用RMCP+协议(在IPMIV20中描述)来同新,RMCP+允许使用改经的认证方式和数据完整性检查。Open端口用于本地监控系统使用的;Lan/lanplus通过网络进行远程监控。
远程获取服务器监控信息时,需要加上远程服务器的地址。使用以下的命令格式:
ipmitool -H 10.6.77.249 -U root -P changeme -I lan command
。其中-H表示后面跟的是服务器的地址,-U表示后面跟着用户名,-P表示后面跟着用户密码,command与本地获取信息相同。
2.2.2使用ipmiutil获取远程服务器信息
Ipmiutil
sensor命令格式如下:
Sensor -N nodename
U user R passwd ,
其中-N后面跟的是被监控服务器名字,-U后是用户名,-R后是用户密码。
Pefconfig -e -N nodename
U user R passwd命令用于设置BMC硬件,该命令将从操作系统收集相应的信息,并对bmc进行设置,使得BMC能够在有event时候报警。
Pefconfig -d -N nodename
U user R passwd将不允许报警

阅读(1499) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~