Creating a Windows Server 2003 Cluster

If you run a high-traffic website or any other service with high demands on Windows servers, the Network Load Balancing support may be just what the doctor ordered for you. Under Windows Server 2003, you can bind up to 32 servers together in a cluster to even the load on the boxes and keep your service running at a reasonable speed. First off I’ll assume you have more than one server to bind to the NLB cluster, each with their own static IP address, and administrative access to the servers.

The following situations will make the job much easier for you:

* You have physical access to the servers. If you mess up the network connection may cease to function.

* The servers are behind a NAT. You’ll have better control over the actual network configuration in case you need to change it.

Before you start working on the servers:
It’s best to go ahead and set aside a unique, unused IP address for the new cluster and even map a DNS name to that IP. Your job will go a lot smoother.

On Server #1:
Open the properties sheet of the network connection you wish to bind to the cluster. On this sheet you’ll find the services and protocols enabled on this connection, such as TCP/IP. In this list you should find Network Load Balancing unchecked. To set up the cluster you must check the box beside Network Load Balancing and click the Properties button.

On this dialog you will enter the IP address, subnet mask and DNS name of the cluster. (This IP will be added to all the servers later in addition to their own unique IP addresses.) Be sure to click the “Multicast” radio button in “Cluster operation mode”. This saves bandwidth and provides for better expandability. You need not enable remote control; you can use the NLB Manager from the Server 2003 Administration Tools Pack.

Click the “Host Parameters” tab. Since this is the first server, leave its unique host identifier as 1. For any additional servers you configure for the cluster, you will need to increment this. In the dedicated IP configuration, enter the server’s existing static IP address and subnet mask. You can leave everything else in this tab alone.

Next you need to define the port rules. This is important; if you just want to balance load among webservers you should only configure it to do just that. For example: you wouldn’t want to open a Remote Deskop session to one server only to find the connection was rerouted to another. (Assuming you would connect to the cluster IP for Remote Desktop and not use the servers’ unique IP addresses.) If you want to balance everything you can leave the default rule. If not, remove the default rule and add a new one. In this dialog you can select which protocols/ports you want to balance. The configuration in the rest of this tab will work out-of-the-box; if you need a more advanced configuration I suggest you not read a “quickstart” article such as this. After you’re finished with the port rules you can click OK on the NLB property sheet. This should return you to the network connection’s property box.

Your final step on the server is to add the cluster’s IP address to the TCP/IP configuration. Click the TCP/IP protocol and click Properties. From there, click “Advanced” and you’ll get another dialog. On top of this tab you will see the IP addresses assigned to the server. In most cases there will only be one, the server’s existing static IP. Under this list there’s a button to add a new address. Click it and add the cluster’s IP address and subnet mask. Click OK until you have exited all dialog boxes, and you’re finished with the first server! The network connection may die for a moment but it will come back up assuming you did everything right.

Repeat these steps for any additional servers you may want to add to your cluster. You can add up to 32 servers. Just remember to increment the unique host identifier on each server you add. Also keep in mind that all servers must have identical port rules or they will not be accepted into the cluster.

Leave a Reply

Your email address will not be published. Required fields are marked *