Can SBD fencing be used only for some of the nodes within same cluster?
Environment
- Red Hat Enterprise Linux Server 8 (with the High Availability Add On)
- SBD fencing
Issue
Previously, to use a watchdog-only SBD configuration, all nodes in the cluster had to use SBD. That prevented using SBD in a cluster where some nodes support it but other nodes (often remote nodes) required some other form of fencing.
Resolution
As of pacemaker-2.1.0-8.el8 and later users can configure a watchdog-only SBD setup using the new fence_watchdog agent, which allows cluster configurations where only some nodes (cluster nodes) use watchdog-only SBD for fencing and other nodes (remote nodes) use other fencing types. A cluster may only have a single such device, and it must be named watchdog.
fence_watchdog just provides meta-data - actual fencing is done by the pacemaker internal watchdog agent.
Related Articles
Root Cause
To use a watchdog-only SBD configuration, all nodes in the cluster had to use SBD. That prevented using SBD in a cluster where some nodes support it but other nodes (often remote nodes) required some other form of fencing.
Diagnostic Steps
fence_watchdog supports following parameters:
# pcs stonith describe fence_watchdog
.
.
.
Stonith options:
nodename: Ignored
plug: Ignored
pcmk_host_map: A mapping of host names to ports numbers for devices that do not support host names. Eg.
node1:1;node2:2,3 would tell the cluster to use port 1 for node1 and ports 2 and 3 for node2
pcmk_host_list: A list of machines controlled by this device (Optional unless pcmk_host_check=static-list).
pcmk_host_check: How to determine which machines are controlled by the device. Allowed values: dynamic-list (query
the device via the 'list' command), static-list (check the pcmk_host_list attribute), status (query
the device via the 'status' command), none (assume every device can fence every machine)
pcmk_delay_max: Enable a delay of no more than the time specified before executing fencing actions. Pacemaker
derives the overall delay by taking the value of pcmk_delay_base and adding a random delay value
such that the sum is kept below this maximum. This prevents double fencing when using slow devices
such as sbd. Use this to enable a random delay for fencing actions. The overall delay is derived
from this random delay value adding a static delay so that the sum is kept below the maximum delay.
pcmk_delay_base: Enable a base delay for fencing actions and specify base delay value. This prevents double fencing
when different delays are configured on the nodes. Use this to enable a static delay for fencing
actions. The overall delay is derived from a random delay value adding this static delay so that
the sum is kept below the maximum delay.
pcmk_action_limit: The maximum number of actions can be performed in parallel on this device Cluster property
concurrent-fencing=true needs to be configured first. Then use this to specify the maximum number
of actions can be performed in parallel on this device. -1 is unlimited.
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.