Introduction to Server Clusters
Updated: January 1, 2003
Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2
Q. What is a Server Cluster?
A. A Server cluster is a collection of independent servers that together provide a single, highly available platform for hosting applications
Q. What are the benefits of Server clusters?
A. There are three primary benefits to server clustering: availability, manageability, and scalability:
Server clusters provide a highly available platform for deploying applications. A Server cluster ensures that applications continue to run in the event of planned downtime due to maintenance or unplanned downtime due to failures. Server clusters protect against hardware failures, failures of the Windows operating system, device drivers or application software. Server clusters allow operating system and application software to be upgraded across the cluster without having to take down the application.
Server clusters allow administrators to quickly inspect the status of all cluster resources and move workloads around onto different servers within the cluster. This is useful for manual load balancing, and to perform "rolling updates" on the servers without taking important data and applications offline.
Applications that can be partitioned can be spread across the servers of a cluster allowing additional CPU and memory to be applied to a problem. As the problem size increases, additional servers can be added to the cluster. A partitioned application is one where the data (or function) can be split up into independent units. For example, a customer database could be split into two units, one covering customers with names beginning A thru L and the other for customers with names beginning M thru Z.
Q. What are Server clusters used for?
A. Server clusters provide a highly available platform for mission critical, line of business applications. These typically include database servers (such as Microsoft SQL Server), mail and collaboration servers (such as Exchange Server) and infrastructure servers such as file servers and print servers.
Q. Is Server cluster the same as Microsoft Cluster Server (MSCS) and/or Wolfpack?
A. The code name for the original Server cluster project was Wolfpack. When the product was released as part of Microsoft Windows NT 4.0 Enterprise Edition it was named Microsoft Cluster Server or MSCS. In Microsoft Windows 2000, the official name of the product became Server cluster.
Q. How do Server clusters fit into the larger Windows high availability story?
A. Server clusters are part of a much larger story for highly available applications running on Microsoft products. Windows has two cluster technologies, server clusters and Network Load Balancing (NLB). Server clusters are used to ensure that stateful applications such as a database (e.g., SQL Server) can be kept highly available by failing over the application from one server to another in the event of a failure. NLB is used to distribute client requests across a set of identical servers. NLB is particularly useful for ensuring that stateless applications such as a web server (e.g., IIS) are highly available and can be scaled-out by adding additional servers as the load increases.
In addition, Microsoft Application Center 2000 includes Component Load Balancing (CLB) CLB is a technology used to ensure COM+ applications are highly available and can scale-out.
The Windows platform also uses other technologies to ensure high availability and scalability. For example, Active Directory is made highly available through replication of the directory contents across a set of domain controllers.
Q. What is Scale-up verses Scale-out?
A. Scale-up is a term used to describe the scalability provided by large symmetric multi-processing (SMP) systems. As the load increases, more processors and more memory can be added to a single server, increasing the processing power and memory available for applications. Windows 2000 Datacenter Server and Windows Server 2003 Datacenter Edition provide the support for scaling up to large computers with many CPUs and large physical memory. In a scale-out environment, Server clusters are deployed to ensure that the failure of the server does not cause the applications or services to fail. Scale-up is typically done for either hosting large applications that cannot be partitioned, or to consolidate a set of applications into a single server (or small number of servers in the case of a server cluster).
Scale-out is a term used to describe the idea that an application can be scaled by partitioning the workload and spreading it across a set of cooperating servers. If the load increases, additional servers can be added to the set to provide additional processing power and memory.
Server clusters are particularly useful for enhancing the availability of applications that can be scaled out across a set of nodes by allowing the individual pieces or partitions of a scale-out solution to be made highly available via failover.
Q. Is Server cluster a standard feature of all Windows operating system products?
A. Server clusters are not available in all Windows operating system products. Server clusters are available in:
Windows NT Server, Enterprise Edition
Windows 2000 Advanced Server and Datacenter server
Windows Server 2003 Enterprise Edition and Datacenter Edition
Windows Server 2003, 64 bit Enterprise Edition and Datacenter Edition
Server clusters are also available as part of the Server Appliance Kit, available to OEMs for building embedded solutions based on the Windows operating system.
Q. How do I know if my Server cluster is a supported configuration?
A. All server clusters must be qualified to be supported by Microsoft. A qualified configuration has undergone extensive testing using a hardware compatibility test provided by Microsoft. All qualified solutions appear on the Microsoft Hardware Compatibility List (HCL) (http://go.microsoft.com/fwlink/?LinkID=67738). Only cluster solutions listed on the HCL are supported by Microsoft.
The complete cluster solution must be listed on the Cluster HCL list. The complete solution includes the servers, the storage adapters, the interconnect type, the storage controllers firmware and driver versions. All of the components must match exactly, including any software, driver or firmware versions for the solution to be qualified.
The HCL contains a set of qualified cluster components. A solution built from qualified components does NOT imply that the solution is qualified.
The cluster component lists have been a source of confusion in the past and we will be removing the cluster component lists (such as Cluster/RAID) from the HCL for Windows Server 2003.
Q. Where are supported configurations listed?
A. All qualified solutions appear on the Microsoft Hardware Compatibility list (HCL) (http://go.microsoft.com/fwlink/?LinkID=67738). Only cluster solutions listed on the HCL are supported by Microsoft.
Q. Where can I find more documentation on Server clusters?
A. Server clusters are extensively covered in the online help in Windows 2000 and Windows Server 2003. Additional information can be found on the Microsoft web site at: