Computer cluster in virtual machines
Encyclopedia
Computer clusters run usually on physical computer
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...

s. With the virtualization approach there are new possibilities of setting up different kinds of clusters.

There are different categorizations of such clusters, depending
  • on the type of underlying virtualization, and
  • of the level, where some Cluster Manager is running.


This article currently describes only high-availability cluster
High-availability cluster
High-availability clusters are groups of computers that support server applications that can be reliably utilized with a minimum of down-time. They operate by harnessing redundant computers in groups or clusters that provide continued service when system components fail...

s.

Note that the implementation sections give only some typical examples of the described cases - this is not a list of all available configurations.

Definitions

Because there are different sets of terms meaning the same concept, here is a small list of definitions used in this article. Things not defined here, can be found in the Computer Clusters article.

Host System

The Host System is the hardware and the virtualization software, like a hypervisor
Hypervisor
In computing, a hypervisor, also called virtual machine manager , is one of many hardware virtualization techniques that allow multiple operating systems, termed guests, to run concurrently on a host computer. It is so named because it is conceptually one level higher than a supervisory program...

.

Guest System

The Guest System is the operating system that is running atop a Host System. Sometimes this is called Virtual Machine, but mostly every vendor of virtualization technology has its own name for this.

Cluster Manager

The Cluster Manager as used in this article, is software handling all the things that are needed in a computer cluster environment, e. g. supervision of resources (processes, IP Addresses, ...), restarting of resources, handling of failover.

Cluster Service

A Cluster Service is a service (application) running under control of a Cluster Manager. This is sometimes also called Process Resource.

Virtual Cluster Nodes on one Host System

All the cluster nodes [note: a definition for node is needed above as that term is not defined or linked - one can only assume that "node" is synonymous to "guest" as defined above when used in a cluster] are all running on the same Host System. This does not increase any availability of the applications in case of a hardware outage, therefore it is mostly only used during development and testing of a Cluster Service.

Example: LinuxHA on Xen

Different Guest Systems run on one Host System. The Host System uses Xen
Xen
Xen is a virtual-machine monitor providing services that allow multiple computer operating systems to execute on the same computer hardware concurrently....

 as virtualization technology. The Guest Systems use Linux-HA
Linux-HA
The Linux-HA project provides a high-availability solution for Linux, FreeBSD, OpenBSD, Solaris and Mac OS X which promotes reliability, availability, and serviceability ....

for the high availability. [note: this example does not help in clarifying the concepts being defined and appears a gratuitous mention of a specific vendor]

Virtual Cluster Nodes on different Host Systems

All nodes of the cluster are running on different Host Systems. This gives the same availability of the underlying cluster technology in case of a hardware outage and also gives the possibility to live migrate one virtual cluster node to another Host System for maintenance of a Host System.

Virtual - Physical Cluster

This scenario only makes sense for high availability failover clusters. One node is running on the physical machine the other on a Guest System. The normal way of operation is, that everything runs on the physical machine, only when there is a failure, the node on the Guest System gets control. The advantage of this scenario is, that it is possible to run some failover nodes in some Guest Systems of the same Host System. So it is possible to save mostly all of the additional second nodes. The disadvantage is, that the virtualized computer may not handle the load, when all physical nodes stop working at the same time.

Cluster Manager only in Guest Systems

The Cluster Manager runs only on a Guest System level. Two (or more) Guest Systems run as a cluster.

Example: Solaris Cluster in Guest Systems

There is an experiment from SUN running Solaris Cluster atop VMware.

Example: openMosix for Xen

It is possible to run different Guest Systems atop Xen as an openMosix cluster.

Cluster Manager only on Host Systems

The Cluster Manager is running on the Host System level. It supervises the Guest Systems themselves and can react on some event: e. g. to restart the Guest System on another machine.

Independent Cluster Manager on Guest and Host Systems

This is adds the features of the Guest Only and the Host Only Clustering.

Integrated Cluster Manager on Guest and Host System

The Cluster Manager is running in the Host and Guest System level and knows about resources (e.g. processes) inside a Guest System and also about whole Guest Systems. It can therefor react on problems inside a Guest System or even of a problem with a whole Guest System, when e.g. the Guest System hangs.

Benefits

For HA clusters, the benefit for using virtual nodes is that even during hardware maintenance, all cluster nodes stay available. This can be achieved live by migrating one Virtual Cluster Node from the Host System that must be maintained to some other Host System.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK