Pacemaker is an advanced, scalable High-Availability cluster resource manager
C Python Shell M4 Makefile XSLT Other
Latest commit eb4f139 Jul 25, 2016 @kgaillot kgaillot committed on GitHub Merge pull request #1101 from kgaillot/rhbz1290592
Order actions relative to unfencing only if on same node
Failed to load latest commit information.
attrd Merge pull request #1081 from jnpkrn/build-enable-hardenings Jun 23, 2016
cib Refactor: cib,pengine,libcib,libcrmcommon,tools: use "ends with" func… Jun 27, 2016
crmd Mid: crmd: Keep a state of LRMD in the DC node latest. Jul 24, 2016
cts Test: cts: update patterns for recent log message changes Jun 15, 2016
doc Doc: Pacemaker Explained: document target-attribute + target-value in… Jun 30, 2016
extra Low: ping: Log sensible error when /tmp is full (bsc#987348) Jul 1, 2016
fencing Merge pull request #1085 from gao-yan/fence_legacy-hostlist Jun 27, 2016
include Fix: pengine: avoid transition loop for start-then-stop + unfencing Jul 20, 2016
lib Fix: libcrmcommon: properly handle XML comments when comparing v2 pat… Jul 7, 2016
lrmd Build: lrmd doesn't need to be linked against liblrmd Jun 24, 2016
m4 Low: Core: Obtain md5sum functionality from gnulib May 16, 2012
mcp Feature: mcp: allow stopping Pacemaker without stopping CMAN in init … Jul 7, 2016
pengine Test: pengine: add regression test for start-then-stop + unfencing Jul 20, 2016
replace Build: Use a wrapper for realloc() which calls abort when we run out … Nov 20, 2014
tools Log: crm_mon: Avoid logging errors for any CIB changes that we don't … Jul 6, 2016
xml Merge pull request #1091 from jnpkrn/xml-score-attribute-mangled Jul 20, 2016
.gitattributes Maint: mark files not appropriate for automatic archive files Jul 1, 2016
.gitignore Build: switch Publican branding symlink trick to XML catalog one Apr 14, 2016
.travis.yml Build: travis: avoid implicit cast of 1.1 branch to float May 27, 2016
AUTHORS Low: doc: Update AUTHORS list Aug 10, 2012 Fix: test: allow pacemaker_remote regression tests to be run via Basi… Jan 7, 2016
COPYING Medium: Extra: Import the ccs2cib conversion tool for those coming fr… Sep 27, 2011
COPYING.LIB Low: Build: Include licensing files Jul 24, 2009
ChangeLog Fix typo: Ingor{e,ing} -> Ignor{e,ing} Jun 24, 2016 Fix: doc: enable doxygen comment blocks in source under lib Mar 31, 2015
GNUmakefile Build: make use of configure-evaluated, Makefile-stored version May 24, 2016 Build: files: drop extraneous variables + targets Jun 22, 2016
Makefile.common Build: Prefer built binaries when invoking help2man Sep 21, 2015
NEWS Switch to autotools Aug 10, 2011
README.markdown Doc: README: pcs authoritative repo changed almost a month ago Jul 1, 2016
TODO.markdown Doc: Update todo list Jul 23, 2013
abi-check Test: abi-check: Upload to the correct location Mar 7, 2013
acinclude.m4 Feature: conditional hardening, especially for daemons + libraries Jun 22, 2016 autotools: suppress portability warnings Dec 15, 2015 Build: Ensure we track libraries as they are added Jul 30, 2015 Build: prefer as-needed linking in case of "-z now" Jun 22, 2016 Build: Fix coverage builds Jun 21, 2013
p-indent Low: Build: Update indent settings Sep 2, 2011 Feature: conditional hardening, especially for daemons + libraries Jun 22, 2016
rpmlintrc Build: ignore rpmlint warnings about version numbering used by buildbot Feb 25, 2016
scratch.c Test: Reduce scratch.c to essentials Jan 30, 2013 Test: Travis: Handle coverity as a new compiler Feb 5, 2014
valgrind-pcmk.suppressions Fix typo: isnt -> isn't Jan 4, 2016
version.m4 Build: update version information for 1.1.15 Apr 22, 2016



What is Pacemaker?

Pacemaker is an advanced, scalable High-Availability cluster resource manager for Linux-HA (Heartbeat) and/or Corosync.

It supports "n-node" clusters with significant capabilities for managing resources and dependencies.

It will run scripts at initialization, when machines go up or down, when related resources fail and can be configured to periodically check resource health.

For more information look at:

User interfaces / shells

There are multiple user interfaces for Pacemaker, both command line tools, graphical user interfaces and web frontends. The crm shell used to be included in the Pacemaker source tree, but is now maintained as a separate project.

This is not meant to be an exhaustive list:

Build Dependencies

  • automake
  • autoconf
  • libtool-ltdl-devel
  • libuuid-devel
  • pkgconfig
  • python (or python-devel if that's preferred as a build dependency)
  • glib2-devel
  • libxml2-devel
  • libxslt-devel
  • bzip2-devel
  • gnutls-devel
  • pam-devel
  • libqb-devel

Cluster Stack Dependencies (Pick at least one)

  • clusterlib-devel (CMAN)
  • corosynclib-devel (Corosync)
  • heartbeat-devel (Heartbeat)

Optional Build Dependencies

  • ncurses-devel
  • openssl-devel
  • libselinux-devel
  • systemd-devel
  • dbus-devel
  • cluster-glue-libs-devel (LHA style fencing agents)
  • libesmtp-devel (Email alerts)
  • lm_sensors-devel (SNMP alerts)
  • net-snmp-devel (SNMP alerts)
  • asciidoc (documentation)
  • help2man (documentation)
  • publican (documentation)
  • inkscape (documentation)
  • docbook-style-xsl (documentation)

Optional testing dependencies

  • valgrind (if running CTS valgrind tests)
  • systemd-python (if using CTS on cluster nodes running systemd)
  • rsync (if running CTS container tests)
  • libvirt-daemon-driver-lxc (if running CTS container tests)
  • libvirt-daemon-lxc (if running CTS container tests)
  • libvirt-login-shell (if running CTS container tests)

Source Control (GIT)

git clone git://

See Github

Installing from source

$ ./
$ ./configure
$ make
$ sudo make install

How you can help

If you find this project useful, you may want to consider supporting its future development. There are a number of ways to support the project.

  • Test and report issues.
  • Tick something off our todo list.
  • Help others on the mailing list.
  • Contribute documentation, examples and test cases.
  • Contribute patches.
  • Spread the word.