Posted on Leave a comment

Build a Highly Available cluster for Centos/Redhat with pacemaker

With the latest version of pcs package there are some changes regarding the implementation of a highly available cluster which is based on centos/redhat operating system. Currently the latest package available for pcs is the 0.10.4 as shown below on which cluster with pacemaker 2.x and corosync 3.x are supported.

pcs package version

Firstly authenticate the nodes of the cluster (changed from previous versions)

Create and enable cluster on both nodes

pcs cluster setup clustername centos-box1 centos-box2 --start --enable

Check cluster status after the creation and the online nodes.

Enable cluster on all nodes

Reboot one node to verify cluster functionality and check active nodes. When a node of cluster goes down, cluster is still online because of the second node.

Create a cluster resource of type IPaddr2 in order to support an application/service.

pcs resource create virtual_ip ocf:heartbeat:IPaddr2 ip=X.X.X.X cidr_netmask=24 op monitor interval=30s

Ping the IP to verify that it is online

Shutdown the node on which cluster resource IPaddr2 is running and verify that IP is still accessible. You can verify during the shutdown and the resource migration from one node to another that icmp package respond is a bit slower. (3ms instead of <1ms)

Verify that cluster resource cluster-ip is online on the second node.

Posted on Leave a comment

Corosync Cluster Engine exiting with status 8 – Failed to start

The below error can occur when one tries to create a new HA cluster with pcs package. Corosync fails to start with the below description.

Corosync error

The error can be resolved by editing /etc/hosts file and by commenting the first two lines for localhost. At the end I appended a new line that maps localhost with a specific IPv4 IP but this could be unnecessary.

After that when one tries to create and enable the cluster the result would be successful.

pcs cluster setup centos-cluster centos-box1 centos-box2 --start --enable