ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

Open Source IPMI Software Guide

Updated on November 15, 2014

IPMI, the Intelligent Platform Management Interface, as a popular hardware management standard that is implemented into almost all major commercial servers. It can be used to monitor hardware status, diagnose problems, manage power, access the remote console, and help with inventory management. There are a lot of open source projects that help you manage your servers with IPMI. The following is a guide to the major open source IPMI software you can use. Higher level monitoring software, such as Ganglia, Nagios, and Cacti, all use plugins for the software below, so higher level software will not be discussed in this article.

IPMItool

IPMItool is the most popular open source IPMI project. It is distributed by most major open source Linux distributions, including Redhat, Suse, Debian, and Ubuntu. It also operates under BSD, Solaris, and has been ported to work in Windows under Cygwin, although it cannot work in-band under the latter. The in-band IPMI drivers supported by IPMItool are the OpenIPMI driver, Solaris BMC driver, Solaris LIPMI driver, FreeIPMI driver, and Intel IMB driver. IPMItool supports all major features of IPMI via a single command line tool. IPMItool has been released under a BSD license.

For most users, IPMItool is the software to use. It doesn't offer anything particularly fancy, but it gets the job done. You'll be able to use it to power your servers, read sensors, diagnose hardware errors via the SELL, perform serial-over-LAN to access the console, and more. OEM specific extensions for HP, Dell, Supermicro, and many other vendors are also supported. It also supports some IPMI standards extensions, such as DCMI. The major downside to IPMItool is that libraries are not available, so programming through IPMItool is typically done through scripting. If you need programmable interfaces, see some of the projects below.

OpenIPMI

There two components to OpenIPMI, both of which are referred to as OpenIPMI. This often confuses those first hearing about this project. There is a kernel driver and a set of userspace libraries/tools in OpenIPMI. While they were originally distributed together, they are now separate. This sometimes leads to confusion.

The OpenIPMI kernel driver is now distributed as the default Linux kernel IPMI driver, and is sometimes referred to as the "OpenIPMI driver". The OpenIPMI kernel driver offers a system device (e.g. /dev/ipmi0) for IPMI software to communicate to the BMC. The OpenIPMI driver is independent of the OpenIPMI libraries and tools. Other software, such as IPMItool, FreeIPMI, and IPMIutil, support the OpenIPMI kernel driver as an interface to perform in-band communication. An OpenIPMI compatible driver also exists for FreeBSD.

The OpenIPMI libraries supply a programmable API to do IPMI communication, both in-band and out-of-band. It supports C, Perl, and Python libraries. For local IPMI communication, it only supports the OpenIPMI kernel driver. Along with its userspace package, several tools are supported, such as a command shell and GUI. These tools collectively provide most of the major IPMI features, although not with the breadth of options and features supported by IPMItool, FreeIPMI, and IPMIUtil.

The OpenIPMI kernel driver is distributed by all Linux distributions, since it is a part of the Linux kernel. The OpenIPMI userspace libraries and tools and distributed by most major Linux distributions as well. OpenIPMI is released under a GPL license for the kernel driver and the LGPL license for the userspace software.

Most users will still stick to IPMItool for their userspace needs, as the OpenIPMI userspace tools are a bit more advanced and will be confusing to most. Those looking for programmable interfaces or scriptable shells, may find OpenIPMI a bit better for their needs.

FreeIPMI

FreeIPMI provides both libraries and tools for IPMI communication. For in-band communication, FreeIPMI supports its own KCS driver, its own SSIF driver, the OpenIPMI kernel driver, and the Sun BMC driver. FreeIPMI is supported under Linux, BSD, Solaris, and Windows under Cygwin. Similar to IPMItool, the in-band communication is not supported under Cygwin. FreeIPMI is distributed in most major Linux and BSD distributions. FreeIPMI is released under a GPL license.

The collection of command line tools in FreeIPMI support approximately the same breadth of options and features of IPMItool. Some additional extension standards, such as DCMI or the Intel Power Manager, are also supported. A large variety of OEM vendor support from Dell, Fujitsu, Supermicro, and others is also supported. A C library is the only library available, but it is there for those looking for a programmable interface.

The predominant advantage of using FreeIPMI is it contains a large set of features for running IPMI in large cluster or HPC environments. These features are not very noticeable in smaller environments with just a few servers.

IPMIutil

IPMIutil is similar to FreeIPMI, offering multiple command line tools to perform all major features of IPMI. It supports the largest number of in-band interfaces, including the OpenIPMI driver, Intel IMB driver, FreeIPMI driver, LANDesk ldipmi daemon, VALinux driver, Solaris BMC, Microsoft IPMI driver, and direct userspace I/O via KCS or SSIF/SMBus. It is the only open source project that supports Windows natively, both for in-band and out-of-band communication. Similar to IPMItool, there are no libraries available, therefore most script against IPMIutil itself. IPMIutil has been released under a BSD license. As you might suspect from the language above, IPMIUtil's predominant advantage is its ability to run in many environments. If you have a very heterogenous environment with multiple operating systems and vendors, IPMIUtil may be useful for running a single IPMI software across all hardware.

Comments

    0 of 8192 characters used
    Post Comment

    No comments yet.

    working

    This website uses cookies

    As a user in the EEA, your approval is needed on a few things. To provide a better website experience, hubpages.com uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

    For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at: https://hubpages.com/privacy-policy#gdpr

    Show Details
    Necessary
    HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
    LoginThis is necessary to sign in to the HubPages Service.
    Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
    AkismetThis is used to detect comment spam. (Privacy Policy)
    HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
    HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
    Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
    CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
    Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the googleapis.com or gstatic.com domains, for performance and efficiency reasons. (Privacy Policy)
    Features
    Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
    Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
    Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
    Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
    Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
    VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
    PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
    Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
    MavenThis supports the Maven widget and search functionality. (Privacy Policy)
    Marketing
    Google AdSenseThis is an ad network. (Privacy Policy)
    Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
    Index ExchangeThis is an ad network. (Privacy Policy)
    SovrnThis is an ad network. (Privacy Policy)
    Facebook AdsThis is an ad network. (Privacy Policy)
    Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
    AppNexusThis is an ad network. (Privacy Policy)
    OpenxThis is an ad network. (Privacy Policy)
    Rubicon ProjectThis is an ad network. (Privacy Policy)
    TripleLiftThis is an ad network. (Privacy Policy)
    Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
    Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
    Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
    Statistics
    Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
    ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
    Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)