Openais Cluster Analysis
1. AIS Overview
Application Interface Specification (AIS) is a set of open specifications used to define application interface (API). These applications provide an open and highly portable application interface for application services as middleware. It is urgently needed to implement high-availability applications. The Service Availability Forum (SA Forum) is an open forum that develops and releases these free specifications. Using the AIS standard application interface (API) can reduce application complexity and shorten application development time, the main purpose of these specifications is to improve the portability of intermediate components and the high availability of applications. Saf ais is an open project that is constantly being updated. Currently, Major Service 1 is shown as follows:
The Green Section provides AIS-managed services including IMM, NTF, log, and SEC. The middle red part is the AIS management framework, which has two architectures: AMF and SMF. The Red Section on the right provides public services for AIS, including ckpt, EVT, LCK, MSG, NAM, and TMR. The red section CLM and PLM below. The relationship between AIS entities 2 is shown. PLM provides a logical view of hardware and low-level software at the underlying level of AIS. These low-level software can constitute an operating system and provide an execution environment for various applications. CLM describes the cluster node information and cluster node configuration information in the cluster. AMF and SMF are two AIS frameworks. AMF is a cluster framework that provides various entities in the Cluster with registration, cancellation, error reporting, protection group management, availability management, and health status monitoring. SMF is a service management framework. It serves to maintain an active state model, monitor potential error information caused by software changes, and configure steps for Restoring Error information. AIS
Utility Services provides public services for AIS. AIS Management Services is the object of AIS management services. (For details about other components, see AIS documentation)
Ii. openais Overview
Openais is an application interface specification based on the SA Forum Standard cluster framework. Openais provides a cluster mode, which includes the cluster framework, cluster member management, communication mode, and cluster monitoring. It can provide cluster interfaces that meet AIS standards for cluster software or tools, however, it does not have the cluster resource management function and cannot form a cluster independently. Openais components include AMF, CLM, ckpt, EVT, LCK, MSG, TMR, BMP, and EVS. The components are slightly different because of different openais branches. Openais consists of three main branches: Picacho, whitetank, and Wilson. Wilson is the latest, and the more stable version is from openais
1.0.0 to openais1.1.4. Whitetank is now the mainstream branch version. The stable version is from openais0.80 to openais0.86. The first generation of Picacho openais branch. The stable versions are openais0.70 and openais0.71. Currently, whitetank and Wilson are commonly used. There are many differences between them. After openais upgraded from whitetank to Wilson, the components changed greatly. Wilson put the openais core architecture components independently in corosync (corosync is a cluster management engine. Components included in whitetank include AMF, CLM, ckpt, EVT, and LCK.
, MSG, BMP, CFG, EVS, aisparser, vsf_ykd, bojdb, etc. Wilson only contains AMF, CLM, ckpt, LCK, MSG, EVT, TMR (not in TMR and whitetank), which are AIS components. Other core components are placed in corosync. Wilson is used as a corosync plug-in. (For more information, see the openais document)
Iii. corosync Overview
Corosync is an open cluster engine project derived from the Development of openais to Wilson. Corosync is part of the openais project. Openais is independent of openais0.90 in two parts: corosync and Wilson, the standard AIS interface. Corosync includes the core framework of openais to use and manage Wilson's standard interfaces. It provides a cluster execution framework for commercial or open-source clusters. Corosync is a communication group system that executes high-availability applications. It has the following features:
● A closed process group (Communication Model) communication mode. This mode provides a virtual synchronization mode to ensure that the server status can be copied.
● A simple availability management component (a simple availability Manager), which can restart the application process when it fails.
● A configuration and statistics
In-memory database), memory data can be set, reply, and receive notification changes.
● A quota system (a quorumSystem) to notify the application when the quota is completed or lost. (For more information, see corosync)
Iv. Relationship between AIS, openais, and corosync
1. Relationship between AIS and whitetank
As shown in figure 3, the branch version of openais whitetank not only contains the AIS standard application interfaces, but also has its own independent management modules. These independent modules are the light yellow part of Figure 3, it contains control modules such as PKI, CFG, EVS, aisparser, vsf_ykd, and bojdb.
2. Relationship between AIS and Wilson
When openais arrives at Wilson, openais is split into two parts. Wilson's components are basically AIS components. The core components of other controls are added to corosync, as shown in relation 4.
3. Relationship between corosync and openais
As shown in figure 5, the main difference between Wilson and whitetank is that Wilson lacks a core architecture than whitetank. Wilson supports SA Forum as the corosync plug-in.
5. openais cluster instance
1. CMAN (omitted)
CMAN is the core part of the Red Hat RHCS suite. CCS is the CMAN cluster configuration system, which configures cluster. conf. Cluster. conf is actually the configuration file of openais, Which is mapped to openais through CCS.
2. pacemaker1.x + corosync1.x + openais1.x
After the pacemaker is upgraded to Version 1.0, it is independent from heartbeat,Pacemaker achieves maximum availability for your cluster servicesBy detecting and recovering from node and service-level failures. It achieves this by utilizing the messaging and membership
Capabilities provided by yourPreferred cluster infrastructure(Currently either
OpenaisOrHeartbeat)
Note:
Pacemaker must be upgraded to 1.0 and openais must be Wilson
3. Successful instances
Pacemaker/corosync/openais/ocfs2/gfs2 for Ubuntu 10.04 (details)
Pacemaker/corosync/openais for fedora13 (configuration details)
Novell cluster (details)
Vi. Cluster testing ideas
1. saftest Test Tool
According to the openaais official website, whitetank and Picacho versions are tested using saftest. Test result details: openais official website. (Sattest website)
2. builtbot
Builtbot is a test tool used to test corosync and used together with pacemaker CTS (builtbot official website)
3. Pacemaker cts
(None)