Supermicro Server Remote Access via IPMItool

The Intelligent Platform Management Interface (IPMI) is a standard that requires its own processor, besides the main one the system uses, because it works independently in monitoring and maintaining the platform. In most cases, IPMI can continue running even when the main processor is turned off. Do note though that software management is outside IPMI’s scope.

Essentially, IPMI serves as a bridge that relays system information mostly for monitoring purposes. Its maintenance or management functionality is secondary and quite minor. In an effort to expand IPMI capabilities, many companies and organizations have built more extensive management control into IPMI using OEM extensions.

Supermicro servers’ IPMI can be configured using BIOS through a VGA console, IPMICFG (Supermicro proprietary tool), or an open-source utility called IPMItool. This article will focus on using IPMItool.

To configure an IPMI with a local IPMItool, do the following steps:

  1. Set the source of the configuration, usually left as “none”
  2. ipmitool lan set ipsrc none | static | dhcp | bios

  3. Set the IP address
  4. ipmitool lan set ipaddr <x.x.x.x>

  5. Set the IP netmask
  6. ipmitool lan set netmask <x.x.x.x>

  7. Set the default gateway’s IP address
  8. ipmitool lan set defgw ipaddr <x.x.x.x>

  9. Enable access
  10. ipmitool lan set access on

In most cases, IPMI network settings should already be pre-configured by your hosting provider. Do note that changing these settings may render your IPMI controller inaccessible.

To check the current LAN configuration run:

ipmitool lan print

To configure user access, do the following steps:

  1. Check for pre-configured users. Note that user ID 2 is ADMIN.
  2. ipmitool user list

    Note: Any user can have administrator privileges, but this is assigned to user 2 by default.

  3. Rename the ADMIN user
  4. ipmitool user set name 2 <name>

  5. Set a new password for the ADMIN user
  6. ipmitool user set password 2 <password>

  7. User is enabled by default. You can set to “disable,” as needed.
  8. ipmitool user disable 2

Notes:

  • Supermicro default login is ADMIN and default password is ADMIN.
  • Use another ID instead of 2 for a different user.

To check for basic network connectivity to the interface, you can ping the IP address: ping <ipaddr>

To check if the interface is accessible via network and a session could be established, you can run the following command:

ipmitool -I lanplus -H <ipaddr> -U <username> session info all

Note: The password will be prompted when checking all currently established sessions.

So you’ll be asked for the password only once and in case you need to enter more than one command, you can opt to enter an interactive shell:

ipmitool -I lanplus -H <ipaddr> -U <username> shell

The IPMItool Execute command runs the file specified, with each line in it read as a complete command:

ipmitool -I lanplus -H <ipaddr> -U <username> exec <filename>

Notes: Each line may have an optional comment at the end of the line, delimited with the pound symbol (“#”). Below is an example of a command file with two lines.

sdr list # get a list of sdr records

sel list # get a list of sel records

——————–

Below are a few examples of using the IPMItool utility in day-to-day server maintenance:

  • Checking current server power status, whether on or off
  • ipmitool -I lanplus -H <ipaddr> -U <username> power status

  • Do any of the following power controls: Server Power On, Server Reset, Hard Power Off (long press on analog power button), Soft Power Off (ACPI shutdown, short press on analog power button)
  • ipmitool -I lanplus -H <ipaddr> -U <username> power <on | reset | off | soft>

    Note: For Soft Power Off to work, your OS should support ACPI events. Linux requires running “acpid,” while Windows systems require some registry/group policy edits depending on the OS version.

  • Entering BIOS configuration without pressing the F2 key during loading
  • ipmitool -I lanplus -H <ipaddr> -U <username> chassis bootdev bios

Notes:

  • By doing this, the system will boot directly to the BIOS setup on the next reboot.
  • You can replace “bios” with “disk” to boot from an HDD.
  • You can replace “bios” with “pxe” to boot from a networked boot-capable card (PXE boot).
    • Enabling serial over LAN (SOL) to emulate a serial (COM) port on the IPMI controller
    1. Enable this action in the server BIOS and set necessary parameters. We recommend setting 115200 as speed for SOL. Save your settings.
    2. Run the following command:
    3. ipmitool -I lanplus -H <ipaddr> -U <username> sol activate.

    Notes:

    • You will see BIOS load after a reboot. If you press DEL, you can navigate through the BIOS setup.
    • GRUB, a boot load manager, can also interact with SOL.

    You can use SOL for to manage the OS of Unix-based systems. For Linux, add “console=ttyS1,115200” to kernel command line in your boot loader config. Remember to use the appropriate serial port number. If your system has two real COM ports and SOL is enabled, the SOL port becomes zero-based #2, “ttyS2.” This will enable kernel output redirection to SOL port. Some systems like CentOS Linux come pre-installed with SOL input detection. This is a great feature. You can even copy-paste text over the SOL, a much better option than the VGA console redirection of the Java applet.

    • Monitoring system event logs (SEL) to spot anomalies like a RAM ECC error

    ipmitool -I lanplus -H <ipaddr> -U <username> sel list

    Using the above command can give the output like the one below:

    1 | 06/06/2014 | 18:26:16 | Memory | Correctable ECC | Asserted | CPU 0 DIMM 8

    Note: This output shows one of the memory modules (#8) just triggered a correctable ECC error. As the output is just a stdout text, a system administrator can use it in a script to monitor overall machine health with words like “error” or “critical” to trigger an alert.

    • Monitoring hardware components in the sensor list like CPU, fan, and battery

    ipmitool -I lanplus -H <ipaddr> -U <username> sensor list

    If the IPMI controller hangs, run the following command:

    ipmitool -I lanplus -H <ipaddr> -U <username> reset cold

    Doing this will reboot the IPMI controller without rebooting the OS.

    If the IPMI controller becomes unreachable, do a full AC cycle by removing the server power cords and reconnecting them back in after one minute. Doing this will affect your OS. Note that rebooting the OS will not reboot IPMItool.

    See also How to reinstall OS using IPMI or PXE boot
    See our Knowledgebase for more How-To articles.

    Comments are closed.