‘Clustering’ is defined as a grouping of similar characters together as a single entity that share its resources evenly at places that needs more performance. In simpler terms it can be said as a group average (where individual’s performance is never been cared about but the final result of the whole group).
How does a cluster provide more advantage compared to an individual’s input? For instance there are two workers (A and B) in a office and the work is evenly distributed among the two as task1 and task2. Suppose that A can finish task1 in 2 days which isn’t so tough and B takes 4 days to complete task2 as it needs more work to be put in. In such a state, B can get the help of A, to a limited extent and thus task2 will get completed in two days.
In the above scenario, both A and B are assumed to have the same work potential.This means that even if the tasks been swapped, then A would take 4 days and B would take 2 days to complete it (i.e) task2 needs more resources than task1.
This is where a cluster proves to be of advantage over individual performance. Let me explain how clustering helps in virtualization technology, in technical terms. Xen PoolMaster is a resource pool that assembles a collection of xenserver hosts that can host VMs under a single managed entity. This will deliver performance benefits for the VMs, on the whole.
The Advantages of Xen PoolMaster are:
- The downtime of a VM can be avoided to a large extent, with an increase in performance.
- When a Xenserver host goes down or fails, then the VM residing in it can be enabled via resources of another clustered xenserver host and this helps in business continuity.
- The VMs can be migrated live within hosts in a pool (no need to turn down a VM for migration).
Clustering Requirements for Xen Poolmaster:
In order to construct a Xen PoolMaster, certain requirements are needed to be fulfilled by the XenServer hosts, They are:
- Each CPU should have similar feature flags. (i.e) The vendor should be same for all of them (Either AMD or Microsoft) and the CPU model should be same.
- They should have static IP.
- The clocks of xenserver hosts should be synced with that of master server.
- The storage of the hosts shouldn’t be individually configured.
- A suspended or running VM should not be present in a xenserver host while clustering.
Overcoming Failures:
Even in a poolmaster there can be failure of VMs and server hosts. But you know that this is a cluster and a cluster’s primary task is take down the task ownership of another failed colleague, in case of an emergency.
The Types of Common Failures are:
- Slave node failure.
- Master node failure.
Slave Node Failure:
Generally, a VM’s state will be continuously monitored by the master server via regular heartbeat signals received from VMs. If there is a pause on signal received for 30 seconds, it means that the VM has failed. This can be overseen by rebooting the VM, if possible or by removing the VM (in case if they are dead).
Master Node Failure:
In case of a master server failure, all the slave nodes will get into an emergency mode where they are predefined to perform a set of emergency tasks. In the mean time, the recovery of the failed master server will be undertaken as soon as possible. When it is recovered and booted up, it will instruct the slave nodes to start working in normal mode.
But if the master server is dead for the day, then a slave node will be chosen to be the master server and it will instruct the rest of the slaves to get back to normal work format.
Limitations:
There isn’t much of a limitation in case of Xen PoolMaster, but when compared to Hyper-V:
- A xen cluster can support 16 xenserver host while a Hyper-V cluster can manage 64 VM hosts.
- A Xen cluster can have 800-900 VMs running at a time whereas a Hyper-V can have upto 4000 VMs.
A server station built under a roof is not a simple task to be achieved and if it’s a HyperV or a Xen PoolMaster, then they are the rightful heir for BCP in a virtual environment.