mirror of
https://git.proxmox.com/git/mirror_corosync
synced 2025-08-15 03:52:10 +00:00
Update corosync_overview.8 man page
Move forward 5 years on our main man page ;) Signed-off-by: Steven Dake <sdake@redhat.com> Reviewed-by: Angus Salkeld <asalkeld@redhat.com>
This commit is contained in:
parent
415ef892ad
commit
7cba91fee1
@ -32,19 +32,13 @@
|
||||
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
.\" * 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
|
||||
corosync_overview \- Corosync 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:
|
||||
.PP
|
||||
@ -58,33 +52,18 @@ Faults occur for various reasons:
|
||||
|
||||
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
|
||||
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.
|
||||
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.
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
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.
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
reference the AIS interfaces.
|
||||
reference the corosync interfaces.
|
||||
|
||||
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
|
||||
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.
|
||||
|
||||
.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
|
||||
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.
|
||||
|
||||
.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
|
||||
COROSYNC_TOTEM_AUTHKEY_FILE
|
||||
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
|
||||
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
|
||||
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"
|
||||
.BR corosync.conf (5),
|
||||
.BR corosync-keygen (8),
|
||||
.BR evs_overview (8)
|
||||
.BR evs_overview (8),
|
||||
.BR cpg_overview (8),
|
||||
.BR sam_overview (8)
|
||||
.PP
|
||||
|
Loading…
Reference in New Issue
Block a user