Corosync (project)
   HOME

TheInfoList



OR:

The Corosync Cluster Engine is an
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
implementation of the Totem Single Ring Ordering and Membership protocol. It was originally derived from the OpenAIS project and licensed under the new BSD License. The mission of the Corosync effort is to develop, release, and support a community-defined, open source
cluster may refer to: Science and technology Astronomy * Cluster (spacecraft), constellation of four European Space Agency spacecraft * Asteroid cluster, a small asteroid family * Cluster II (spacecraft), a European Space Agency mission to study t ...
.


Features

The Corosync Cluster Engine is a group communication system with additional features for implementing high availability within applications. The project provides four C API features: * A closed process group communication model with virtual synchrony guarantees for creating replicated
state machine A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number o ...
s. * A simple availability manager that restarts the application process when it has failed. * A configuration and statistics in-memory database that provides the ability to set, retrieve, and receive change notifications of information. * A
quorum A quorum is the minimum number of members of a deliberative assembly (a body that uses parliamentary procedure, such as a legislature) necessary to conduct the business of that group. According to ''Robert's Rules of Order Newly Revised'', the ...
system that notifies applications when quorum is achieved or lost. The software is designed to operate on UDP/IP and InfiniBand networks.


Architecture

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 An in-memory database (IMDB, or main memory database system (MMDB) or memory resident database) is a database management system that primarily relies on main memory for computer data storage. It is contrasted with database management systems that ...
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 Apis or APIS may refer to: * Apis (deity), an ancient Egyptian god * Apis (Greek mythology), several different figures in Greek mythology * Apis (city), an ancient seaport town on the northern coast of Africa **Kom el-Hisn, a different Egyptian ci ...
: * cpg - Closed Process Group * sam - Simple Availability Manager * confdb - Configuration and Statistics database * quorum - Provides notifications of gain or loss of quorum


History

The project was formally announced in July 2008 via a conference paper at the
Ottawa Linux Symposium The Linux Symposium was a Linux and Open Source conference held annually in Canada from 1999 to 2014. The conference was initially named Ottawa Linux Symposium and was held only in Ottawa, but was renamed after being held in other cities in Canada ...
. The source code of OpenAIS was
refactored In computer programming and software design, code refactoring is the process of restructuring existing computer code—changing the '' factoring''—without changing its external behavior. Refactoring is intended to improve the design, structur ...
such that the core infrastructure components were placed into Corosync and the SA Forum APIs were kept in OpenAIS. In the second version of corosync, published in 2012, quorum subsystem was changed and integrated into the daemon. This version is available since Fedora 17 and RHEL7. Flatiron branch (1.4.x) development ended with 1.4.10 release. Needle branch was announced stable with 2.0.0 release on 10 April 2012. Development of this branch stopped with 2.4.6 release on 9 November 2022, because 3.x branch (Camelback) was considered to be stable after almost 4 years of work.


See also

*
Linux-HA The Linux-HA (High-Availability Linux) project provides a high-availability ( clustering) solution for Linux, FreeBSD, OpenBSD, Solaris and Mac OS X which promotes reliability, availability, and serviceability (RAS).Alan Robertson ''The Evolu ...
*
Pacemaker (software) Pacemaker is an open-source high availability resource manager software used on computer clusters since 2004. Until about 2007, it was part of the Linux-HA project, then was split out to be its own project. It implements several APIs for con ...


References


External links

* * * * {{cite journal , title = Extended Virtual Synchrony model , citeseerx = 10.1.1.55.8677
Corosync High Performance Shared Memory IPC Reusable C Library
Cluster computing Free software programmed in C Software using the BSD license