Reader responses to our Microsoft Clustering Services (MCS) survey indicated some confusion about various types of clusters. To make sure we're all talking about the same thing, let's take a broad look at three types of clusters that Microsoft supports.
MCS provides high-availability clustering (aka failover clustering). The primary purpose of MCS is to prevent downtime of essential services. As Ryan Rands, senior product manager for enterprise abilities, explained, MCS failover clustering “lets you run a backend system on a single server or node. If that system goes down, it will fail over to another node, restart the service, and provide a connection to the same data that the first server was working on.” This type of clustering is distinct from Network Load Balancing (NLB) clusters and high-performance-computing (HPC) clusters, for which Microsoft provides different products. For details about high-availability clustering, see “Inside Microsoft Cluster Server,” February 1998, InstantDoc ID 2943.
One essential consideration with MCS is that it doesn't protect your data. Ryan pointed out, “MCS can help recover from hardware and application failures. However, if your data is corrupted—through an application fault or user error, for instance—although the service remains highly available, it’s still serving up the same compromised data. So you also need to make the data highly available (e.g., using RAID), and you need data verification”—and backup, of course.
In addition, MCS has other uses. In response to a reader who asked, “How else can I leverage MCS?” Ryan responded, “MCS can help reduce planned downtime associated with tasks such as upgrading an application or applying service packs or fixes. For example, if you need an application to be available 24 × 7, clustering can let you patch or upgrade one node, fail over that workload, then go patch or upgrade the second server. Also, you can test patches on the standby node. This capability reduces the planned downtime to the period it takes to fail over the cluster, rather than the time it takes to install and test the application upgrade or the fix.”
Network Load Balancing
One respondent to the survey about clustering asked, “Does MCS provide load balancing?” It does not, but Ryan explained that another Microsoft product, Network Load Balancing (NLB), provides this capability. (Tim Huckaby describes this type of clustering in “The Tao of Network Load Balancing,” September 2001, InstantDoc ID 21838.) As Ryan explains, “NLB balances the network traffic of IP-based applications, such as Web, FTP, and VPN applications, across multiple servers. A software-based load-balancing solution available in Windows 2000 Advanced Server and Win2K Datacenter Server, NLB streamlines administration by letting you manage a group of independent servers as one system. Administrators typically use NLB to evenly distribute Web client requests among Web servers, such as in a Microsoft Internet Information Services (IIS) 5.0 server farm.”
High-Performance Computing Clusters
Another reader asked about a different type of clustering, high performance computing (HPC) clustering. Ryan explained that this type of cluster is “somewhat new for Microsoft. HPC is designed for distributed networking across numerous systems (from just a few nodes to 256 or more) to distribute applications. HPC is usually associated with applications such as geologic and seismic processing and astronomical processing, where you’re trying to solve a very complex problem by scaling out and batching processes out to many different systems.” For more information about HPC clusters, see the High Performance Computing for Windows Server 2003 Web page at http://www.microsoft.com/windowsserver2003/hpc/default.mspx.