Clustering within clustering
Before starting I must state that this article is conceptual rather than a technical document. Having worked on a number of clustering and virtualisation projects I often hear people say “now we have high availability for our virtual machines we no longer need Novell clustering”. I would disagree. Regardless of your preferred virtualisation platform, virtual machine high availability (HA) will protect you against the loss of a physical host server. For example if you have two servers running a virtualisation platform (lets say host1 and host2) and two virtual machines (vm1 and vm2) the HA features of your virtualisation software would ensure vm1 and/or vm2 are moved from a failed physical server to another host.
Novell Cluster Services protects the availability of your applications within the virtual machines. This is important as you may experience some sort of OS corruption within the virtual machine. High availability offered by your virtualisation platform will not protect you against this. Hence the term “clustering within clustering”. Having clustering at both virtual machine and application level offers the greater degree of protection from downtime.
Also ensure your virtual machines are autonomous i.e. don’t store any data within your virtual machines. Instead store data within dedicated LUNs on your SAN and then configure access from your virtual machine to the LUN. That way if your virtual machine fails you can create a new virtual machine and point it to your existing data. I know clones and templates make the creation of virtual machines much quicker, but keeping the OS and application data separate adds greater flexibility and fault tolerance.
The example below shows four physical blades (in red) within an IBM BladeCenter. As you can see HA for the virtual machines is provided by using Heartbeat and the XEN relocation service. In this example IPMI is used to communicate with the Base Management Controller (BMC) in the blade which acts as a STONITH device. The two OES2 SP1 virtual machines (in yellow) are running Novell Cluster Services which provides HA for applications such as GroupWise. Meaning the applications are clustered within a cluster.