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.
Anyway, if you’re managing remote servers or plan to, think about using IPMI and then look at my IPMI article.