Generated by GPT-5-mini| Pacemaker (software) | |
|---|---|
![]() | |
| Name | Pacemaker |
| Developer | ClusterLabs; contributors: Red Hat, SUSE, Canonical, Ubuntu community |
| Released | 2006 |
| Operating system | Linux |
| Genre | High-availability cluster resource manager |
| License | GPL |
Pacemaker (software) is an open-source, high-availability cluster resource manager designed to coordinate services, resources, and failover across multiple nodes in a clustered environment. It integrates with cluster communication stacks such as Corosync and Heartbeat and is used by distributions and vendors including Red Hat Enterprise Linux, SUSE Linux Enterprise Server, and Debian. Pacemaker provides policy-driven resource placement, fencing coordination with STONITH, and extensive monitoring suitable for enterprise deployments and cloud platforms like OpenStack.
Pacemaker began as a project within the ClusterLabs community to replace earlier resource managers and has been adopted by vendors such as Red Hat, SUSE, and Canonical. It works atop cluster messaging systems including Corosync and previously Heartbeat to provide resource orchestration for services such as Apache, MySQL, PostgreSQL, NFS, and DRBD. Pacemaker implements widely used HA patterns such as fencing with STONITH devices, quorum management influenced by protocols from IEEE standards, and resource constraints similar to policies found in Linux Virtual Server and Kubernetes scheduling.
The architecture separates cluster messaging, membership, and quorum services (provided by Corosync or legacy Heartbeat) from the resource manager itself, which is Pacemaker. Core components include the Resource Agent framework using OCF scripts, the Policy Engine implementing constraints similar to those in DRBD and Pacemaker’s peers, and the Distributed Lock Manager concepts used in systems like GFS2. Pacemaker interacts with fencing subsystems via STONITH agents, integrates with service agents used by systemd, and provides cluster information via tools such as crmsh and GUIs from vendors like SUSE Manager and Red Hat Cluster Suite teams. Internal primitives borrow ideas from DLM research and quorum algorithms described by academics at institutions like Carnegie Mellon University and MIT.
Pacemaker supports resources types exemplified by OCF and LSB wrappers, allowing orchestration of applications such as PostgreSQL, MariaDB, MongoDB, and Redis. It offers constraint-based placement (colocation, order, and location constraints) with policy semantics similar to schedulers used by OpenStack Nova and Kubernetes, supports failover and migration patterns akin to those in VMware HA, and performs health checks with configurable monitoring intervals. Fencing integration uses STONITH agents compatible with hardware vendors like Dell EMC, Hewlett Packard Enterprise, and IBM power controllers; cluster quorum handling parallels algorithms from Paxos and Raft literature. Pacemaker’s history and feature roadmap have been influenced by contributions from companies such as Red Hat and research projects at University of New Hampshire.
Administration is performed via command-line tools like crmsh, pcs from Red Hat, and vendor GUIs such as SUSE Manager and Red Hat Satellite. Configuration files use XML-based formats and encapsulate constraints, resource definitions, and location policies similar in purpose to manifests in Puppet or playbooks in Ansible. Pacemaker integrates with init systems including systemd and legacy SysVinit scripts; resource agents follow the OCF Resource Agent conventions maintained by ClusterLabs. Operators commonly combine Pacemaker with orchestration tools such as Puppet, Ansible, and SaltStack for reproducible deployments and with monitoring stacks like Prometheus and Nagios for alerting.
Common use cases include active/passive clustering for databases such as MySQL and PostgreSQL, active/active configurations with DRBD block replication, and service redundancy for Apache and NFS exports. Pacemaker is deployed in enterprise environments including cloud providers using OpenStack, telecommunications platforms adhering to ETSI profiles, and critical infrastructure managed by vendors like Red Hat and SUSE. Operators use Pacemaker for on-premises high-availability, hybrid cloud failover strategies involving AWS and Microsoft Azure, and edge computing scenarios influenced by projects at Linux Foundation initiatives.
Development is coordinated by ClusterLabs with significant contributions from Red Hat, SUSE, and community maintainers. The codebase is written primarily in C and licensed under the GPL, with examples and resource agents distributed under compatible licenses maintained by projects such as OpenSUSE Build Service and Debian. The community engages through mailing lists, issue trackers on platforms historically used by GitHub and GitLab, and events including LinuxCon and FOSDEM. Commercial support and integration are available from vendors like Red Hat and SUSE and training is offered by third-party consultancies and organizations such as Linux Foundation training partnerships.
Category:High-availability clusters Category:Free software programmed in C