Planning a Cluster Server Implementation with Windows 2000
Before diving into the construction of a cluster server solution, it is important to plan the project accordingly. Fitting the system to the needs of the application is essential because there are many good cluster solutions, yet not all are a good fit for the application they support. There are many benefits to running an application or service on a cluster server, but it must make sense to do so.
Not only must you choose the type of cluster your application needs, but you must also consider the different hardware options that are available for the type of cluster you are creating. How many machines do you need? What types of processors should you use? How much memory is required? How should your disks be formatted? All of these are valid questions, and the choices you make will affect the performance and usability of your cluster solution.
In many cases, design is three parts experience and one part skill. Most designers stick with hardware and software combinations that are comfortable for them or with systems that they have had experience installing. Although there is nothing wrong with implementing systems that are "tried and true," don't limit your design to familiar hardware.
Choose a Cluster Technology
Prior to planning a cluster install, you must decide which cluster technology fits with your application's needs. The two primary cluster types you may consider are failover clustering and load-balanced clustering.
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 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 or data that changes often.
Load-balanced clusters differ from failover clusters in that they provide not only fault tolerance and reliability, but also scalability and performance. Load balanced clusters distribute the load of an application across multiple machines simultaneously. In a failover cluster, one machine serves all clients, while another machine (or few machines) serves as a backup in case that one server experiences a failure; in a load-balanced cluster, all servers within the cluster answer all requests simultaneously, distributing the load across all of the servers equally (or however it is configured to distribute the data.)