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.