Pacemaker Application is a scalaable high availability cluster resource manager.
Pacemaker supports many deployment scenarios, from the simplest 2-node standby cluster to a 16-node active/active configuration. Pacemaker can also dramatically reduce hardware costs by allowing several active/passive clusters to be combined and share a common backup node.
Pacemaker monitors the system for both hardware and software failures. In the event of a failure, Pacemaker will automatically recover your application and make sure it is available from one of the remaning machines in the cluster.
After a failure, Pacemaker uses advanced algorithms to quickly determine the optimum locations for services based on relative node preferences and/or requirements to run with other cluster services (we call these “constraints”).
- Detection and recovery of machine and application-level failures
- Supports practically any redundancy configuration
- Supports both quorate and resource-driven clusters
- Configurable strategies for dealing with quorum loss (when multiple machines fail)
- Supports application startup/shutdown ordering, regardless machine(s) the applications are on
- Supports applications that must/must-not run on the same machine
- Supports applications which need to be active on multiple machines
- Supports applications with multiple modes (eg. master/slave)
- Provably correct response to any failure or cluster state.
The cluster’s response to any stimuli can be tested offline before the condition exists
Pacemaker has been around since 2004 and is primarily a collaborative effort between Red Hat and Novell, however we also receive considerable help and support from the folks at LinBit and the community in general.
The core Pacemaker team is made up of full-time developers from Australia, USA, Austria, Germany, and China. Contributions to the code or documentation are always welcome.
Pacemaker ships with most modern enterprise distributions and has been deployed in many critical environments including Deutsche Flugsicherung GmbH (DFS) which uses Pacemaker with Heartbeat to ensure its air traffic control systems are always available
Pacemaker’s internal configuration format is XML, which is great for machines but terrible for humans. The community’s best minds have created GUIs and Shells to hide the XML and allow the configuration to be viewed and updated in a more human friendly format.
Command Line Interfaces (Shells)
crmsh – The original configuration shell for Pacemaker. Written and maintained by SUSE, it may be used either as an interactive shell with tab completion, for single commands directly on the shell’s command line or as batch mode scripting tool.
hawk – Hawk is a web-based GUI for managing and monitoring Pacemaker HA clusters. It is generally intended to be run on every node in the cluster, so that you can just point your web browser at any node to access it. It is documented as part of the SUSE Linux Enterprise High Availability Extension documentation
LCMC – The Linux Cluster Management Console (LCMC) is a GUI with an inovative approach for representing the status of and relationships between cluster services. It uses SSH to let you install, configure and manage clusters from your desktop.
booth – The Booth cluster ticket manager extends Pacemaker to support geographically distributed clustering. It does this by managing the granting and revoking of ‘tickets’ which authorizes one of the cluster sites, potentially located in geographically dispersed locations, to run certain resources.