A server cluster is a group of independent servers running Cluster service and working together as a single unit. Clusters provide high availability, scalability, and manageability for resources and applications by grouping multiple Microsoft Windows 2000 Advanced servers or Microsoft Windows 2000 Datacenter servers into a single administrative unit.
NOTE
This chapter provides only an overview of the Cluster service in Windows 2000 Advanced Server, concentrating on how Exchange 2000 Server leverages this service. For a more complete discussion of clustering, please consult the Microsoft Windows 2000 Server Resource Kit (Microsoft Press, 2000).
Clustered servers share a common storage medium, such as an external drive bank of SCSI drives using a hardware-based RAID solution. Most often, information is written in cross-longitudinal fashion across the set of disks, with parity information, which is, essentially, an on-disk algorithmic backup of the data itself. This type of installation is called RAID-5 and is very common in the networking world today.
Clustering provides high availability by allowing applications to run on any single server in the cluster. If the host server goes down, the applications are moved to another server in the cluster, where they can continue to run. This movement is, of course, transparent to the users. The users know only that they have connected to the server for e-mail. They do not know which server in the cluster they have connected to. The Cluster service directs their input and output to the correct server in the cluster.
Clustering avoids the problems that can arise due to a hardware failure, such as a blown CPU, bad memory, or the loss of an entire computer. It also allows services to remain alive for users when there is a planned outage, such as routine maintenance, a software or firmware upgrade, or a configuration change.
Clustering also monitors the health of the installed software applications. If it detects problems with a particular application, it may take actions such as attempting to restart the software or even moving the software focus to a different server in the cluster.
Clustering does not solve problems related to poor management, such as data not being backed up or poor-quality hardware used to implement RAID-5. Neither does it help in the event of a major disaster, such as when servers are physically destroyed. Because clustering in Windows 2000 depends on the Active Directory directory service and DNS, clustering also does not help if these technologies have been poorly implemented or are not available.
Before we begin our discussion, it's important to understand some of the basic terminology. We'll define some terms in staccato fashion and then move on to other clustering topics.
Windows Clustering has several attractive benefits, including the following:
The clustering solution in Exchange Server 5.5 is a shared-nothing solution that was not met with great enthusiasm in the marketplace because it is costly to implement and because it calls for the existence of one server that does little but wait for a failure on the active server.
Exchange 2000 Server leverages the active/active implementation of clustering, meaning that all of the hardware capacities of each server are exploited. With this implementation, two or more physical machines can be running Exchange services and offering these services on the network. Exchange 2000 Server supports as many nodes as your version of Windows 2000 supports. Windows 2000 Advanced Server supports two nodes. Windows 2000 Datacenter Server supports four nodes. As these numbers increase with future releases of Windows 2000, Exchange 2000 Server will support more nodes accordingly.
NOTE
Even in a clustered environment, not all components in Exchange 2000 Server are active/active. The Message Transfer Agent, public folder hierarchy, and Chat Service are active/passive, meaning that only one server in the cluster will offer these services to the network at any given time.
Exchange 2000 Server also supports rolling upgrades, which means that during an upgrade, the Exchange services are moved to the second node, which continues to offer the services to the network while the Exchange software is upgraded on the first node. When the upgrade is completed on the first node, services are moved back to it and the Exchange software is upgraded on the second node. This activity is all transparent to the user and is one of the ways in which Exchange 2000 Server's clustering capability achieves high availability.
Figure 20-1 shows an Exchange 2000 server cluster installed on two physical servers that share a common storage device. In the Disk Management folder in the Windows 2000 Computer Management snap-in, the external disks appear as ordinary disks on the server that has access to them. In this illustration, disks 1 and 2 are in the external drive bay. They are not mirrored, although in nearly all production environments, you will want to use some type of fault tolerance at the hardware level. Windows 2000 provides the Cluster service so that even though both machines are connected to the shared data, only one server can access that data at any given time.
Figure 20-1. Disk configuration for a server cluster.
Windows 2000 requires that all data be on the shared drive so that when there is a failover, the surviving node can access that data. The binary files (Exchange system files) are still held on the individual servers in the cluster.