Failover Clusters
The most popular cluster type is called a failover cluster. A failover cluster is typically built with one to four machines, physically configured to share disk storage. Like the other cluster types, all servers within the cluster work together to form one virtual server that provides an application or service to clients.
The failover cluster, like the other cluster types, has a specific purpose. The main purpose of the failover cluster is to provide uninterrupted service in the event of a failure within the cluster. Even though it is possible to configure a failover cluster to provide a small performance boost by changing certain settings, a failover cluster is not as scalable as other types of clusters. A failover cluster is a good fit for databases, file storage, and applications that have dynamic content.
In a failover cluster, the nodes within the cluster share disk storage. The applications and data used on the cluster are stored on the shared disk so that each server can access the data in the event of a failure; however, both machines can never access data on the external storage array at the same time. There must be one owner for each physical disk used within the array. As you will see later, configuration of the cluster software entails assigning ownership of all applications on the cluster to one machine.
For example, if you chose to run SQL Server on your cluster, your SQL installation would be located on one of the disks within the external disk array. You would need to select an owner for that application and assign all of the resources necessary to run that application to that one server. Let's assume Cluster Server 1 is the owner of the SQL Server application. This means that Cluster Server 1 would respond to all SQL requests, while the other server sits idle. While Cluster Server 1 has ownership of the application, Cluster Server 2 would not be involved in the transactions and would not be able to access the drive that the data is stored on.
In the event of a failure on Cluster Server 1, all resources for the application would failover to Cluster Server 2, and it would become the new owner of the application. Once Cluster Server 2 had been granted the ownership of the application, it would be able to see the disk and access the data. Once Cluster Server 1 comes back online, the application ownership would fail back to the previous owner, and Cluster Server 1 would begin servicing requests once again.
Failover clusters share disk storage, and therefore are best suited for applications that contain dynamic content, such as databases, file storage, and mail server applications. If you want to cluster an application and the application requires changing content or transaction processing, it must be run on a failover cluster, because a failover cluster is the only cluster model that allows all nodes to share information concerning transactions and changing content.