|
@@ -32,19 +32,13 @@
|
|
|
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
|
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
|
|
.\" * THE POSSIBILITY OF SUCH DAMAGE.
|
|
.\" * THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
.\" */
|
|
.\" */
|
|
|
-.TH COROSYNC_OVERVIEW 8 2006-05-10 "corosync Man Page" "Corosync Cluster Engine Programmer's Manual"
|
|
|
|
|
|
|
+.TH COROSYNC_OVERVIEW 8 2012-02-13 "corosync Man Page" "Corosync Cluster Engine Programmer's Manual"
|
|
|
.SH NAME
|
|
.SH NAME
|
|
|
corosync_overview \- Corosync overview
|
|
corosync_overview \- Corosync overview
|
|
|
.SH OVERVIEW
|
|
.SH OVERVIEW
|
|
|
-The corosync project is a project to implement a production quality "Revised BSD"
|
|
|
|
|
-licensed implementation of the most recent SA Forum's Application Interface
|
|
|
|
|
-Specification. The Application Interface Specification is a software API and
|
|
|
|
|
-policies which are used to develop applications that maintain service during
|
|
|
|
|
-faults. The API consists of Availability Management Framework (AMF) which
|
|
|
|
|
-provides application failover, Cluster Membership (CLM), Checkpointing (CKPT),
|
|
|
|
|
-Eventing (EVT), Messaging (MSG), and Distributed Locking (DLOCK).
|
|
|
|
|
-
|
|
|
|
|
-Currently Messaging is unimplemented.
|
|
|
|
|
|
|
+The corosync project's purpose is to implement and support a production quality
|
|
|
|
|
+Revised BSD licensed implementation of a high performance low overhead high
|
|
|
|
|
+availability development toolkit.
|
|
|
|
|
|
|
|
Faults occur for various reasons:
|
|
Faults occur for various reasons:
|
|
|
.PP
|
|
.PP
|
|
@@ -58,33 +52,18 @@ Faults occur for various reasons:
|
|
|
|
|
|
|
|
The major focus of high availability in the past has been to mask hardware
|
|
The major focus of high availability in the past has been to mask hardware
|
|
|
faults. Faults in other components of the system have gone unsolved until
|
|
faults. Faults in other components of the system have gone unsolved until
|
|
|
-AIS. AIS can mask many types of faults in applications, middleware,
|
|
|
|
|
-operating systems, or even hardware by providing a simple framework
|
|
|
|
|
-for allowing developers to create redundant applications. These redundant
|
|
|
|
|
-applications can be distributed over multiple nodes such that if any one
|
|
|
|
|
-node faults, another node can recover.
|
|
|
|
|
-
|
|
|
|
|
-Application programmers develop applications to periodically record their
|
|
|
|
|
-state using the checkpointing service. When an active application fails,
|
|
|
|
|
-a standby application recovers the state of the application. This
|
|
|
|
|
-technique, called stateful application failover, provides the fundamental
|
|
|
|
|
-difference between corosync and other systems that have come before it.
|
|
|
|
|
-With stateful application failover, the end-application user doesn't
|
|
|
|
|
-have to reload the application or redial a telephone. The full state
|
|
|
|
|
-is recorded, so the end-application user sees no interruption in service.
|
|
|
|
|
-
|
|
|
|
|
-Because programmers can now distribute applications across multiple
|
|
|
|
|
-processes or nodes, a mechanism must exist for them to communicate.
|
|
|
|
|
-This mechanism is provided by two services. The event service provides
|
|
|
|
|
-a publish/subscribe model for events. The messaging service provides
|
|
|
|
|
-end to end messaging. Finally a mechanism to synchronize access is
|
|
|
|
|
-provided by the distributed lock service.
|
|
|
|
|
-
|
|
|
|
|
-The corosync project also provides a group messaging toolkit called EVS.
|
|
|
|
|
-The EVS service implements a messaging model known as Extended Virtual
|
|
|
|
|
-Synchrony. This model allows one sender to transmit to many receivers.
|
|
|
|
|
-Certain guarantees are provided for message and membership delivery
|
|
|
|
|
-which make virtual synchrony ideal for developing distributed applications.
|
|
|
|
|
|
|
+Corosync. Corosync is designed for applications to replicate their state to
|
|
|
|
|
+up to 16 processors. The processors all contain a replica of the application
|
|
|
|
|
+state.
|
|
|
|
|
+
|
|
|
|
|
+The corosync project provides two group message APIs called CPG and EVS.
|
|
|
|
|
+The project developers recommend CPG be used for most applications. The CPG
|
|
|
|
|
+service implmeents a closed group messaging model presenting extended virtual
|
|
|
|
|
+synchrony guarantees.
|
|
|
|
|
+
|
|
|
|
|
+To manage conditions where the process executing the CPG application exchange
|
|
|
|
|
+fails, we provide the Simple Availability Manager (sam) to provide simple
|
|
|
|
|
+application restart.
|
|
|
|
|
|
|
|
.SH QUICKSTART
|
|
.SH QUICKSTART
|
|
|
The corosync executive must be configured. In the directory conf in the
|
|
The corosync executive must be configured. In the directory conf in the
|
|
@@ -130,44 +109,13 @@ Finally run the corosync executive. If corosync is packaged from a distro, it
|
|
|
may be set to start on system start. It may also be turned off by default in
|
|
may be set to start on system start. It may also be turned off by default in
|
|
|
which case the init script for corosync must be enabled.
|
|
which case the init script for corosync must be enabled.
|
|
|
|
|
|
|
|
-After running aisexec, a list of all processors IP addresses running the corosync
|
|
|
|
|
-executive and configured on the same multicast address will appear. If they
|
|
|
|
|
-don't appear, there may be a problem with multicast in the distro or hardware.
|
|
|
|
|
-If this happens, participation in the corosync mailing list may help solve the
|
|
|
|
|
-problem. The email address is openais@lists.osdl.org.
|
|
|
|
|
-
|
|
|
|
|
.SH USING LIBRARIES
|
|
.SH USING LIBRARIES
|
|
|
-The corosync AIS libraries have header files which must be included in the
|
|
|
|
|
|
|
+The corosync libraries have header files which must be included in the
|
|
|
developer's application. Once the header file is included, the developer can
|
|
developer's application. Once the header file is included, the developer can
|
|
|
-reference the AIS interfaces.
|
|
|
|
|
|
|
+reference the corosync interfaces.
|
|
|
|
|
|
|
|
The corosync project recommends to distros to place include files in
|
|
The corosync project recommends to distros to place include files in
|
|
|
-/usr/include/corosync. The following include lines must be added to
|
|
|
|
|
-the application to use each of the following services:
|
|
|
|
|
-
|
|
|
|
|
-#include <corosync/saClm.h> For the Cluster Membership B.01.01 service.
|
|
|
|
|
-.PP
|
|
|
|
|
-#include <corosync/saCkpt.h> For the Checkpointing B.01.01 service.
|
|
|
|
|
-.PP
|
|
|
|
|
-#include <corosync/saEvt.h> For the Eventing B.01.01 service.
|
|
|
|
|
-.PP
|
|
|
|
|
-#include <corosync/ais_amf.h> For the AMF A.01.01 service.
|
|
|
|
|
-.PP
|
|
|
|
|
-
|
|
|
|
|
-The corosync project recommends to distros to place library files in
|
|
|
|
|
-/usr/lib. The following link lines must be added to the LDFLAGS section
|
|
|
|
|
-of the makefile.
|
|
|
|
|
-
|
|
|
|
|
--lsaClm For the Cluster Membership B.01.01 service
|
|
|
|
|
-.PP
|
|
|
|
|
--lsaCkpt For the Checkpointing B.01.01 service
|
|
|
|
|
-.PP
|
|
|
|
|
--lsaEvt For the Eventing B.01.01 service
|
|
|
|
|
-.PP
|
|
|
|
|
--lsaAmf For the AMF A.01.01 service
|
|
|
|
|
-.PP
|
|
|
|
|
--lais Specify this to get access to all AIS libraries without specifying
|
|
|
|
|
-each library individually.
|
|
|
|
|
|
|
+/usr/include/corosync.
|
|
|
|
|
|
|
|
.SH IPv6
|
|
.SH IPv6
|
|
|
The corosync project supports both IPv4 and IPv6 network addresses. The entire
|
|
The corosync project supports both IPv4 and IPv6 network addresses. The entire
|
|
@@ -190,9 +138,9 @@ which will cause significant problems. Make sure a route is available for
|
|
|
IPv6 traffic.
|
|
IPv6 traffic.
|
|
|
|
|
|
|
|
.SH ARCHITECTURE
|
|
.SH ARCHITECTURE
|
|
|
-The AIS libraries are a thin IPC interface to the corosync executive. The
|
|
|
|
|
-corosync executive provides services for the SA Forum AIS libraries as well
|
|
|
|
|
-as the EVS and CPG libraries.
|
|
|
|
|
|
|
+The corosync libraries are a thin IPC interface to the corosync executive. The
|
|
|
|
|
+corosync executive implements the functionality of the corosync APIs for
|
|
|
|
|
+distributed coming.
|
|
|
|
|
|
|
|
The corosync executive uses the Totem extended virtual synchrony protocol. The
|
|
The corosync executive uses the Totem extended virtual synchrony protocol. The
|
|
|
advantage to the end user is excellent performance characteristics and a proven
|
|
advantage to the end user is excellent performance characteristics and a proven
|
|
@@ -209,21 +157,6 @@ This specifies the fully qualified path to the corosync configuration file.
|
|
|
|
|
|
|
|
The default is /etc/corosync/corosync.conf.
|
|
The default is /etc/corosync/corosync.conf.
|
|
|
|
|
|
|
|
-.TP
|
|
|
|
|
-COROSYNC_AMF_CONFIG_FILE
|
|
|
|
|
-This specifies the fully qualified path to the corosync Availability Management
|
|
|
|
|
-Framework configuration file.
|
|
|
|
|
-
|
|
|
|
|
-The default is /etc/corosync/amf.conf.
|
|
|
|
|
-
|
|
|
|
|
-.TP
|
|
|
|
|
-COROSYNC_DEFAULT_CONFIG_IFACE
|
|
|
|
|
-This specifies the LCRSO that is used to parse the configuration file. This
|
|
|
|
|
-allows other configuration file parsers to be implemented within the system.
|
|
|
|
|
-
|
|
|
|
|
-The default is to use the default corosync configuration file parser which
|
|
|
|
|
-parses the format specified in corosync.conf (5).
|
|
|
|
|
-
|
|
|
|
|
.TP
|
|
.TP
|
|
|
COROSYNC_TOTEM_AUTHKEY_FILE
|
|
COROSYNC_TOTEM_AUTHKEY_FILE
|
|
|
This specifies the fully qualified path to the shared key used to
|
|
This specifies the fully qualified path to the shared key used to
|
|
@@ -252,21 +185,13 @@ compromised to allow the long-term capture of transmitted data.
|
|
|
For security reasons, the corosync executive binary should NEVER
|
|
For security reasons, the corosync executive binary should NEVER
|
|
|
be setuid or setgid in the filesystem.
|
|
be setuid or setgid in the filesystem.
|
|
|
|
|
|
|
|
-.PP
|
|
|
|
|
-.SH SAFTEST COMPLIANCE
|
|
|
|
|
-The corosync libraries are now nearly compliant with every aspect of the SA
|
|
|
|
|
-Forum's AIS specification. The AMF service, however, is not compliant with the
|
|
|
|
|
-B.01.01 specification. The remaining services pass most of the tests of the
|
|
|
|
|
-saftest suite against the B.01.01 specification.
|
|
|
|
|
-
|
|
|
|
|
.SH BUGS
|
|
.SH BUGS
|
|
|
-The messaging service is partially implemented and not suitable for deployment.
|
|
|
|
|
-The distributed locking service is buggy and not suitable for deployment.
|
|
|
|
|
-The Availability Management Framework is under development and not suitable for
|
|
|
|
|
-deployment..
|
|
|
|
|
|
|
+None that are known.
|
|
|
|
|
|
|
|
.SH "SEE ALSO"
|
|
.SH "SEE ALSO"
|
|
|
.BR corosync.conf (5),
|
|
.BR corosync.conf (5),
|
|
|
.BR corosync-keygen (8),
|
|
.BR corosync-keygen (8),
|
|
|
-.BR evs_overview (8)
|
|
|
|
|
|
|
+.BR evs_overview (8),
|
|
|
|
|
+.BR cpg_overview (8),
|
|
|
|
|
+.BR sam_overview (8)
|
|
|
.PP
|
|
.PP
|