IPMI on CentOS/RHEL

来源:互联网 发布:淘宝手工礼物的店铺 编辑:程序博客网 时间:2024/05/16 10:02

Spent a few days deep in the bowels of a couple of datacentres last week, and realised I didn't know enough about Dell's DRAC base management controllers to use them properly. In particular, I didn't know how to mess with the drac settings from within the OS. So spent some of today researching that.

Turns out there are a couple of routes to do this. You can use the Dell native tools (e.g. racadm) included in Dell's OMSA product, or you can use vendor-neutral IPMI, which is well-supported by Dell DRACs. I went with the latter as it's more cross-platform, and the tools come native with CentOS, instead of having to setup Dell's OMSA repositories. The Dell-native tools may give you more functionality, but for what I wanted to do IPMI seems to work just fine.

So installation is just:

yum install OpenIPMI OpenIPMI-toolschkconfig ipmi onservice ipmi start

and then from the local machine you can use ipmitool to access and manipulate all kinds of useful stuff:

# IPMI commandsipmitool helpman ipmitool# To check firmware versionipmitool mc info# To reset the management controlleripmitool mc reset [ warm | cold ]# Show field-replaceable-unit detailsipmitool fru print# Show sensor outputipmitool sdr listipmitool sdr type listipmitool sdr type Temperatureipmitool sdr type Fanipmitool sdr type 'Power Supply'# Chassis commandsipmitool chassis statusipmitool chassis identify [<interval>]   # turn on front panel identify light (default 15s)ipmitool [chassis] power soft            # initiate a soft-shutdown via acpiipmitool [chassis] power cycle           # issue a hard power off, wait 1s, power onipmitool [chassis] power off             # issue a hard power offipmitool [chassis] power on              # issue a hard power onipmitool [chassis] power reset           # issue a hard reset# Modify boot device for next rebootipmitool chassis bootdev pxeipmitool chassis bootdev cdromipmitool chassis bootdev bios# Loggingipmitool sel infoipmitool sel listipmitool sel elist                       # extended list (see manpage)ipmitool sel clear

For remote access, you need to setup user and network settings, either at boot time on the DRAC card itself, or from the OS via ipmitool:

# Display/reset password for default root user (userid '2')ipmitool user list 1ipmitool user set password 2 <new_password># Display/configure lan settingsipmitool lan print 1ipmitool lan set 1 ipsrc [ static | dhcp ]ipmitool lan set 1 ipaddr 192.168.1.101ipmitool lan set 1 netmask 255.255.255.0ipmitool lan set 1 defgw ipaddr 192.168.1.254

Once this is configured you should be able to connect using the 'lan' interface to ipmitool, like this:

ipmitool -I lan -U root -H 192.168.1.101 chassis status

which will prompt you for your ipmi root password, or you can do the following:

echo <new_password> > ~/.racpasswdchmod 600 ~/.racpasswd

and then use that password file instead of manually entering it each time:

ipmitool -I lan -U root -f ~/.racpasswd -H 192.168.1.101 chassis status

I'm using an 'ipmi' alias that looks like this:

alias ipmi='ipmitool -I lan -U root -f ~/.racpasswd -H'# which then allows you to do the much shorter:ipmi 192.168.1.101 chassis status# ORipmi <hostname> chassis status

Finally, if you configure serial console redirection in the bios as follows:

Serial Communication -> Serial Communication:       On with Console Redirection via COM2Serial Communication -> External Serial Connector:  COM2Serial Communication -> Redirection After Boot:     Disabled

then you can setup standard serial access in grub.conf and inittab on com2/ttyS1 and get serial console access via IPMI serial-over-lan using the 'lanplus' interface:

ipmitool -I lanplus -U root -f ~/.racpasswd -H 192.168.1.101 sol activate

which I typically use via a shell function:

# ipmi serial-over-lan functionisol() {   if [ -n "$1" ]; then       ipmitool -I lanplus -U root -f ~/.racpasswd -H $1 sol activate   else       echo "usage: sol <sol_ip>"   fi}# used like:isol 192.168.1.101isol <hostname>

Further reading:

  • http://www.cuddletech.com/blog/archives/archive_2008-m06.php
  • http://buttersideup.com/docs/howto/IPMI_on_Debian.html
  • http://www.nikhef.nl/pub/projects/grid/gridwiki/index.php/Serial_Consoles
  • http://openipmi.sourceforge.net/IPMI.pdf
0 0
原创粉丝点击