---
name: "stonith"
section: "8"
platform: "linux"
package: "cluster-glue"
version: "1.0.12-24+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/stonith"
---

# stonith(8)

extensible interface for remotely powering down a node in the cluster

## NAME

stonith - extensible interface for remotely powering down a node in the cluster

## SYNOPSIS

**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*\]

## DESCRIPTION

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.

## OPTIONS

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.

## EXAMPLES

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
```

## SEE ALSO

[**heartbeat**(8)](/heartbeat/8.md), [**meatclient**(8)](/meatclient/8.md)

## AUTHORS

**Alan Robertson** \<alanr@unix.sh\>

stonith

**Simon Horman** \<horms@vergenet.net\>

man page

**Florian Haas** \<florian.haas@linbit.com\>

man page
