Extensible interface for remotely powering down a node in the cluster
stonith -h stonith [-s] [-h] -L stonith [-s] [-h] -t stonith-device-type -n stonith [-s] [-h] -t stonith-device-type {name=value... | -p stonith-device-parameters | -F stonith-device-parameters-file} [-c count] [-l] [-S] stonith [-s] [-h] -t stonith-device-type {name=value... | -p stonith-device-parameters | -F stonith-device-parameters-file} [-c count] [-T {reset | on | off}] [nodename]
The STONITH module provides an extensible interface for remotely powering down a node in the cluster (STONITH = Shoot The Other Node In The Head). The idea is quite simple: when the software running on one machine wants to make sure another machine in the cluster is not using a resource, pull the plug on the other machine. It's simple and reliable, albeit admittedly brutal.
The following options are supported:
-c count
Perform any actions identified by the -l, -S and -T options count times.
-F stonith-device-parameters-file
Path of file specifying parameters for a stonith device. To determine the syntax of the parameters file for a given device type run:
# stonith -t stonith-device-type -n
All of the listed parameters need to appear in order on a single line in the parameters file and be delimited by whitespace.
-h
Display detailed information about a stonith device including description, configuration information, parameters and any other related information. When specified without a stonith-device-type, detailed information on all stonith devices is displayed.
If you don't yet own a stonith device and want to know more about the ones we support, this information is likely to be helpful.
-L
List the valid stonith device types, suitable for passing as an argument to the -t option.
-l
List the hosts controlled by the stonith device.
-n
Output the parameter names of the stonith device.
name=value
Parameter, in the form of a name/value pair, to pass directly to the stonith device. To determine the syntax of the parameters for a given device type run:
# stonith -t stonith-device-type -n
All of the listed parameter names need to be passed with their corresponding values.
-p stonith-device-parameters
Parameters to pass directly to the stonith device. To determine the syntax of the parameters for a given device type run:
# stonith -t stonith-device-type -n
All of the listed parameter names need to appear in order and be delimited by whitespace.
-S
Show the status of the stonith device.
-s
Silent operation. Suppress logging of error messages to standard error.
-T action
The stonith action to perform on the node identified by nodename. Chosen from reset, on, and off.
Note
If a nodename is specified without the -T option, the stonith action defaults to reset.
-t stonith-device-type
The type of the stonith device to be used to effect stonith. A list of supported devices for an installation may be obtained using the -L option.
-v
Ignored.
To determine which stonith devices are available on your installation, use the -L option:
# stonith -L
All of the supported devices will be displayed one per line. Choose one from this list that is best for your environment - let's use wti_nps for the rest of this example. To get detailed information about this device, use the -h option:
# stonith -t wti_nps -h
Included in the output is the list of valid parameter names for wti_nps. To get just the list of valid parameter names, use the -n option instead:
# stonith -t wti_nps -n
All of the required parameter names will be displayed one per line. For wti_nps the output is:
ipaddr password
There are three ways to pass these parameters to the device. The first (and preferred) way is by passing name/value pairs on the stonith command line:
# stonith -t wti_nps ipaddr=my-dev-ip password=my-dev-pw ...
The second way, which is maintained only for backward compatibility with legacy clusters, is passing the values in order on the stonith command line with the -p option:
# stonith -t wti_nps -p "my-dev-ip my-dev-pw" ...
The third way, which is also maintained only for backward compatibility with legacy clusters, is placing the values in order on a single line in a config file:
my-dev-ip my-dev-pw
... and passing the name of the file on the stonith command line with the -F option:
# stonith -t wti_nps -F ~/my-wtinps-config ...
To make sure you have the configuration set up correctly and that the device is available for stonith operations, use the -S option:
# stonith -t wti_nps ipaddr=my-dev-ip password=my-dev-pw -S
If all is well at this point, you should see something similar to:
stonith: wti_nps device OK.
If you don't, some debugging may be necessary to determine if the config info is correct, the device is powered on, etc. The -d option can come in handy here - you can add it to any stonith command to cause it to generate debug output.
To get the list of hosts controlled by the device, use the -l option:
# stonith -t wti_nps ipaddr=my-dev-ip password=my-dev-pw -l
All of the hosts controlled by the device will be displayed one per line. For wti_nps the output could be:
node1 node2 node3
To power off one of these hosts, use the -T option:
# stonith -t wti_nps ipaddr=my-dev-ip password=my-dev-pw -T off node
Alan Robertson <[email protected]>
stonith
Simon Horman <[email protected]>
man page
Florian Haas <[email protected]>
man page