- Versions and compatibility
- Install from binary packages
- RHEL and compatible distros (AlmaLinux, CentOS, Scientific Linux, etc.)
- Debian and compatible distros (Ubuntu, etc.)
- Install from source
- Install additional software
- Set up a cluster
The release calendar lists actively developed versions of Pacemaker. If you already have Pacemaker installed, please see "Upgrading a Pacemaker Cluster" in the Pacemaker Administration document before proceeding.
Most Linux distributions do a good job of providing up-to-date binary packages for ClusterLabs components. In general you can just search for "pacemaker" and "corosync" and install the relevant packages. Also look for pcs or crm shell if you want a higher-level administration interface.
Our quickstart guides have more detailed instructions for particular distribution versions, but unfortunately they're rather out of date at this point. Below are commands for commonly used distributions.
dnf install -y corosync pacemaker pcs
yum install -y corosync pacemaker pcs
Pacemaker has been available for Red Hat Enterprise Linux (RHEL) since version 6.0 as part of the High Availability Add-On. Users who purchase the add-on get the full value of a Red Hat subscription, including support, certifications, training, RHEL-specific documentation, and so on.
Users who are willing to forego that level of support can install from RHEL install media, RHEL SRPMs, or a compatible distro.
zypper install corosync pacemaker
apt-get install corosync pacemaker
aptitude install corosync pacemaker
See the Debian-HA wiki for more information.
If packages are unavailable for your platform, or you just want to build the cluster software yourself, source code is available.
Create a user account and group account to run Pacemaker daemons as. The group account may also be used to give regular users the ability to modify the Pacemaker configuration via access control lists (ACLs).
Here, we will refer to these as $DAEMON_USER and $DAEMON_GROUP. The defaults are hacluster and haclient. If you want something different, you will need to pass the --with-daemon-user and --with-daemon-group options to Pacemaker's configure script.
The exact commands vary by platform, but to use a common example:
getent group $DAEMON_GROUP >/dev/null || groupadd -r $DAEMON_GROUP getent passwd $DAEMON_USER >/dev/null || useradd -r -g $DAEMON_GROUP -s /sbin/nologin -c "Cluster daemon user" $DAEMON_USER
You will need a typical development environment with a C compiler (gcc and clang are regularly tested) and git.
Use your platform's native installer to find and install the dependencies listed in Pacemaker's INSTALL document (aside from LibQB and Corosync, which will be described below). Of course, you could install these from source if you prefer.
Follow the instructions below for each of the projects listed below, in order:
- Change to wherever you want to put the source (such as /usr/local/src)
- Download the source by running the following, replacing $SOURCE_REPOSITORY with the appropriate URL from the above table: git clone $SOURCE_REPOSITORY
- Change to the directory where you just cloned the source
- Prepare the build environment by running ./autogen.sh
- If there are problems, you may not have all the autotools components properly installed.
- If you want to see the default installation locations or the options to change them, run ./configure --help.
- Do build-time configuration, adding options as desired, by running ./configure
- Build by running make
- Install by running sudo make install
You will almost certainly need to install the resource-agents and fence-agents projects to have a usable cluster. You will likely want a higher-level administration interface such as crm shell or pcs as well.
See the full list of projects at ClusterLabs on GitHub and follow the instructions provided with desired ones.
Once Pacemaker is installed, the next step is to configure your cluster stack. See the Pacemaker documentation set.