User Tools

Site Tools


setting_up_ipmi

This is an old revision of the document!


Table of Contents

In general, the BMC must be set up from within the OS unless you feel like going through the console on quite a few servers. Each manufacturer is of course different.

Dell

Dell is pretty good about using IPMItool for everything. The iDRAC 6 Express tends to flake out though. Script to set it up is below:

setup_ipmi_dell.sh
#!/bin/sh
 
IPSRC_DEVICE=eth0
IPMITOOL_LAN="ipmitool lan set 1"
IPMITOOL_USER="ipmitool user"
PASSWORD="somepasshere"
 
/sbin/service ipmi start
 
bmcip=`/sbin/ifconfig $IPSRC_DEVICE | awk '/inet addr/ {print $2}' | sed s/addr:// | awk -F. '{print $1 "." $2 "." $3+16 "." $4}'`
$IPMITOOL_LAN ipsrc static
$IPMITOOL_LAN ipaddr $bmcip
$IPMITOOL_LAN netmask 255.255.240.0
$IPMITOOL_LAN defgw ipaddr 10.128.16.100
$IPMITOOL_LAN access on
$IPMITOOL_USER set password 2 $PASSWORD
 
/sbin/service ipmi stop

HP

HP's ILO is somewhat non-standard. You have to set parts of it up with hponcfg from their SmartStart scripting toolkit. Hponcfg script:

setup_ilo3_initial.sh
#!/bin/bash
 
export PATH=/sbin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=/home/mfenn/hp-psp/psp-8.70.rhel5.x86_64.en/hp-health-8.7.0.22-11.rhel5.x86_64/usr/lib:$LD_LIBRARY_PATH
 
cd /home/mfenn/hp-sstools/ss-scripting-toolkit-linux-8.70/utilities
./hponcfg -f hponcfg-setshared.xml 
./hponcfg -f hponcfg-setuser.xml 
hponcfg-setshared.xml
<!-- HPONCFG VERSION = "3.0" -->
<!-- Device: iLO3  Firmware Version : 1.16 -->
<RIBCL VERSION="2.0">
  <LOGIN USER_LOGIN="admin" PASSWORD="password">
<RIB_INFO mode="write"><MOD_NETWORK_SETTINGS>
    <SHARED_NETWORK_PORT VALUE="Y"/>
</MOD_NETWORK_SETTINGS></RIB_INFO>
</LOGIN>
</RIBCL>
hponcfg-setshared.xml
<!-- HPONCFG VERSION = "3.0" -->
<!-- Device: iLO3  Firmware Version : 1.16 -->
<RIBCL VERSION="2.0">
  <LOGIN USER_LOGIN="admin" PASSWORD="password">
<USER_INFO mode="write">
<DELETE_USER USER_LOGIN="Administrator"/>
<ADD_USER USER_NAME="root" USER_LOGIN="root" PASSWORD="somepasshere">
<ADMIN_PRIV value="Y"/><REMOTE_CONS_PRIV value="Y"/>
<RESET_SERVER_PRIV value="Y"/>
<VIRTUAL_MEDIA_PRIV value="Y"/>
<CONFIG_ILO_PRIV value="Y"/>
</ADD_USER>
</USER_INFO>
</LOGIN>
</RIBCL>

The rest is ipmitool as normal. The ILO seems to not like issuing command too quickly, hence the sleeps:

setup_ipmi_ilo3.sh
#!/bin/sh
 
IPMITOOL_LAN="ipmitool lan set 2"
 
/sbin/service ipmi start
 
bmcip=`/sbin/ifconfig eth0 | awk '/inet addr/ {print $2}' | sed s/addr:// | awk -F. '{print $1 "." $2 "." $3+16 "." $4}'`
$IPMITOOL_LAN ipsrc static
sleep 60
$IPMITOOL_LAN ipaddr $bmcip
sleep 60
$IPMITOOL_LAN netmask 255.255.240.0
sleep 60
$IPMITOOL_LAN defgw ipaddr 10.128.16.100
sleep 60

IBM

IBM can be standard or nonstandard depending on the server.

System x3755

Easy, standard IPMItool:

setup_ipmi_x3755.sh
#!/bin/sh
 
IPMITOOL_LAN="ipmitool lan set 1"
IPMITOOL_USER="ipmitool user"
PASSWORD="somepasshere"
 
/sbin/service ipmi start
 
bmcip=`/sbin/ifconfig eth0 | awk '/inet addr/ {print $2}' | sed s/addr:// | awk -F. '{print $1 "." $2 "." $3+16 "." $4}'`
$IPMITOOL_LAN ipsrc static
$IPMITOOL_LAN ipaddr $bmcip
$IPMITOOL_LAN netmask 255.255.240.0
$IPMITOOL_LAN defgw ipaddr 10.128.16.100
$IPMITOOL_LAN access on
$IPMITOOL_USER set name 2 root
$IPMITOOL_USER set password 2 $PASSWORD
 
/sbin/service ipmi stop

System x3450 794852X

Uses IPMItool, but requires some magic.

setup_ipmi_x3450.sh
#!/bin/sh
 
# based on http://www-947.ibm.com/support/entry/portal/docdisplay?brand=5000008&lndocid=MIGR-5078398
 
IPMITOOL_LAN="ipmitool lan set 1"
IPMITOOL_USER="ipmitool user"
IPMITOOL_RAW="ipmitool raw"
IPMITOOL_CHANNEL="ipmitool channel"
PASSWORD="somepasshere"
 
/sbin/service ipmi start
 
$IPMITOOL_RAW 0x30 0x13 0xff 0x0 0x0 0x0
$IPMITOOL_LAN ipsrc static
$IPMITOOL_USER disable 1
$IPMITOOL_USER disable 3
$IPMITOOL_USER disable 4
$IPMITOOL_USER enable 2
$IPMITOOL_USER priv 2 4 1
$IPMITOOL_CHANNEL setaccess 1 2 callin=on ipmi=on link=off privilege=4
 
$IPMITOOL_USER set name 2 root
$IPMITOOL_USER set password 2 $PASSWORD
$IPMITOOL_USER list 1
$IPMITOOL_RAW 0x6 0x40 0x1 0x42 0x44
$IPMITOOL_RAW 0x6 0x40 0x1 0x82 0x84
$IPMITOOL_LAN arp respond on
$IPMITOOL_LAN auth admin md5
$IPMITOOL_LAN cipher_privs uaaaXXXXXXXXXXX
 
bmcip=`/sbin/ifconfig eth0 | awk '/inet addr/ {print $2}' | sed s/addr:// | awk -F. '{print $1 "." $2 "." $3+16 "." $4}'`
$IPMITOOL_LAN ipaddr $bmcip
$IPMITOOL_LAN netmask 255.255.240.0
$IPMITOOL_LAN defgw ipaddr 10.128.16.100
 
/sbin/service ipmi stop
setting_up_ipmi.1331644145.txt.gz · Last modified: 2012/03/13 09:09 by Michael Fenn