Ubuntu HA - Corosync

A definition of Corosync from Wikipedia:

The Corosync Cluster Engine is a group communication system with additional features for implementing high availability within applications.

The software is composed of an executive binary which uses a client-server communication model between libraries and service engines. Loadable modules, called service engines, are loaded into the Corosync Cluster Engine and use the services provided by the Corosync Service Engine internal API.

The services provided by the Corosync Service Engine internal API are:

  • An implementation of the Totem Single Ring Ordering and Membership protocol providing the Extended Virtual Synchrony model for messaging and membership.

  • The coroipc high performance shared memory IPC system.

  • An object database that implements the in memory database model.

  • Systems to route IPC and Totem messages to the correct service engines.

Additionally Corosync provides several default service engines that are used via C APIs:

  • cpg - Closed Process Group
  • sam - Simple Availability Manager
  • confdb - Configuration and Statistics database
  • quorum - Provides notifications of gain or loss of quorum