IPMI on Linux. It’s Good for Me, it’s Good for You

At work I have been setting up IPMI support under Linux so that we can have local facilities when working remotely. By local facilities I mean being able to shutdown or restart the machine when something nasty happens and the machine locks up, being able to view and alter the BIOS, the bootloader, the boot-up sequence, the shutdown sequence and the kernel output when it panics.

This basically means that you see what happened, press the bug red button and then watch it come up again as though you were working on the machine locally. You can’t do this over SSH. Normally you would pay a couple of hundred or over a thousand GBP for an IP KVM, depending on how many ports you required and again for a remote power control device.

To use IPMI you need a machine with an IPMI BMC in the machine, preferably v2.0, you need a BIOS which lets you do console redirection and you can set the rest up in software, using OpenIPMI and IPMItool. What you can do is setup a serial console over the BMC and have the BMC redirect that over it’s own LAN interface so you can talk to it remotely. You also set up your bootloader and init to setup a console over the same serial port and then all you have to do is talk to it. The BMC is OS independent and works whether the machine is powered on, powered off and operational or not, so long as there is a power source connected to the server.

To help other people do the same thing, I wrote an IPMI howto on my wiki, there is already some other stuff on chrooted DNS, DNSBLs and greylisting. I admit, that I have yet to make it completely comprehensive, but all of the details you need to do it are there and the links will fill in any gaps while I finish it off.

This is my first real wiki article and was inspired by Ade opening up his secret wiki. It made me realise that I really ought to have some kind of config and howto repository to go back to myself.

Anyway, if you’re managing remote servers or plan to, think about using IPMI and then look at my IPMI article.

5 thoughts on “IPMI on Linux. It’s Good for Me, it’s Good for You

  1. I see you haven’t got any more interesting with age!

    How are you doing me ‘ol fruit?

  2. I’m well Adam. Sorry for not replying by email – but it is currently f@cked at the moment. But to breifly answer your questions as per your email;

    I’m currently selling a Digital Asset Management software across Europe and enjoying it very much – the pays pretty good 🙂 (Want to retire before 30 – well thats the plan)

    And yes the last time we saw each other at the party my recollection was also a bit patchy – are you still with that bird? Sorry forgot her name??

    My parents are still living on a Mountain in Ireland and have joined a local indoor bowls team – hah ha. I guess you do crazy things when you get old?

    I’m glad to see your enjoying yourself at work – even if it doesn’t present good social conversation topics.

    Have you hit the big 30 yet??

    Take it easy and keep on smiling.

    Kev.

  3. Of course he’s fuc***g hit 30. Sadly the Drinky man doesn’t go out drinking anymore these days. But he has stopped smoking which is good. Nice to hear from you Kev.

  4. Hi Adam,

    I had problems with IPMI.
    I installed IPMI in my notebook, all modules are loaded.
    When I run ipmitool command (ipmitool -I open chassis power status) shows the following error:
    “Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory
    Unable to get Chassis Power Status”

    What is happening??
    Thank you

  5. That’s a kernel error saying it can’t find an IPMI device. Do you know that your laptop actually has an IPMI controller? It’s normally only in server hardware. If you don’t have one, it’s not going to work.

    If your laptop is unusual and actually does have an IPMI controller, take a look at dmesg to see what device node under /dev is assigned to your IPMI controller. ipmitool is telling you it expects it to be one of those given in your error message: /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0. If you can work that out and the device node exists, then take a look at the permissions on the device node. They’re normally owned by root, so running ipmitool locally means you’re going to need to be root or use sudo.

Comments are closed.