Adding a node increases capacity and resilience by expanding the set of hosts available for resource placement and failover in a Pacemaker cluster.
A Pacemaker cluster uses Corosync for membership and messaging, while pcs manages configuration distribution through pcsd using the hacluster account. Adding a node typically follows a simple sequence: verify the current cluster state, authenticate the new host, add it to the cluster configuration, then start and enable the cluster stack on that host.
Consistent node naming and network reachability are common causes of join failures. Confirm the new node resolves existing node names on the correct ring network, time synchronization is stable across members, and firewall rules allow pcsd and Corosync traffic. If fencing (STONITH) is enabled, ensure fencing devices include the new node before relying on it for production workloads.
Related: How to create a Pacemaker cluster
Steps to add a node to a Pacemaker cluster:
- Confirm the existing cluster is healthy with quorum from an existing cluster node.
$ sudo pcs status Cluster name: clustername Cluster Summary: * Stack: corosync (Pacemaker is running) * Current DC: node-01 (version 2.1.6-6fdc9deea29) - partition with quorum * Last updated: Wed Dec 31 11:29:19 2025 on node-01 * Last change: Wed Dec 31 11:27:17 2025 by hacluster via crmd on node-01 * 3 nodes configured * 7 resource instances configured Node List: * Online: [ node-01 node-02 node-03 ] ##### snipped #####
Use the exact node name format shown under Node List for all subsequent pcs commands.
- Confirm all cluster node names resolve on the new node.
$ getent hosts node-01 node-02 node-03 node-04 192.0.2.11 node-01.example.net node-01 192.0.2.12 node-02.example.net node-02 192.0.2.13 node-03.example.net node-03 192.0.2.14 node-04.example.net node-04
Name resolution must return the same addresses used for the Corosync ring network.
- Install pacemaker, corosync, and pcs on the new node.
Match package versions with existing cluster nodes to avoid protocol and feature mismatches.
- Set the hacluster password on the new node.
$ sudo sh -c "echo 'hacluster:ClusterPass123!' | chpasswd"
The password is used by pcsd during pcs host auth.
- Authenticate the new node from an existing cluster node.
$ sudo pcs host auth node-04 -u hacluster -p 'ClusterPass123!' node-04: Authorized
Blocked TCP access to pcsd (commonly port 2224) or a stopped pcsd service prevents authorization.
- Add the node to the cluster configuration.
$ sudo pcs cluster node add node-04 No addresses specified for host 'node-04', using 'node-04' Disabling sbd... node-04: sbd disabled Sending 'corosync authkey', 'pacemaker authkey' to 'node-04' node-04: successful distribution of the file 'corosync authkey' node-04: successful distribution of the file 'pacemaker authkey' Sending updated corosync.conf to nodes... node-04: Succeeded node-02: Succeeded node-01: Succeeded node-03: Succeeded node-02: Corosync configuration reloaded
Cluster membership changes can trigger resource movement, constraint re-evaluation, or fencing checks; schedule the change when disruptions are acceptable.
- Start cluster services on the new node.
$ sudo pcs cluster start node-04 node-04: Starting Cluster...
- Enable cluster services on boot for the new node.
$ sudo pcs cluster enable node-04 node-04: Cluster Enabled
- Confirm the node appears in cluster status.
$ sudo pcs status Online: [ node-01 node-02 node-03 node-04 ]
Mohd Shakir Zakaria is a cloud architect with deep roots in software development and open-source advocacy. Certified in AWS, Red Hat, VMware, ITIL, and Linux, he specializes in designing and managing robust cloud and on-premises infrastructures.
