corosync/corosync logo

corosync/corosync

Free

The Corosync Cluster Engine

FreeFree tier
Type
Open Source

About corosync/corosync

The Corosync Cluster Engine is an open-source high-availability cluster infrastructure used to synchronize state across nodes in a cluster. It provides a robust synchronization algorithm that handles network partitions and merges via four service handler events: init, process, abort, and activate. Additionally, it includes a checkpoint synchronization algorithm to synchronize checkpoints and maintain cluster-wide reference counts. Corosync is widely deployed in Linux HA stacks (e.g., with Pacemaker) for building reliable distributed systems.

Key Features

Synchronization algorithm with four events: init, process, abort, and activate for handling network partitions and merges
Checkpoint synchronization algorithm to synchronize checkpoints and rebuild reference counts after partition or merge
Service handler data structure supporting custom service registration
Reference count management for checkpoint lifecycle
Designed for high-availability clustering and distributed state synchronization

Pros & Cons

Pros
  • Free and open-source under a permissive license
  • Proven, stable infrastructure used in many production HA clusters
  • Well-defined synchronization algorithm for consistent state recovery
  • Extensible via service handler registration
Cons
  • Limited documentation and user community outside of Linux HA
  • Complex configuration and low-level operation requires deep clustering knowledge
  • Primarily focused on synchronization, not a full cluster management solution

Best For

High-availability cluster management across multiple nodesState synchronization after network partitions or mergesBuilding reliable distributed systems with failover supportIntegration with cluster resource managers like Pacemaker

FAQ

How does Corosync synchronize state after a network partition or merge?
Corosync uses a synchronization algorithm with four events: init (record temporary state), process (execute synchronization with ability to interrupt and resume), abort (handle processor failure during sync), and activate (finalize when all nodes complete processing).
What is checkpoint synchronization in Corosync?
The checkpoint synchronization algorithm synchronizes checkpoints after a partition or merge, and determines the cluster-wide reference count for each checkpoint to decide when a checkpoint can be released.