Can SBD fencing be used only for some of the nodes within same cluster?

Solution Verified - Updated

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.

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.
SBR
Components
Category
Tags

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.