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 BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD lic ...
. 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 th ...
.


Features

The Corosync Cluster Engine is a group communication system with additional features for implementing
high availability High availability (HA) is a characteristic of a system which aims to ensure an agreed level of operational performance, usually uptime, for a higher than normal period. Modernization has resulted in an increased reliance on these systems. F ...
within applications. The project provides four C
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
features: * A closed process group communication model with
virtual synchrony A reliable multicast is any computer networking protocol that provides a '' reliable'' sequence of packets to multiple recipients simultaneously, making it suitable for applications such as multi-receiver file transfer. Overview Multicast is a net ...
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 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 e ...
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 In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages (transported as datagrams in packets) to other hosts on an Internet Protocol (IP) network. ...
and
InfiniBand InfiniBand (IB) is a computer networking communications standard used in high-performance computing that features very high throughput and very low latency. It is used for data interconnect both among and within computers. InfiniBand is also us ...
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 In computer science, shared memory is memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copies. Shared memory is an efficient means of passing data between progr ...
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 e ...
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, structu ...
such that the core infrastructure components were placed into Corosync and the
SA Forum The Service Availability Forum (SAF or SA Forum) is a consortium that develops, publishes, educates on and promotes open specifications for carrier-grade and mission-critical systems. Formed in 2001, it promotes development and deployment of co ...
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 Evo ...
*
Pacemaker (software) Pacemaker is an open-source high availability resource manager software used on computer cluster A computer cluster is a set of computers that work together so that they can be viewed as a single system. Unlike grid computers, computer ...


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