When services are down, it can mean big trouble for your company—whether it’s your Web server providing information to your customers or another service, such as Oracle’s Application Server. In this Daily Drill Down, I’ll show you how to prepare for and install Windows Load Balancing Service on NT Server Enterprise Edition.
Choosing a service
If you’re using NT Server Enterprise Edition, two advanced services are available to you: Windows Load Balancing Service (WLBS) and Microsoft Clustering Service. They may seem the same at first glance, but there is a subtle difference between the two. Microsoft Clustering Service requires two identical servers and, more important, an external storage system that can be addressed by both servers (typically via a fiber channel host adapter). Services running on one server “fail over” to the remaining running server without requiring users to change their configuration. A slight disruption in service will occur during the changeover.
If you’re using WLBS, the service you want to balance between two or more servers must be running on all servers in the WLBS cluster. WLBS establishes a virtual IP address that represents all the servers in this cluster. All user requests point to this virtual IP address and are transparently directed to a server. A voting system between the servers over a special inter-server network is used to determine which server to direct requests to. This inter-server network carries only cluster communications for the WLBS service.
When a server fails, only the users on the failed server are affected. As soon as they refresh their browser (if they’re using WLBS with Microsoft’s IIS), users can start accessing the Web server again.
Preparing to install WLBS
The first step in getting ready to install WLBS is to have Microsoft Server Enterprise Edition 4.0 on all servers on which you want to install WLBS. For the purposes of this drill down, we will set up WLBS on two servers. Don’t try to save money and attempt to install WLBS on regular NT Server or NT Server Terminal Edition—WLBS looks for NT Server Enterprise and won’t install if it doesn’t find NT Server Enterprise. I recommend using at least NT Service Pack 5 to avoid some memory leaks involving SNMP.
After installing NT Server Enterprise, be sure you have at least TCP/IP bound to the network card in each server. Verify that you can log in to each server without any problems and that you can ping and see one server’s resources from the other. Once you have done this, install the second network card in each server. This card will be used solely for the inter-server communications for the WLBS cluster. While it may be possible to use a single network card in each server, the WLBS online documentation doesn’t recommend it.
If you’re using just two servers for your WLBS cluster, you can wire a crossover cable to directly connect the servers on the inter-server link. I generally prefer to use a simple 10Base-T hub to connect the servers. This arrangement allows me to identify a server problem relating to the network card without having to resort to the ping command.
When you configure TCP/IP for this inter-server link, you may need to do some additional planning. If you’re using a private IP address range on your network, you’ll need to select a different range for the inter-server link. For example, suppose you’re using the class A private IP address range for your regular network. You may need to consider using either a class B or class C private IP address range, or a different range of class A addresses from the ones that you’re using on the rest of your network. You can subnet the class A range of addresses if you want and dedicate a subnet to the inter-server link.
Whatever you decide to do, be sure to document the choice you make—and why you’re choosing that route. That way, when you have to make changes later, you’ll know why you made the decision you did. As you did with the first network card you configured, repeat the ping test to make sure that both cards can see each other and that IP is configured correctly on what will become the inter-server cluster link.
Now that the hardware is ready for WLBS, you can get the files you need to install the service. As of this writing, the current version of the file is WLBS221I.exe. You can download the file from Microsoft’s TechNet site or from the Server Utilities CD if you have a subscription to TechNet.
To make things manageable, I recommend you create a directory named WLBS on the same drive where you’re keeping the I386 directory from your NT Server CD. Place a copy of WLBS221I.exe in the WLBS directory on each server; then, extract the files prior to starting the service installation.
At this point, it’s a good idea to review the help file. You’ll need to familiarize yourself with a couple of terms to ensure a trouble-free WLBS installation. The WLBS documentation refers to the network card used for regular network communications as the dedicated adapter. The network card used specifically for the inter-server WLBS cluster communications is called the clusteradapter.
You will have to assemble a few pieces of information before starting the WLBS installation. First, decide on a fully qualified DNS name for the cluster; the name will look something like cluster.domain.com. You will also need to have a cluster IP address—a virtual IP address that the workstations will use when talking to the service the cluster will be hosting. In addition, be sure to record the IP address used for the dedicated adapter in each of the servers in the WLBS cluster.
Before installing WLBS, log into each of the servers as Administrator or equivalent. Right-click on Network Neighborhood and select Properties. WLBS is installed as an adapter, not as a service. Click the Adapters tab, then click the Add button. Click the Have Disk button and enter the path to where you’ve stored the WLBS files (for example, C:\WLBS). This tab offers no Browse button, so having an easy-to-remember path to the files helps. After you enter the path, click OK.
When you see the OEM option window, select Microsoft Windows NT Load Balancing Service and click OK. When the Important Binding message window appears, review the information and click OK. The next window displays the WLBS license agreement. Read over the agreement and click the I Agree button to continue.
The Load Balancing Setup window
When you see the Load Balancing Setup window, enter the following information in the Cluster Parameter area:
- The dedicated IP address and subnet mask for the cluster
- The full Internet name for the cluster (for example, cluster.domain.com)
- The remote password to manage the WLBS cluster (unless you have stringent security requirements, you can make this password the same as your Administrator password)
Be sure to select the Enable Remote Control check box. This option enables you to use the WLBS utility from a computer other than the ones that WLBS is running on.
In the Host Parameters area of the setup window, enter the following information:
- For the first system, set the cluster priority to 1 (set subsequent systems to higher numbers, incremented by one for each additional server present in the WLBS cluster).
- This host’s dedicated IP address (the address of the dedicated adapter) and subnet mask.
Select the Initial State Active check box and leave the default port rules settings. By default, you should see a port range of 1 to 65535. Affinity should be set to Single and the Equal check box should be selected.
In the Filtering Mode area, select the Multiple Hosts option. This option will distribute the load equally between all the servers in the cluster. Click the Add button to put this rule into effect. You will need at least one rule in effect for the WLBS cluster to work properly. Finally, click OK to close the WLBS setup screen.
You should now see a WLBS Virtual NIC in the list of adapters. Before restarting the server and loading WLBS, you must specify which protocols are bound to which adapters. To do so, click the Bindings tab. From the Show Bindings For drop-down list, select All Protocols.
Earlier, I mentioned that the first NIC installed in the server is referred to in WLBS terminology as the dedicated adapter, and that the second NIC installed, for the inter-server cluster communications, is called the cluster adapter. If you installed the network cards as I indicated earlier in this drill down, the dedicated adapter should have a 1 beside the driver name and the cluster adapter should have a 2 to the left of the driver name. Select and expand the WLBS driver section. Choose the dedicated adapter (primary NIC) and click the Disable button. You should now see a red circle with a line drawn through it to confirm the disable action. (When you’re using a dual-NIC configuration as we’re doing here, the WLBS driver doesn’t need to be bound to the dedicated adapter.) At this point, select and expand the WINS Client (TCP/IP) section. Select the cluster adapter and click Disable. Repeat this process for the cluster adapter under the TCP/IP protocol section. Each time you click Disable, be sure that the selected network adapter includes a red circle with a line drawn through it.
Click Close to dismiss this window. If you see an Important Binding window, review each of the steps in which you clicked the Disable button. This message indicates that something wasn’t done exactly as it should have been. Review everything that you’ve entered to identify what needs to be changed.
When the Microsoft TCP/IP Properties window appears, click the drop-down box on the Adapter tab and select the WLBS Virtual NIC. Enter the cluster IP address and subnet mask, then enter the correct default gateway address for this segment. Click OK to complete the binding process, and then click Yes to restart the server.
After the primary server restarts, look for the following entries in the system log in the Event Viewer:
- Event id 4—WLBS v2.2 started
- Event id 5—WLBS cluster mode started with host id # (# - host priority for this server)
- Event id 29—host # (# of this host) converged as default with hosts(1) as a part of the cluster
You can now begin installing WLBS on the secondary server. Be sure to use a different host priority number because this number uniquely identifies the server with this WLBS cluster. After you finish the configuration, restart the secondary server and watch for similar messages in that server’s system log. You should see a similar set of messages on the secondary server—except for Event ids 4 and 29. Event #5 will have the host priority number for the secondary server. Event #29 will list both hosts’ priority numbers. Go into the Event Viewer on the primary server, refresh the log, and look for an additional event #29, listing both hosts in the cluster converging as a part of the cluster.
Whenever you need to change the configuration of the WLBS cluster, open a command window and type WLBS setup. This command opens the window that you initially used to configure the cluster. If you need to change the WLBS configuration of a particular server, you should be able to effect the changes without restarting the server. Type WLBS reload in an NT command window. This command will stop and start the WLBS server as necessary and make the server reread its settings from the NT registry. If any errors occur, you’ll see an error message and the host will not join the cluster.
By using the WLBS query command, you can view the current status of the WLBS cluster. You can gather more detailed information by using the WLBS display command. This command displays the current cluster state, past cluster activity, and the last several event log records that relate to the WLBS service.
As you’ve seen in this Daily Drill Down, setting up the WLBS server on NT Server Enterprise isn’t that hard to do. With a little planning, you should be able to get things up and running without much difficulty. Even if you’re already keeping good documentation on your server setup and configurations, this would be a good time to record as much detail as possible to avoid problems now and in the future. Be sure to keep a copy of the Wlbs.hlp file handy in case one or both of the servers in the WLBS cluster are down. This help file contains quite a bit of information that should go a long way in helping you keep things running smoothly.
Ronald Nutter is a senior systems engineer in Lexington, KY. He's an MCSE, Novell Master CNE, and Compaq ASE. Ron has worked with networks ranging in size from single servers to multiserver/multi-OS setups, including NetWare, Windows NT, AS/400, 3090, and UNIX. He's also the help desk editor for Network World. If you’d like to contact Ron, send himan e-mail . (Because of the large volume of e-mail that he receives, it's impossible for him to respond to every message. However, he does read them all.)The authors and editors have taken care in preparation of the content contained herein, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for any damages. Always have a verified backup before making any changes.