IPMItool is a command line utility for managing and configuring systems with IPMI support. This tool allows you the ability to communicate directly with the IPMI card installed in the server or over a network using TCP/IP. IPMItool is cross platform, and can be installed on another system for remote querying or management of IPMI enabled systems (many operating systems are supported - including: ). All clusters running Linux from Advanced Clustering will come with the IPMItools package pre-installed for you. If you would like to download a copy of the tool for another workstation or system, visit the IPMItool website at: online at
http://ipmitool.sourceforge.net/.
Basic IPMItool syntax
Connecting locally
When connected locally use the following command:
$ ipmitool [CMD]
Note: The Linux kernel modules ipmi_si and ipmi_devintf must be loaded for the local access to work. For more information about setting up the operating system for local IPMI support see the section XXXXXX above.
Connecting to a remote system
When connecting to a remote IPMI enabled system:
$ ipmitool -I lanplus -H [HOST/IP] -U [USERNAME] -P [PASSWORD] [CMD]
Note: The remote access settings do not require the operating system be configured for IPMI. The IPMI interface will respond to commands as long as the machine is plugged into power. The system does not have to be powered on, or running on operating system.
| Option | Description |
| -I lanplus | Tells IPMI tool you will be connecting to a remote IPMI card with the LAN+ protocol (which is the correct choice for all Advanced Clustering shipping systems). |
| -H [HOST/IP] | The hostname or IP address of the remote server’s IPMI interface (this is not the same as the operating system assigned IP address) |
| -U [USERNAME] -P [PASSWORD] | the username and password used to authenticate to IPMI (this is not the same as the operating system username and password) |
| CMD | The IPMItool command to execute (outlined in the sections below) |
In the examples below this options will be referenced as [CONNECT OPTIONS] either replace them with nothing for a locally executed IPMI command, or with the full string of interface, username, password and hostname.
Network settings
Note: When setting the network configuration options it’s advised to do this connected locally to the machine you want to make changes.
View existing network settings
To view the existing network settings of the IPMI interface
$ ipmitool [CONNECT OPTIONS] lan print 1
Set in Progress : Set Complete
Auth Type Support : NONE MD2 MD5 OEM
Auth Type Enable : Callback : NONE MD2 MD5 OEM
: User : NONE MD2 MD5 OEM
: Operator : NONE MD2 MD5 OEM
: Admin : NONE MD2 MD5 OEM
: OEM :
IP Address Source : DHCP Address
IP Address : 172.20.217.44
Subnet Mask : 255.255.0.0
MAC Address : 00:24:8c:20:a8:1c
SNMP Community String : AMI
IP Header : TTL=0x00 Flags=0x00 Precedence=0x00 TOS=0x00
BMC ARP Control : ARP Responses Disabled, Gratuitous ARP Disabled
Gratituous ARP Intrvl : 0.0 seconds
Default Gateway IP : 172.20.0.1
Default Gateway MAC : 00:04:23:ae:f3:21
Backup Gateway IP : 0.0.0.0
Backup Gateway MAC : 00:00:00:00:00:00
802.1q VLAN ID : Disabled
802.1q VLAN Priority : 0
RMCP+ Cipher Suites : 1,2,3,6,7,8,11,12,0,0,0,0,0,0,0,0
Cipher Suite Priv Max : aaaaXXaaaXXaaXX
: X=Cipher Suite Unused
: c=CALLBACK
: u=USER
: o=OPERATOR
: a=ADMIN
: O=OEM
Statically assign the IP address
To set the network interface to a static IP address, first set the IP assignment method:
$ ipmitool [CONNECT OPTIONS] lan set 1 ipsrc static
Next set the IP address, netmask, and gateway
$ ipmitool [CONNECT OPTIONS] lan set 1 ipaddr X.X.X.X
$ ipmitool [CONNECT OPTIONS] lan set 1 netmask X.X.X.X
$ ipmitool [CONNECT OPTIONS] lan set 1 defgw ipaddr X.X.X.X
Assign the IP address via DHCP
If you'd like to set the IP address statically through DHCP the "lan print 1" command listed above will show you the hardware MAC address to use.
$ ipmitool [CONNECT OPTIONS] lan set 1 ipsrc dhcp
Username / Password
The IPMI card on each server has it's own username and password database. Each user is identified by a numeric ID and all of the user modification commands are done based on this ID number.
The following sections will outline how to determine user ID numbers, and manage the authentication database.
Listing users
Use the command "user list 1" to view the IPMI card's authentication database:
$ ipmitool [CONNECT OPTIONS] user list 1
ID Name Callin Link Auth IPMI Msg Channel Priv Limit
1 false false true ADMINISTRATOR
2 root false false true ADMINISTRATOR
3 admin false false true ADMINISTRATOR
Adding a new user
First, select pick an unused ID (see list above) and set the username:
$ ipmitool [CONNECT OPTIONS] user set name [ID] [USERNAME]
Next, set the users password using the same ID as above:
$ ipmitool [CONNECT OPTIONS] user set password [ID] [PASSWORD]
Finally, set the use's privilege level, using one of the following privilege levels:
| Privilege Level | Description |
| 3 | Operator: can manage the server but not add or delete new users |
| 4 | Administrator: has full IPMI privileges |
$ ipmitool [CONNECT OPTIONS] user priv [ID] [LEVEL]
Example that creates a new administrator user named "myuser" with the password "mypass":
$ ipmitool [CONNECT OPTIONS] user list 1
ID Name Callin Link Auth IPMI Msg Channel Priv Limit
1 false false true ADMINISTRATOR
2 root false false true ADMINISTRATOR
3 admin false false true ADMINISTRATOR
$ ipmitool [CONNECT OPTIONS] user set name 4 myuser
$ ipmitool [CONNECT OPTIONS] user set password 4 mypass
$ ipmitool [CONNECT OPTIONS] user priv 4 4 1
$ ipmitool [CONNECT OPTIONS] user list
ID Name Callin Link Auth IPMI Msg Channel Priv Limit
1 false false true ADMINISTRATOR
2 root false false true ADMINISTRATOR
3 admin false false true ADMINISTRATOR
4 myuser true false true ADMINISTRATOR
Changing a user's password
Use the command "user set password" to change a user's password, replacing [ID] with the user's numeric ID and [PASSWORD] with the new password.
$ ipmitool [CONNECT OPTIONS] user set password [ID] [PASSWORD]
Example, change the password for the user named "myuser" to "abc123":
$ ipmitool [CONNECT OPTIONS] user list
ID Name Callin Link Auth IPMI Msg Channel Priv Limit
1 false false true ADMINISTRATOR
2 root false false true ADMINISTRATOR
3 admin false false true ADMINISTRATOR
4 myuser true false true ADMINISTRATOR
$ ipmitool [CONNECT OPTIONS] user set password 4 abc123
Changing user's privilege level
Use the command "user priv" to change a user's privilege level, replacing [ID] with the user's numeric ID and [LEVEL] with the privilege level:
| Privilege Level | Description |
| 3 | Operator: can manage the server but not add or delete new users |
| 4 | Administrator: has full IPMI privileges |
$ ipmitool [CONNECT OPTIONS] user priv [ID] [LEVEL] 1
Querying sensors
The "sdr" command is used for reading the sensor data repository. You can list all sensors or just get sensors of a particular type. Valid sensor types supported on Advanced Clustering systems include: Temperature, Voltage, and Fan.
To query all sensors:
$ ipmitool [CONNECT OPTIONS] sdr
CPU1 Temperature | 40 degrees C | ok
CPU2 Temperature | 33 degrees C | ok
TR1 Temperature | 0 degrees C | cr
TR2 Temperature | 0 degrees C | cr
VCORE1 | 1.06 Volts | ok
VCORE2 | 0.94 Volts | ok
+1.5V_ICH | 1.54 Volts | ok
+1.1V_IOH | 1.10 Volts | ok
......
To view sensors of a particular type:
$ ipmitool [CONNECT OPTIONS] sdr type [TYPE]
Example, get all voltages:
$ ipmitool [CONNECT OPTIONS] sdr type Voltage
VCORE1 | 34h | ok | 0.0 | 1.06 Volts
VCORE2 | 35h | ok | 0.0 | 0.94 Volts
+1.5V_ICH | 39h | ok | 0.0 | 1.54 Volts
+1.1V_IOH | 3Ah | ok | 0.0 | 1.10 Volts
+3.3VSB | 40h | ok | 0.0 | 3.24 Volts
+3.3V | 36h | ok | 0.0 | 3.19 Volts
+12V | 38h | ok | 0.0 | 12.10 Volts
VBAT | 3Ch | ok | 0.0 | 3.14 Volts
+5VSB | 3Bh | ok | 0.0 | 5.25 Volts
+5V | 37h | ok | 0.0 | 5.09 Volts
P1VTT | 3Dh | ok | 0.0 | 1.14 Volts
P2VTT | 3Fh | ok | 0.0 | 1.13 Volts
+1.5V_P1DDR3 | 3Eh | ok | 0.0 | 1.52 Volts
+1.5V_P2DDR3 | 41h | ok | 0.0 | 1.53 Volts
Power control
IPMItool has complete power control over the host system. This includes power on, off, and reset.
Note: You should perform power control over the network and not locally.
Check the power status
Use the "chassis power status" command to query the current state of the system.
$ ipmitool [CONNECT OPTIONS] chassis power status
Chassis Power is on
Power off the system
Use the "chassis power off" command to turn off the power of the system. This is hard power off - the operating system will not be shutdown properly.
$ ipmitool [CONNECT OPTIONS] chassis power off
Power off the system (clean shutdown)
Use the "chassis power soft" command to initiate a soft-shutdown of the OS via ACPI. In Linux this will trigger a "shutdown" command and safely shutdown the operating system, and then power off the system.
$ ipmitool [CONNECT OPTIONS] chassis power soft
Power on the system
Use the "chassis power on" command to power on the system.
$ ipmitool [CONNECT OPTIONS] chassis power on
Reset a system
Use the "chassis power reset" command to do a hard reset on the system. This is hard reset - the operating system will not be shutdown properly.
$ ipmitool [CONNECT OPTIONS] chassis power reset
Connecting to the text console
IPMI supports redirecting serial console output over the network. This allows BIOS level access, and the ability to watch a system boot, and monitor any error output sent to the console.
Use the "sol activate" command to connect to a remote text console.
Note: This only works through the lan interface and not locally.
$ ipmitool [CONNECT OPTIONS] sol activate
[SOL Session operational. Use ~? for help]
Once connected you will have to use the hot key "~." to disconnect from the serial over lan connection.
Event log viewer
The system contains an event log that has can contain some useful information. If you'd like to browse the event log you can use the "sel elist" command:
$ ipmitool [CONNECT OPTIONS] sel elist