Setting Up High Availability Oracle Linux Clustering Using Pacemaker and Corosync


In this blog post, we will discuss setting up and configure the Pacemaker and Corosync technologies to create a high availability (HA) Oracle Linux cluster that delivers continuous access to services that are running across multiple nodes. High availability services in Oracle Linux are comprised of several open-source packages, including the Corosync and Pacemaker features. These tools enable you to achieve high availability for applications and services that are running on Oracle Linux. You can download Corosync, Pacemaker, and the functional sub-packages from the Unbreakable Linux Network (ULN) at or the Oracle Linux yum server at

Corosync is an open source cluster engine that includes an API to implement a number of high availability features, including an availability manager that can restart a process when it fails, a configuration and statistics database, and a quorum system that can notify applications when quorum is achieved or lost.Corosync is installed in conjunction with Pacemaker, which is an open source high availability cluster resource manager that is responsible for managing the life cycle of software that is deployed on a cluster. Pacemaker also provides high availability services, which are achieved by detecting and recovering from node and resource-level failures by using the API that is provided by the cluster engine.

Pacemaker also ships with the Pacemaker Command Shell (pcs). You can use the pcs command to access and configure the cluster and its resources. The pcs daemon runs as a service on each node in the cluster, making it possible to synchronize configuration changes across all of the nodes in the cluster.

Let’s start the installing and configuring Pacemaker and Corosync.
The Pacemaker and Corosync packages are available on the Oracle Linux yum server in the ol8_addons repository, or on the Unbreakable Linux Network (ULN) in the ol8_arch_addons channel. ome dependency packages may be required from the ol8_appstream and ol8_baseos_latest yum repositories, or from the ol8_arch_appstream and ol8_arch_baseos_latest channels on ULN.

Enabling Repositories With ULN

To subscribe to the ULN channels:

  • Log in to with your ULN user name and password.
  • On the Systems tab, click the link named for the system in the list of registered machines.
  • On the System Details page, click Manage Subscriptions.
  • On the System Summary page, select each required channel from the list of available channels and click the right arrow to move the channel to the list of subscribed channels. Subscribe the system to the following channels:ol8_arch_appstream,ol8_arch_baseos_latest, ol8_arch_addons

Enabling Repositories With the Oracle Linux Yum Server

To enable the yum repositories:
Enable the following yum repositories: ol8_appstream, ol8_baseos_latest, ol8_addons
Use the dnf config-manager tool to enable the yum repositories:

sudo dnf config-manager –enable ol8_appstream ol8_baseos_latest ol8_addons

On each node in the cluster, install the pcs and pacemaker software packages, along with all of the available resource and fence agents from the Oracle Linux yum server or from ULN, for example:

sudo dnf install pcs pacemaker resource-agents fence-agents-all

If you are running firewalld, add the high-availability service on each of the nodes so that the service components are able to communicate across the network. Per the command that is run in the following example, this step typically enables the following ports: TCP port 2224 (used by the pcs daemon), port 3121 (for Pacemaker Remote nodes), port 21064 (for DLM resources), and UDP ports 5405 (for Corosync clustering), and 5404 (for Corosync multicast, if configured):

sudo firewall-cmd –permanent –add-service=high-availability
sudo firewall-cmd –add-service=high-availability

To use the pcs command to configure and manage your cluster, you must set a password on each node for the hacluster user.

sudo passwd hacluster

Note that to use the pcs command, the pcsd service must be running on each of the nodes in the cluster. You can set this service to run and to start at boot by running the following command:

sudo systemctl enable –now pcsd.service

We installed the necessary packages and will continue to write about the configuring an initial Cluster and Service on next blog post.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s