There was recently this cute comic that was makings its rounds on my newsfeed, about how you should use SIGTERM instead of SIGKILL. It seems to come from Daniel Stori on DZone, posted on 1st April this year. Well, I’ve got something even more murderous than SIGKILL. I’ll use an IPMI command, and you’ll do it like so:
$ ipmitool chassis power off
Instantly, your server will be switched off. It’s about as good as pulling the power plug. But I suppose this isn’t quite what you’ll want. However, you know what, sometimes SIGKILL just doesn’t work too. Furthermore, haven’t you ran into those nasty situations that even a reboot
command fails to work? Your server could, after all, be stuck in a reboot.
Those are the times, you’d wish you could actually head right down to your data centre, or wherever your server is, to pull the plug. Or press the reset button.
Thank goodness, IPMI has saved many a system administrator from making trips for the sole purpose of pressing a button. IPMI stands for Intelligent Platform Management Interface. It’s a mechanism used to remotely, via network, monitor server hardware statuses, such as temperature, voltage, power, and other diagnostic information. It is also used to control some functions, such as power, and establishing a serial console connection to the server.
IPMI is really more of an interface specifications. The actual intelligence is performed on a hardware component known as the Baseboard Management Controller (BMC). The BMC is practically an autonomous computer on the server, which runs as long as a power cord (with working power) is attached, typically regardless of the position of any power switches on the server itself. The BMC is unaffected by a server that has hung.
Different brands of hardware build more features on top of IPMI, and use different names to refer to their enhanced capabilities. IBM, for example, calls it Integrated Management Module. Dell calls theirs DRAC and iDRAC. Oracle Sun uses the name Integrated Lights Out Manager. Each would have different type of commands and different interfaces (command line, GUI, etc). But at the basic level, IPMI is pretty standard.
If you’ve a stuck server, the IPMI command you want is:
$ ipmitool chassis power cycle
This is equivalent to pressing the power button to switch OFF the server, then pressing it again to switch ON the server.