4.4. Managing Cluster Nodes
The following sections describe the commands you use to manage cluster nodes, including commands to start and stop cluster services and to add and remove cluster nodes.
4.4.1. Stopping Cluster Services
The following command stops cluster services on the specified node or nodes. As with the
pcs cluster start
, the --all
option stops cluster services on all nodes and if you do not specify any nodes, cluster services are stopped on the local node only.
pcs cluster stop [--all] [node] [...]
You can force a stop of cluster services on the local node with the following command, which performs a
kill -9
command.
pcs cluster kill
4.4.2. Enabling and Disabling Cluster Services
Use the following command to configure the cluster services to run on startup on the specified node or nodes.
- If you specify the
--all
option, the command enables cluster services on all nodes. - If you do not specify any nodes, cluster services are enabled on the local node only.
pcs cluster enable [--all] [node] [...]
Use the following command to configure the cluster services not to run on startup on the specified node or nodes.
- If you specify the
--all
option, the command disables cluster services on all nodes. - If you do not specify any nodes, cluster services are disabled on the local node only.
pcs cluster disable [--all] [node] [...]
4.4.3. Adding Cluster Nodes
Note
It is highly recommended that you add nodes to existing clusters only during a production maintenance window. This allows you to perform appropriate resource and deployment testing for the new node and its fencing configuration.
Use the following procedure to add a new node to an existing cluster. In this example, the existing cluster nodes are
clusternode-01.example.com
, clusternode-02.example.com
, and clusternode-03.example.com
. The new node is newnode.example.com
.
On the new node to add to the cluster, perform the following tasks.
- Install the cluster packages. If the cluster uses SBD, the Booth ticket manager, or a quorum device, you must manually install the respective packages (
sbd
,booth-site
,corosync-qdevice
) on the new node as well.[root@newnode ~]#
yum install -y pcs fence-agents-all
- If you are running the
firewalld
daemon, execute the following commands to enable the ports that are required by the Red Hat High Availability Add-On.#
firewall-cmd --permanent --add-service=high-availability
#firewall-cmd --add-service=high-availability
- Set a password for the user ID
hacluster
. It is recommended that you use the same password for each node in the cluster.[root@newnode ~]#
passwd hacluster
Changing password for user hacluster. New password: Retype new password: passwd: all authentication tokens updated successfully. - Execute the following commands to start the
pcsd
service and to enablepcsd
at system start.#
systemctl start pcsd.service
#systemctl enable pcsd.service
On a node in the existing cluster, perform the following tasks.
- Authenticate user
hacluster
on the new cluster node.[root@clusternode-01 ~]#
pcs cluster auth newnode.example.com
Username: hacluster Password: newnode.example.com: Authorized - Add the new node to the existing cluster. This command also syncs the cluster configuration file
corosync.conf
to all nodes in the cluster, including the new node you are adding.[root@clusternode-01 ~]#
pcs cluster node add newnode.example.com
On the new node to add to the cluster, perform the following tasks.
- Start and enable cluster services on the new node.
[root@newnode ~]#
pcs cluster start
Starting Cluster... [root@newnode ~]#pcs cluster enable
- Ensure that you configure and test a fencing device for the new cluster node. For information on configuring fencing devices, see Chapter 5, Fencing: Configuring STONITH.
4.4.4. Removing Cluster Nodes
The following command shuts down the specified node and removes it from the cluster configuration file,
corosync.conf
, on all of the other nodes in the cluster. For information on removing all information about the cluster from the cluster nodes entirely, thereby destroying the cluster permanently, see Section 4.6, “Removing the Cluster Configuration”.
pcs cluster node remove node
4.4.5. Standby Mode
The following command puts the specified node into standby mode. The specified node is no longer able to host resources. Any resources currently active on the node will be moved to another node. If you specify the
--all
, this command puts all nodes into standby mode.
You can use this command when updating a resource's packages. You can also use this command when testing a configuration, to simulate recovery without actually shutting down a node.
pcs cluster standby node | --all
The following command removes the specified node from standby mode. After running this command, the specified node is then able to host resources. If you specify the
--all
, this command removes all nodes from standby mode.
pcs cluster unstandby node | --all
Note that when you execute the
pcs cluster standby
command, this prevents resources from running on the indicated node. When you execute the pcs cluster unstandby
command, this allows resources to run on the indicated node. This does not necessarily move the resources back to the indicated node; where the resources can run at that point depends on how you have configured your resources initially. For information on resource constraints, see Chapter 7, Resource Constraints.