Exploring Components of RHEL High Availability Clusters - pacemaker Daemons

Updated

Contents

Overview

Applicable Environments

  • Red Hat Enterprise Linux (RHEL) 7, 8 and 9 with the High Availability Add-On

Useful References and Guides

pacemaker Daemons

The below notation is used to list how the daemon name changes between RHEL 7 ( pacemaker version 1 ) and RHEL 8+ ( pacemaker version 2 ). Although the name does change the service the component provides is the same:

RHEL 7 daemon ( RHEL 8+ daemon)


pacemakerd: The main control process which sets up the environment, initializes inter-process communication mechanisms for the various daemons to communicate with each other over, and starts the other daemons. pacemakerd also monitors for daemons that crash or exit unexpectedly and takes appropriate action - such as respawning that daemon, or shutting the cluster down on this node if there is a fatal error.


crmd ( pacemaker-controld ): The Cluster Resource Management Daemon. It coordinates cluster activity, asking the other daemons to perform specific actions. The cluster elects one node as a "designated coordinator" (DC), and that node's crmd serves as a coordinating agent for various tasks throughout the cluster. crmd on the DC interacts with pengine to determine how to go from the current state to a targeted state - feeding the resulting instructions to the appropriate node's crmd, which then instructs lrmd or stonith-ng what actions to execute.


lrmd ( pacemaker-execd ): The Local Resource Management Daemon. This daemon executes resource agents to carry out operations. It is initially instructed how and when to do so by the crmd, and it reports results back through the cib as operations complete.


pengine: The Policy Engine, which determines what steps need to be carried out in response to events or states in the cluster. pengine acts as a state machine for the cluster, accepting inputs and states and calculating "transitions" - sets of instructions that would take the cluster from where it is now to the desired target state. pengine consumes information from the cib about events that occur and the configuration of resources or the cluster to provide its calculations, and crmd consumes the transition instructions generated.


cib ( pacemaker-based ): The Cluster Information Base, which maintains the cluster configuration and state. The configuration itself is represented in XML, and the cib daemon accepts queries from other daemons or its API to produce information about the cluster's configuration.


attrd ( pacemaker-attrd ): attrd is the attribute daemon which maintains node attributes. Node attributes are variables that track a variety of conditions related to nodes - they can be used by the pacemaker daemons to make decisions, can be used by resource agents to track states or conditions, and can also be used as a basis for deciding placement of resources via constraints.


stonith-ng ( pacemaker-fenced ): stonith-ng is the STONITH daemon (STONITH "next generation"). It interacts with stonith devices to carry out fence actions as they are needed by the cluster. It may have to probe devices in order to determine how fence actions should be carried out, and tracks actions as they progress through the topology of configured devices for a given target node.


SBR
Components
Article Type