Malfunctioning servers are more than a nuisance — they often result in upset customers, employees, and/or lost money. One of the most critical jobs of IT is to ensure that the servers are functioning properly and wonderfully and will continue to do so. IPMI (Intelligent Platform Management Interface) seeks to become the new standard for this task. Today, I’m going to go tell you about this marvelous technology which has enabled sys admins to remotely monitor their herd back at the server farm. And despite the variety of servers within their flock, they can effectively monitor all the beasts from a single interface. We will show its advantages over traditional diagnostic software and give a brief rundown of how it functions. I’ll also tell you a few of the drawbacks that this growing technology has.

Let’s begin.

Brief History of [Painful] Server Diagnostic Tools

For some time, motherboard diagnostics were obtained by checking the server BIOS settings or using software diagnostic tools installed on each server’s hard drive. However, diagnostic needs have become more complex over the years. First, companies (and individuals) have more servers than ever before. Checking the diagnostics for each server individually is a hassle. In addition to the sheer volume, the distance between people and their servers has increased, making remote access to diagnostic systems vitally important. As such, the world’s demand for server diagnostic systems is changing. Traditional software solutions might be sufficient for a small company with a few servers that within easy access, but sys admins in a larger corporation require the latest diagnostic technologies to manage their hordes of distant servers.

This is not to say that the old ways are useless. They are great for troubleshooting and monitoring a specific server, especially if you are standing right in front of it. But wouldn’t it be nice if all of the server diagnostic systems were routed into one terminal and given a KVM (Keyboard, Video adapter, and Mouse) interface? Imagine a world where interfaces from multiple servers could be directed into a single terminal. It sounds good, but if the software across your servers is not compatible, the odds are good that when routed into a single terminal, these tools will have to be accessed separately. That sucks.

How can IPMI help?

AOC-SIMLC(+) (top) & AOC-SIMLP-3(+) (bottom) <br /> Examples of IPMI cards, provided by SuperMicro

AOC-SIMLC(+) (top) & AOC-SIMLP-3(+) (bottom) Examples of IPMI cards, provided by SuperMicro

IPMI, short for Intelligent Platform Management Interface, provides a standard for server diagnostic systems, thus enabling one application to access diagnostic data from any IPMI-compatible motherboard.  IPMI was first standardized at the Intel Developer’s Conference in August 1999.  Version 2.0 was standardized in 2004.  The IPMI system consists of a Baseboard Management Controller (BMC), which interfaces with other controllers and sensors on the motherboard via the Intelligent Platform Management Bus/Bridge.

The BMC can either be on a separate IPMI card, or it can be directly integrated into the motherboard as a chip.  IPMI cards are most common now, but onboard IPMI is likely to surpass their popularity over the next few years.  Because it is on or attached to the motherboard, the BMC can still be accessed even if the server is off or damaged and unable to boot.  So if a server is locked up, a sys admin can check the IPMI diagnostics from a remote system, whereas traditional diagnostic software would probably be inaccessible until the server is rebooted.  Likewise, an IPMI-enabled server does not even need to be on to provide diagnostic data.  This feature is particularly useful for server inventory management and on/off monitoring.  Even if the server is off, you can bring it back up remotely.

Not bad, right?  But the benefits of IPMI do not end there!

IPMI—The Sys Admin’s Swiss Army Knife

As an industry standard, multiple IPMI-equipped servers can all be connected to a common terminal over IP, eliminating the compatibility issues born by previous diagnostic tools. This technology is most useful to data centers with large numbers and varieties of servers, but small businesses with only a few servers make good use of IPMI as well. While a large business may put fifteen server racks easily into fifteen (or less) terminals, a small business can still output a single rack into a single terminal. Bottom line: regardless of business size, you can still gather data on multiple servers from a single point, and that’s pretty convenient.

Now wiring up an IPMI system with Ethernet cables, server to terminal, is most useful for a business with a dedicated operations team that can check up on the servers from a terminal on the floor. But better yet, IPMI over IP allows any IPMI-compatible software to be interfaced with the BMC and sensors via the internet. Because it is a published standard, IPMI has numerous open-source client programs that can be used for monitoring servers over the web. A quick glance at Google or Wikipedia will unearth many such apps, meaning there is no shortage of software to help to check on your server babies while you are out on the town.

An example of an IPMI web interface tool (provided by SuperMicro)

An example of an IPMI web interface tool (provided by SuperMicro)

Another feature of IPMI is the Sensor Data Records, a small table which holds information about each sensor on the motherboard.  This table functions as an inventory of the components on the motherboard being monitored.  Its primary use is internally for the BMC and software to determine what data should be getting retrieved, but it is also provides a useful component inventory.

A Sensor Data Records Screen from SuperMicro’s IPMI web interface tool

A Sensor Data Records Screen from SuperMicro’s IPMI web interface tool

When a Man Loves a Diagnostic Tool

By now, you might be falling for IPMI.  She can display data for multiple servers via the KVM switch and terminal, give you a full inventory of monitored components, and enable you to check the state of the components regardless of what the server is doing (or not doing) at the time.  She sounds like an easy way to get all the data you want when you want it, but don’t get hitched yet.  IPMI has a few little quirks that you’ll have to overcome to make this relationship last. The most annoying aspect of IPMI is that each IPMI card (or IPMI-equipped board) requires an IP address.  This might seem like a small price to pay, but to a company trying to avoid the costs of registering more addresses in the stagnant economy, IPMI could look like another gold-digger.  With that said, the cost for this IP is the same as any other IP address, which is only a few dollars a month, so if you have the money, this is an investment I would recommend.

Also, IPMI cards can be a hassle because they are not interchangeable with other motherboards.  That is, a BMC is designed for a specific motherboard or type of motherboard.  The sensors on the board, and therefore the data being sent across the Bridge between these sensors and the BMC, will be different on different motherboards.  So while the application-interfacing side of IPMI meets a standard and allows for all kinds of wondrous implementations, the motherboard-interfacing side is very specific.  Depending on your needs, this may or may not matter.  If you change servers often and feel you will be swapping your IPMI card around often, bear this caveat in mind.  Onboard IPMI eliminates the issue of swapping cards, but the motherboard itself will likely be more expensive in that case.

Most board manufacturers are beginning to incorporate IPMI on or with their boards, so this technology is now accessible to anyone looking for it.  Intel and SuperMicro have both been pushing heavily on IPMI technology, with other board manufacturers such as Tyan following suit. Most recently, Supermicro released a line of Supermicro Superservers for Intel’s Nehelem processor that all include onboard IPMI.

Love/hate IPMI compared to other diagnostic tools?  Have other questions?  Let us know in the comments section below!

PR: wait… I: wait… L: wait… LD: wait… I: wait… wait… Rank: wait… Traffic: wait… Price: wait… C: wait…

Post to Twitter Post to Delicious Post to Facebook Post to Reddit Post to StumbleUpon