STONITH is a technique for NodeFencing, where the errant node which might have run amok with cluster resources is simply shot in the head. Normally, when an HA system declares a node as dead, it is merely speculating that it is dead. STONITH takes that speculation and makes it reality. "Make it so, Number One".
Reluctantly setting whimsy and humor aside...
There are a few properties a STONITH plugin must have for it to be usable:
- It must never report false positives for reset. If a STONITH plugin reports that the node is down, it had better be down.
- It must support the RESET command (on and off are optional)
- When given a RESET or OFF command it must not return control to its caller until the node is no longer running. Waiting until it comes up again for RESET is optional.
- All commands should work in all circumstances:
- RESET when node is ON or OFF should succeed and bring the node up (or at least attempt to bring it up - it may not boot for other reasons).
- OFF when node is OFF should succeed.
- ON when node is ON should succeed.
If you don't follow these rules, Bad Things Will Happen - if not sooner, then later.
Etymological note: STONITH started out as a misspelling of another acronym (STOMITH), where the M stood for machine. At one point, Alan Robertson realized he had been misspelling it, but he decided he preferred his misspelled version, because it appealed to his sense of whimsy. It seems he liked the sort of Biblical feel to the the sound of STONITH, which to his ear is similar to the pseudo-King-Jamesean verb "stoneth" - as in "I stoneth thou". This appeal was enhanced by the parallels between a cluster fatally casting out one of its members for disobeying cluster rules, to the Biblical use of stoning as a fatal method of casting a human out of the community for their transgressions against God.