Intelligent Platform Management Interface - (IPMI) has been around since 1998 when the specification was launched. The standard, initially led by Intel, has since been adopted by virtually all server system vendors including Supermicro, HP, Dell & IBM (Lenovo).
Originally a basic set of management and monitoring tools in the first generation, there have been updates over the years leading to the current latest version 2.0 "revision 1.1 errata 7". These changes have added many enhancements such as additional useful management features, stronger security and even adding remote console access for greater administrative control. This in turn has led to a powerful server monitoring and management solution.
Baseboard Management Controller
IPMI runs on a separate hardware subsystem directly attached to a motherboard/server. Typically on a modern system it will be hard wired on to the motherboard, but add-on cards are also a possible implementation option for some systems. This hardware is referred to as a Baseboard Management Controller (BMC). The BMC manages the interface between system management software (such as Supermicro's IPMI View) and platform hardware.
As it is dedicated independent hardware, the BMC functions separately to the motherboard and runs its own independent software stack/firmware to the motherboard it is controlling and monitoring. This enables the administrator to connect to the BMC and operate the system power controls and sensors even if the main system is powered down, crashed or without any O/S at all.
Typical features of an IPMI BMC
Sensor readout from Supermicro's IPMI View.
Power consumption readout from Supermicro's web GUI.
Power control in Supermicro's IPMI View.
Serial Over LAN (SOL) output from Supermicro's IPMI View.
Supermicro IPMI
In addition to these standard features many system vendors build on this base and create a more complete remote management solution. Supermicro for example support the following on almost all of their X8, X9 X10 and X11 based motherboards.
Example KVM over IP output from Supermicro's IPMI View.
Media redirection function of Supermicro's KVM over IP interface.
Out Of Bound (OOB) BIOS & Firmware Updates: BIOS and IPMI firmware updates can be applied remotely via the IPMI interface (an additional license is required for BIOS updates). This can be done, for example, by uploading a locally downloaded BIOS or IPMI update to the IPMI interface and then flashed directly onto the target system from the administrator's terminal. Alternatively, media redirection as described above can allow the use of a local DOS bootable USB flash drive in order to update the BIOS through the KVM console at no extra cost.
Updating the BIOS using Supermicro's IPMI web GUI.
IPMI Web GUI showing physical and logical disk groups.
Asset information in Supermicro's web GUI.
Supermicro IPMI Management Tools
IPMI View can be downloaded from the following location: ftp://ftp.supermicro.com/utility/IPMIView/
Supermicro's IPMI View running on Windows.
Supermicro's IPMI web GUI.
Open IPMI Tools
For CLI (Command Line Interface) control with scripting support, there are several open source clients which can be used to connect to and control IPMI BMC's. The most common example of which is the Open IPMI package; this offers excellent functionality and can be easily scripted.
These tools and user guides are available to download directly from sourceforge here: http://openipmi.sourceforge.net/
IPMITool running on CentOS via IPMI KVM.
This tool is available for download directly from Supermicro's ftp here: ftp://ftp.supermicro.com/utility/SMCIPMItool/
The iOS app is available from iTunes here: https://itunes.apple.com/us/app/supermicro-ipmiview/id952163566?mt=8
The Android app is available from the Google Play Store here: https://play.google.com/store/apps/details?id=com.smc.smcipmitool&hl=en
IPMIVIew app on iOS.
KVM over IP to a Windows Server using the IPMIVIew app on iOS.
Initial IPMI Configuration
Configuring IPMI is a simple process, the initial setup is simply to configure an IP address (DHCP or static) with which to connect to the BMC. This is done either in the motherboard BIOS under the IPMI > BMC Network Configuration tab or by using the Supermicro IPMICFG tool from your O/S.
The IPMICFG tool can be downloaded from the following location: ftp://ftp.supermicro.com/utility/IPMICFG/
IPMI configuration in the motherboard BIOS using KVM on IPMI View.
Configuring IPMI's IP address manually using the IPMICFG CLI utility.
IPMI Connectivity
All these features are delivered remotely over a standard IP network port on the managed system. Most systems have both a dedicated LAN port for IPMI traffic or optionally it's possible to run this traffic over the 1st LAN port on the motherboard (eth0) alongside the systems standard IP traffic.
Example of a Supermicro motherboard with dedicated and shared IPMI Ports.
Security
The default username and password for Supemicro's IPMI module is ADMIN in uppercase, however this should be changed immediately in any production environment to avoid any security breaches. It's possible to use local authentication and groups for varying levels or access or even connect to an LDAP or Active Directory service for authentication. It is also possible to setup up new users and give appropriate privileges ranging from basic access to full admin control. Supermicro also use encryption algorithms to allow all packets transmitted to the BMC to be encrypted.
In order to further enhance security and to ensure your live environment is protected Supermicro have a number of recommendations for the BMC and IPMI configuration to adhere to. The guidelines and best practises can be seen here: http://www.supermicro.com/products/nfo/files/IPMI/Best_Practices_BMC_Security.pdf & https://www.supermicro.com/white_paper/IPMI_white_paper.pdf
Conclusion
IPMI is an invaluable tool for any administrator, it enables them to monitor systems on a hardware level and perform essential maintenance remotely.
Without it system installation, trouble shooting and monitoring can be a costly time consuming experience. With collocated systems, a system crash/hang that requires a system reboot can in some situations require a trip to a data centre in another city. Simply probing the KVM to determine the fault and if necessary power cycling the node can be done in seconds resulting in much faster response times and ensure longer uptime of essential services.
As all administrators know, if undiscovered, hardware failures can cause slowdown or even the complete halt of critical services. Email notifications of PSU or fan failures and changes in temperature/voltage can ensure that proactive maintenance can take place and avoid costly unscheduled downtime.
Even disregarding system failures, IPMI is a powerful tool for monitoring overall system health, applying firmware, BIOS and OS updates remotely, configuring new systems and using KVM to fully control the pre-OS and OS remotely.
All of these factors make IPMI an excellent tool for reducing your TCO and improving your productivity as an administrator and your company's services as a whole.