Cluster IIS to gain peace of mind and restful nights
Microsoft Cluster Server (MSCS) is a valuable, yet misunderstood, Windows NT Server 4.0, Enterprise Edition (NTS/E) service that increases production time through sustained availability. In this article, I explain MSCS's basic functionality and walk you through how to use MSCS with Internet Information Server (IIS) to set up a high-availability Web site that gives you peace of mind.
MSCS Basics
A common misconception about MSCS is that it provides load-balanced processing of one application or service across multiple servers. The truth is that MSCS provides fault tolerance to ensure that your applications or services are still available to users when your hardware, OS, services, or applications fail. A basic MSCS system contains two physical servers, which you connect via a crossover cable for internode communications, and a shared SCSI or fibre-channel storage subsystem for arbitrated storage.
MSCS uses this setup to provide active/active or active/standby availability. Active/active availability means that both servers actively provide your users separate instances of a service or application. In addition, either server can almost seamlessly take over its cluster partner's processing load if its partner's hardware, service, application, or OS fails. Active/standby availability means that only one server is the active server in the cluster. The standby server idly sits and waits to assume all processing responsibility if its busy cluster partner experiences a failure. The services and applications you run in active/active or active/standby configurations determine whether you can run multiple instances of a service or application on either or both cluster nodes.
If you use MSCS to cluster IIS, the nodes in your IIS 4.0 cluster won't provide load-balanced processing of one Web site. Instead, MSCS offers your IIS Web site to the network in the guise of a virtual server (i.e., multiple servers that appear as one server to the OS or for network administration) and hosts your site on a preferred node. The preferred node is the node in the cluster that you designate as the primary server for your virtual server. Your preferred node performs all the processing during normal operation. If a failure occurs on the preferred node and impedes the virtual server's availability, the virtual server's processing load moves to the other cluster node. For example, if cluster node A is your virtual server's preferred node and cluster node A has a hardware, software, or OS failure, your virtual server fails over to cluster node B. After the failover completes, your virtual server is still available to your users.
Some users are disenchanted with MSCS after they realize it doesn't provide load-balanced processing. Although MSCS doesn't lighten the processing load on one server, it ensures that critical applications are available to users in case of hardware or OS failure. In addition, one MSCS implementation can host multiple high-availability Web sites. You can sleep better at night knowing that if your Web server has a system failure, your customers can still place orders via the Web.
Installing MSCS
The NTS/E manuals provide comprehensive instructions for installing MSCS. Also, you can find installation instructions and more information about MSCS in Brad Cooper's, "Installing Microsoft Cluster Server," http://www.winntmag.com, instaNT document number 3923.
Configuring your hardware for clustering is often more difficult than installing MSCS and clustering your applications. Some vendors offer cluster-ready packages that include the hardware you need to set up MSCS. However, before you buy a hardware solution, research vendors' offerings and choose a solution that requires as little assembly as possiblemost vendors provide little documentation about how to configure their cluster-ready servers to work with MSCS.