PACEMAKER-CONTROLD(7)

πŸ’– PACEMAKER-CONTROLD πŸ’–

okay bestie, so this is the pacemaker-controld(7) page β€” the manual for the Pacemaker controller, from the Pacemaker Configuration section. yes, (7) means it's a "miscellaneous" page, and yes, it's giving ✨very specific✨. let's get into it, i'll walk you through every single option, no skipping, promise 🫢


✨ SYNOPSIS ✨

bestie, here's the whole lineup in one shot, exactly as written:

[dc-version=string] [cluster-infrastructure=string]
[cluster-name=string] [dc-deadtime=time] [cluster-recheck-interval=time]
[election-timeout=time] [shutdown-escalation=time]
[join-integration-timeout=time] [join-finalization-timeout=time]
[transition-delay=time] [fencing-reaction=select]
[fence-reaction=select] [fencing-watchdog-timeout=time]
[stonith-watchdog-timeout=time] [fencing-max-attempts=integer]
[stonith-max-attempts=integer] [load-threshold=percentage]
[node-action-limit=integer]

like, look at all of those brackets πŸ’… every one is optional, every one is a little vibe you can set.


🌸 DESCRIPTION 🌸

literally what it says on the tin: these are the cluster options used by Pacemaker's controller. that's the whole description ngl, so let's go straight to the good part πŸ“


πŸ‘‘ SUPPORTED PARAMETERS πŸ‘‘

πŸ¦‹ dc-version = string

Pacemaker version on cluster node elected Designated Controller (DC)

so this one includes a hash that identifies the exact revision the code was built from. it's used for diagnostic purposes β€” think of it as the cluster's little name-tag at the party πŸŽ€ it's for looking, not for touching.

πŸ¦‹ cluster-infrastructure = string

The messaging layer on which Pacemaker is currently running

used for informational and diagnostic purposes. that's it, that's the whole job 🌈

πŸ¦‹ cluster-name = string

An arbitrary name for the cluster

this one is optional, and it's mostly for users' convenience β€” like, whatever you want in administration. but bestie, it's also lowkey useful elsewhere: it may be used in Pacemaker configuration rules via the #cluster-name node attribute, and by higher-level tools and resource agents. so it's not just a cute label πŸ‘€

πŸ¦‹ dc-deadtime = time [20s]

How long to wait for a response from other nodes during start-up

the optimal value here will depend on the speed and load of your network and the type of switches used β€” so no, there's no universal slay value, you gotta read your own room πŸ’€

πŸ¦‹ cluster-recheck-interval = time [15min]

Polling interval to recheck cluster state and evaluate rules with date specifications

okay so Pacemaker is primarily event-driven (main character energy β€” it reacts, it doesn't just wait around ⭐). it looks ahead to know when to recheck cluster state for failure-timeout settings and most time-based rules. however, it will also recheck the cluster after this amount of inactivity, to evaluate rules with date specifications and serve as a fail-safe for certain types of scheduler bugs. a value of 0 disables polling. a positive value sets an interval in seconds, unless other units are specified (for example, "5min"). so flexible, we love that πŸ’…

πŸ¦‹ election-timeout = time [2min]

* Advanced Use Only *

Declare an election failed if it is not decided within this much time. bestie, if you need to adjust this value, it probably indicates the presence of a bug 😭 like, don't touch unless you know something's up.

πŸ¦‹ shutdown-escalation = time [20min]

* Advanced Use Only *

Exit immediately if shutdown does not complete within this much time. same deal β€” if you need to adjust this value, it probably indicates the presence of a bug 🫠

πŸ¦‹ join-integration-timeout = time [3min]

* Advanced Use Only *

the original is straight up just this: if you need to adjust this value, it probably indicates the presence of a bug. that's the whole thing. iconic minimalism πŸ’€

πŸ¦‹ join-finalization-timeout = time [30min]

* Advanced Use Only *

same energy, and i quote: if you need to adjust this value, it probably indicates the presence of a bug πŸ™ˆ

πŸ¦‹ transition-delay = time [0s]

* Advanced Use Only * Enabling this option will slow down cluster recovery under all conditions

delay cluster recovery for this much time to allow for additional events to occur. it's useful if your configuration is sensitive to the order in which ping updates arrive. but like β€” under all conditions β€” the warning is not playing, bestie ⚠️

πŸ¦‹ fencing-reaction = select [stop]

How a cluster node should react if notified of its own fencing

so a cluster node may receive notification of a "succeeded" fencing that targeted it β€” that can happen if fencing is misconfigured, or if fabric fencing is in use that doesn't cut cluster communication. your choices:

  • use "stop" to attempt to immediately stop Pacemaker and stay stopped
  • use "panic" to attempt to immediately reboot the local node, falling back to stop on failure

Allowed values: stop, panic. pick your fighter πŸ₯Š

πŸ¦‹ fence-reaction = select [stop]

* Deprecated * * Replaced with fencing-reaction *

deprecated alias for fencing-reaction. Allowed values: stop, panic. it's giving "i'm still here but respectfully retired" πŸŽ€

πŸ¦‹ fencing-watchdog-timeout = time [0]

How long before nodes can be assumed to be safely down when watchdog-based self-fencing via SBD is in use

okay this is the big one, so let me lay it out 🌸

if this is set to a positive value, lost nodes are assumed to achieve self-fencing using watchdog-based SBD within this much time. this does not require a fencing resource to be explicitly configured, though a fence_watchdog resource can be configured, to limit use to specific nodes.

if this is set to 0 (the default), the cluster will never assume watchdog-based self-fencing.

if this is set to a negative value, the cluster will use twice the local value of the SBD_WATCHDOG_TIMEOUT environment variable if that is positive, or otherwise treat this as 0.

WARNING: When used, this timeout must be larger than SBD_WATCHDOG_TIMEOUT on all nodes that use watchdog-based SBD, and Pacemaker will refuse to start on any of those nodes where this is not true for the local value or SBD is not active. When this is set to a negative value, SBD_WATCHDOG_TIMEOUT must be set to the same value on all nodes that use SBD, otherwise data corruption or loss could occur.

bestie i cannot stress this enough β€” data corruption or loss 😭 read that warning twice, fr fr.

πŸ¦‹ stonith-watchdog-timeout = time [0]

* Deprecated * * Replaced with fencing-watchdog-timeout *

deprecated alias for fencing-watchdog-timeout. that's it πŸ’œ

πŸ¦‹ fencing-max-attempts = integer [10]

How many times fencing can fail before it will no longer be immediately re-attempted on a target

so after this many fails, the cluster stops immediately re-attempting on that target. ten strikes and you're out, basically πŸ“

πŸ¦‹ stonith-max-attempts = integer [10]

* Deprecated * * Replaced with fencing-max-attempts *

deprecated alias for fencing-max-attempts. respectfully, use the new one 🫢

πŸ¦‹ load-threshold = percentage [80%]

Maximum amount of system load that should be used by cluster nodes

the cluster will slow down its recovery process when the amount of system resources used (currently CPU) approaches this limit. so it's a lil speed bump so nobody overheats πŸ”₯

πŸ¦‹ node-action-limit = integer [0]

Maximum number of jobs that can be scheduled per node (defaults to 2x cores)

so the actual default is 2x cores, even though the listed default is 0. that's the vibe, that's what it says ⭐


πŸ’œ AUTHOR πŸ’œ

Andrew Beekhof <andrew@beekhof.net> β€” Author.

like, thank you for your service sir πŸ«‘πŸ‘‘


and that's the whole page bestie, every single option, no cap 🧚✨ this was Pacemaker Configuration, dated 09/17/2026 β€” page PACEMAKER-CONTROLD(7), signing off πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from