Choosing the Cluster Type that's Right For You - Page 2
NLB Cluster Models
NLB clustering is the method I used in my first example with the Web server that was experiencing high traffic volumes. As I mentioned earlier, in an NLB environment, each server contains its own hard disks and, therefore, its own copy of the application you're clustering. Each server in an NLB environment functions as an independent entity. The cluster can contain between 2 and 32 servers. The extent of the actual clustering process is that each server communicates its present workload and other status information to other servers in the cluster. This is done in such a way that as more clients try to use the clustered application, they are sent to the server with the least current workload.
Obviously, this functionality doesn't happen by magic. Even though NLB represents clustering in its simplest form, NLB still has some very specific hardware and software requirements. The first requirement for running NLB is that all of the servers involved in the cluster must be running TCP/IP, because the NLB driver resides between the TCP/IP stack and the physical layer (the network card). In addition, the server must be running an NLB control program to perform the actual distribution of labor. In the case of Windows 2000, this task is performed by the Windows Load Balancing Service, which exists in the WLBS.EXE file. This service generally consumes between 250 KB and 4 MB of RAM and about 1 MB of hard disk space.
Although it's not a strict requirement, NLB works best if you have two network cards in each server. One network card serves as a link to the clients, whereas the other card becomes part of a dedicated backbone between the servers in the cluster. This technique is particularly effective when the network cards are run in unicast mode as opposed to multicast mode.
Unlike NLB clusters, a server cluster is made up of multiple machines that function as a single machine. According to my sources, current technology limits this type of cluster to using two servers, although down the road it may be possible to add more. Therefore, this particular configuration is usually more suited to providing fault tolerance than for improving network performance.
Usually, both machines in a server cluster are linked to a common hard disk array through a SCSI interface. Therefore, if either server were to crash, everything on the hard disk would still be accessible from the other server.
As with the NLB cluster configuration, server clusters require each machine to have two network cards. One card is used as a dedicated backbone between servers; the other card is used to service the clients. Technically, one of the cards that services clients doesn't even have to be connected to the network. However, if fault tolerance is your goal, not connecting both cards would be very foolish.
Server clusters are only available through Windows 2000 Advanced Server. Another requirement is that the servers in the cluster must be running TCP/IP.