IPMI (Intelligent Platform Management Interface) is becoming the default hardware monitoring platform supported by a number of hardware and software manufactures. It allows you to read sensor information from the hardware and perform certain operations on this hardware, for example restart.
We came across an issue where the power supplies on our intel servers were configured as Hot/Standby by default. What we found was that this was loading the A side power supplies more than the B side, causing the PDUs to alarm. This was happening sporadically, so here are some options to make the power supplies on the servers to distribute the load better.
This article covers two sections, one is manually specifying some options using the IPMITool to set hardware specific options, and how to monitor hardware sensor information using IPMI. We use a number of external monitoring services and some support IPMI. This is useful to be alerted about a piece of hardware failing, e.g. a system fan or power supply.
Basic Configuration - Centos/RedHat
On a Centos / RHEL server, install the required packages. If XenServer or XCP is used, these are already loaded
yum update
yum install OpenIPMI ipmitool
Connecting to host
You can connect to a remote host or run IPMI locally
Connecting locally
ipmitool COMMAND
# Example
ipmitool sel info
Connecting to a remote host. -P is optional, if not used it will prompt for a password
ipmitool -I lanplus -H 10.30.0.236 -U admin -P PASSWORD COMMAND
# Example
ipmitool -I lanplus -H 10.30.0.236 -U admin -P password sel info
ipmitool -I lanplus -H 10.30.0.236 -U admin sel info
Configuration Examples
Power - On intel servers, power is configured as hot/cold redundancy. The power supplies are cycled about once a week, this can cause load balancing issues on PDUs, here is how to distribute the load evenly between the power supplies.
# Get power supply hot/cold redundancy status
ipmitool raw 0x30 0x2e 0x01
01 01 #Enabled - hot/cold
01 00 #Disabled - hot/hot
# Disable power supply hot/cold redundancy status and enable shared load redundacy
ipmitool raw 0x30 0x2d 0x01 0x00
# Enable power supply hot/cold redundancy status
ipmitool raw 0x30 0x2d 0x01 0x01
Sensor Details
# List all sensor names on the system. Each sensor will be mapped to its corresponding sensor number
ipmitool sdr list
# List all sensor types on the system
ipmitool sdr type list
# List all fan type sensors on the system
ipmitool sdr type fan
# List all power supply type sensors on the system
ipmitool sdr type "power supply"
# List all temperature type sensors on the system.
ipmitool sdr type temperature
System Commands
# Turns on front panel ID light
ipmitool chassis status ipmitool chassis identify []
# Soft Shutdown
ipmitool [chassis] power soft
# Power cycle server. Completely off, wait 1 second, back on
ipmitool [chassis] power cycle
# Power off server
ipmitool [chassis] power off
# Power on server
ipmitool [chassis] power on
# Reset Server
ipmitool [chassis] power reset
# Modify the boot order to boot cdrom first
ipmitool chassis bootdev cdrom
# Modify the boot order to boot bios first
ipmitool chassis bootdev bios
Event Log
# General information on system event logs
ipmitool sel info
# List of system event logs
ipmitool sel list
# List of system event logs cross-referenced with sensor data logs
ipmitool sel elist
# Detailed information on a particular event log (use event ID to specify which log)
ipmitool sel get id
# Clear event logs
ipmitool sel clear
Notes
Intel Servers
When getting the following message
Error in open session response message : insufficient resources for session
Error: Unable to establish IPMI v2 / RMCP+ session
Fix is to go into Intel BMC
Configuration -> Security Settings and enable Channel-3 under RMCP+ Cipher Suite3 Configuration for each LAN channel

Intel Server BMC
Configure a intel server BMC for remote management using the ipmitool
# Configure BMC
ipmitool lan set 3 access on
ipmitool lan set 3 ipsrc static
ipmitool lan set 3 ipaddr IP_ADDRESS SUBNET_MASK
ipmitool user enable 2
ipmitool user set name 2 admin
# Set privilege for user
# Privilege: 1-Callback, 2-User, 3-Operator, 4-Administrator, 5-OEM, F-No Access
ipmitool user priv USER PRIVILEGE
# Example to set user 2 to Administrator (4)
ipmitool user priv 2 4 3