IPMI is an open standard for monitoring, logging, recovery, inventory, and control of hardware that is implemented independent of the main CPU, BIOS, and OS. 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.

The ipmitool program provides a simple command-line interface to 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.

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.

Install Packages

 

Example 1: Check Chassis Status

# ipmitool chassis status
System Power         : on
Power Overload       : false
Power Interlock      : inactive
Main Power Fault     : false
Power Control Fault  : false
Power Restore Policy : previous
Last Power Event     : command
Chassis Intrusion    : inactive
Front-Panel Lockout  : inactive
Drive Fault          : false
Cooling/Fan Fault    : false

Example 2: Check sel list


# ipmitool sel elist | more
   1 | Pre-Init Time-stamp   | Power Supply VRM Status | Presence detected | Asserted
   2 | Pre-Init Time-stamp   | Power Supply VRM Status | Presence detected | Asserted
   3 | Pre-Init Time-stamp   | Power Unit Sys pwr monitor | Power off/down | Deasserted
...

 

Example 3: Check Sensor list


# ipmitool sensor list
Ambient Temp     | 22.000     | degrees C  | ok    | na        | na        | na        | 38.000    | 41.000    | 45.000
AVG Power        | 300.000    | Watts      | ok    | na        | na        | na        | na        | na        | na
Fan 1 Tach       | 4125.000   | RPM        | ok    | na        | 750.000   | na        | na        | na        | na
...

Example 4: Print out device FRU


# ipmitool fru
FRU Device Description : Builtin FRU Device (ID 0)
 Chassis Type             : Main Server Chassis
 Chassis Part Number     : 797971U
 Chassis Serial             : KQHMRF1
 Board Mfg Date        : Wed Apr 21 13:09:00 2010
 Board Mfg             : FOXC
 Board Product         : IBM Planar
 Board Serial          : 7672K4 K1092
 Board Part Number     : 43W8292
 Product Manufacturer  : IBM
Product Name          : IBM Product
 Product Part Number   : 797971U
 Product Version       : N/A
 Product Serial        : KQHMRF1
...

Example 5: Tempature and Fan status


# ipmitool sdr
Ambient Temp     | 22 degrees C      | ok
AVG Power        | 300 Watts         | ok
Fan 1 Tach       | 4125 RPM          | ok
Fan 2 Tach       | 4425 RPM          | ok
Fan 3 Tach       | 4500 RPM          | ok
Fan 4 Tach       | 4725 RPM          | ok
....

Remote Access mode

More useful if you can remotly access a server/chassis even when the OS Is down.

Note: For older version of platform like IMM/ILOM, they don't support ssh key, newer version all accept ssh key

Example 6: Remote access via admin interface

General command to get chassis status
ipmitool  -H $host -U user -P<password> chassis status

For blade chassises, there are still slightly different on different platform, refer to your chassis guide for the detail.

Try them with this

PDSH_SSH_ARGS_APPEND="-i /home/trteam/.ssh/blade_center_key" pdsh -w $ibmchass -l admin "health -l a -f"

Some other chassises, particularly old chassises, you'd have to use -U -P, same like server's

ipmitool  -H $host -U user -P<password> chassis status

With the example shown above, you can do  wnatever scripting to capture the server/chassis status.

Example 7: Power on and off a Host remotely

Power On a Host
$ipmitool -H $host -v -I lanplus -U username -P <password> chassis power on
Power Off a Host
$ ipmitool -H $host -v -I lanplus -U username -P <password> chassis power off

Example 8: Power cycle a host remotely

Power Cycle a Host
$ ipmitool -H $host -v -I lanplus -U username -P <password> chassis power cycle

Example 9: Shutdown a host gracefully

Shut Down the Host Gracefully
$ ipmitool -H $host -v -I lanplus -U username -P <password> chassis power soft

Example 10: cluster management

You can use pdsh for a group of servers if you configured sshkey
PDSH_SSH_ARGS_APPEND="-i /home/trteam/.ssh/blade_center_key" pdsh -w $ibmchass -l admin "health -l a -f"

Some security concerns

       There are several security issues be be considered before enabling  the IPMI  LAN interface. A remote station has the ability to control a system's power state as well as being  able  to  gather  certain  platform information.  To  reduce  vulnerability it is strongly advised that the IPMI LAN interface only be enabled in 'trusted' environments where system security is not an issue or where there is a dedicated secure 'management network'.

       Further it is strongly advised that you  should  not  enable  IPMI  for remote access without setting a password, and that that password should not be the same as any other password on that system.

       When an IPMI password is changed on a remote machine with the  IPMIv1.5 lan  interface  the  new  password  is sent across the network as clear text.  This could be observed and then used to attack the  remote
       system.  It is thus recommended that IPMI password management only be done  over IPMIv2.0 lanplus interface or the system interface  on  the  local station.

       For IPMI v1.5, the maximum password length is 16 characters.  Passwords longer than 16 characters will be truncated.

       For IPMI v2.0, the maximum password length  is  20  characters;  longer passwords are truncated.