Cluster Manager Plug-in (ECE):
The Cluster Manager Plug-in, also called the EVMS Cluster Engine (ECE), acts as a conduit between the EVMS Engine and the Cluster Manager. It transparently provides membership and messaging services to the Engine through a standard set of published ECE APIs. In other words, it acts as a gatekeeper for communication with other nodes of the cluster. These interfaces are discussed in the ECE API Guide.
EVMS Engine:
The EVMS Engine is the brain of the EVMS volume manager. It's responsible for determining which plug-in to interact with in order to accomplish a task. Apart from the variety of responsibilities that it handles, EVMS Engine also ensures proper coordination with plug-ins on other nodes to ensure correct creation of cluster containers and their corresponding objects.
EVMS Daemon:
The EVMS Daemon can be viewed as the EVMS engine without the brain. It loads the relevant plug-ins and waits for instructions from the Engine. In other words, it is a remote extension of the Engine.
Cluster Manager:
Currently EVMS supports the Linux-HA cluster manager. Support for IBM's RSCT cluster manager will be available soon. EVMS depends on the following services from the cluster manager.
Consensus membership and quorum:
Membership is the set of nodes that are actively participating in the cluster from a given node's point of view. This membership semantic leads to confusion, because different nodes in the cluster may have different views of the membership. Consensus membership is the membership agreed upon by all the members. Network failures can lead to cluster partitioning. In a partitioned cluster, there can be multiple partitions each having their own consensus membership view. The cluster-manager ensures that only one partition has the quorum to access shared resources and fences off all the other nodes from accessing the shared resources. The cluster partition having quorum is also called as the primary partition.
EVMS depends on the cluster manager for consensus membership and quorum service. On receipt of a quorum-loss event, EVMS fences off i/os on all volumes residing in shared containers and resumes on quorum regain. The cluster manager may STONITH (power-off and reboot) the nodes that have lost quorum. EVMS provides an additional layer of safety, by blocking i/o in case the cluster manager does not support fencing.
Reliable messaging service:
EVMS assumes point-to-point messaging service with the following guarantee.
- message is not dropped
- message is not duplicated
- message is not corrupted
Resource Management service:
EVMS provides the mechanism for failing over private containers. However, it depends on the resource management service to determine when to failover the containers.
Linux-HA Cluster manager:
The Linux-HA cluster manager provides all the above mentioned services. However, its resource management service is limited to two node cluster. Also, it supports fencing through STONITH on a 2-node cluster.