Friday, October 16, 2009

IPMI Installation on Citrix Xen 5.5

IPMI is a standardized message-based hardware management interface. A hardware chip known as the Baseboard Management Controller (BMC), or Management Controller (MC), implements the core of IPMI.


BMC is already integrated in many servers, so you have to make sure that your system has this already. IBM, HP or Dell servers already have it.


Accessing remotely the BMC requires some kind of network access so when you see the servers in the back you probably can not see the BMC NIC. This NIC is already integrated with NIC1 so if you connect NIC1 to the network the BMC NIC can have access to the network.


Since Citrix Xen is becoming popular and Citrix Xen still does not provide info or repositories to install IPMI tools, I decided to show you how you can have this powerful on your system.


My configuration is two Citrix Xen Servers 5.5 running on HP proliant DL160.

Upgrade Ncurses package because ipmitools requires it.

#wget ftp://ftp.pbone.net/mirror/yum.trixbox.org/centos/5/old/ncurses-5.6-7.20070612.i386.rpm
#rpm -Uvh ncurses*

then Install IPMI server and drivers


#wget http://mirror.centos.org/centos/5/os/i386/CentOS/OpenIPMI-libs-2.0.6-11.el5.i386.rpm
#wget http://mirror.centos.org/centos/5/os/i386/CentOS/OpenIPMI-2.0.6-11.el5.i386.rpm


Install OpenIPMI-libs first because OpenIPMI requires this package


#rpm -ivh OpenIPMI-libs*
#rpm -ivh OpenIPMI-2.0*


I suggest you ipmitools as client because there is a lot more documentation in how to use it. This website has a lot of documentation to use ipmitool http://wiki.adamsweet.org/doku.php?id=ipmi_on_linux


# wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/netmax/Fedora_8/i386/ipmitool-1.8.9-38.1.i386.rpm
#rpm -ivh ipmitool*


Then start IPMI service


# /etc/init.d/ipmi start


Make sure the IPMI service starts when the machine reboots


# chkconfig ipmi on


NOW we can get local info from IPMI using ipmitool


#ipmitool sdr


It will give you stats of the motherboard


#ipmitool lan print


it will give you BMC NIC information.


[root@xen01 ~]# ipmitool lan set 2 ipsrc static
[root@xen01 ~]# ipmitool lan set 2 ipaddr x.x.x.x
Setting LAN IP Address to x.x.x.x
[root@xen01 ~]# ipmitool lan set 2 netmask x.x.x.x
Setting LAN Subnet Mask to x.x.x.x
[root@xen01 ~]# ipmitool lan set 2 defgw ipaddr x.x.x.x
Setting LAN Default Gateway IP to x.x.x.x
[root@xen01 ~]# ipmitool lan set 2 arp generate on
[root@xen01 ~]# ipmitool lan set 2 arp interval 5
[root@xen01 ~]# ipmitool lan set 2 access on
[root@xen01 ~]# ipmitool lan set 2 user


Then we need to set up user access to IPMI
the user list can be find with this command:

[root@xen01 ~]# ipmitool user list
[root@xen01 ~]# ipmitool user set name 2 root
[root@xen01 ~]# ipmitool user enable 2
[root@xen01 ~]# ipmitool channel setaccess 2 2 ipmi=on link=on privilege=4
[root@xen01 ~]# ipmitool user set password 2 secret
[root@xen01 ~]# ipmitool user list
[root@xen02 ~]# rmcp_ping -d x.x.x.x


If you do not get response, you will have to reboot the server and check BIOS.
Make sure that BIOS has IPMI setup to share NIC and save changes.
then


[root@xen02 ~]# rmcp_ping -d x.x.x.x


You should receive response from IPMI IP. Then you can try to access IPMI remotely.

[root@xen02 ~]# ipmitool -H x.x.x.x -U root -a chassis status
Password:
System Power : on
Power Overload : false
Power Interlock : inactive
Main Power Fault : false
Power Control Fault : false
Power Restore Policy : previous
Last Power Event :
Chassis Intrusion : inactive
Front-Panel Lockout : inactive
Drive Fault : false
Cooling/Fan Fault : false
Sleep Button Disable : allowed
Diag Button Disable : allowed
Reset Button Disable : allowed
Power Button Disable : allowed
Sleep Button Disabled: true
Diag Button Disabled : true
Reset Button Disabled: true
Power Button Disabled: true
[root@xen02 ~]#

Great!!! Now you can check IPMI stats remotely using any server that has ipmitool installed.


NOTE: This probably apply to any Centos 5 Linux, however I installed and tested it on Citrix Xen
because I think it should be cool to have IPMI funcionalities.

1 comment:

  1. Incredible usefull and yet simple post.
    Be warned however that installing
    #rpm -ivH OpenIPMI-2.0.16-5.el5.i386.rpm
    error: Failed dependencies:
    xinetd is needed by OpenIPMI-2.0.16-5.el5.i386

    So had to:
    #rpm -ivH --force-deps OpenIPMI-2.0.16-5.el5.i386.rpm
    Preparing packages for installation...
    OpenIPMI-2.0.16-5.el5
    #
    THanks a lot.

    ReplyDelete