This article describes how to use Windows Load Balancing Service (WLBS) or Network Load Balancing (NLB) in Windows Terminal Server.
You can use WLBS (or NLB in Windows 2000) to distribute a large number of Terminal Server clients among a group of Terminal Servers. The following list contains guidelines for configuring WLBS or NLB.
Store user information, system information, and common data in a single place, such as an SQL server so each Terminal Server can service all the users on the network. We recommend you use Microsoft Cluster Services (MSCS) to share the data.
WLBS/NLB relies on the client's IP address (and port number if you are using No Affinity) to determine which Terminal Server services a client. If you configure WLBS/NLB to use Affinity, the IP address used by the client is serviced by the same Terminal Server as long as you do not change the Terminal Server cluster.
When a Terminal Server client disconnects from a Terminal Server during a session, Terminal Server marks the client's session as 'disconnected.' The client's processes and virtual memory space that you were using during that session remain on the server and are mapped to the user's Session ID as long as the 'disconnected' session state does not end. If you reconnect the client computer to the Terminal Server and the session is still in a 'disconnected' state, you can use the session state information to resume working on the same processes and programs you were using before you lost the connection.
Terminal Server does not support replication or sharing of in-memory session states to other Terminal Servers. When you disconnect from a Terminal Server that is a member of a WLBS/NLB Terminal Server cluster during a session and the client's IP address changes before you attempt to reconnect to the Terminal Server, the connection request may be serviced by a different Terminal Server in the cluster. If this happens, the in-memory session continues to use resources on the original server. You need to start a new session on the new Terminal Server.
If you need disconnected clients to connect to the same Terminal Server to recover from a 'disconnected' session, the client computers need to use static IP addresses and WLBS/NLB must be configured to use Single Affinity. Note that IP addresses obtained from DHCP servers on the LAN or through your ISP may change, as well as roaming users' IP addresses. If this is not a requirement, then you can use different IP addresses on a client computer when you request services from a cluster of Terminal Servers and you can configure WLBS/NLB to not use Affinity.
Configuring WLBS/NLB to Load Balance Terminal Servers
To configure WLBS/NLB to load balance client requests to a group of Terminal Servers, install WLBS/NLB on each server and configure the following port rule on each of the Terminal Servers:
Port Range: from 3389 to 3389. Protocols: TCP Multiple hosts. Affinity: Depends on requirements. Load weight: Equal (if you want equal load on each Terminal Server).
For additional information about load balancing, click the article numbers below to view the articles in the Microsoft Knowledge Base:
186566 Connection Configuration in Terminal Server
199285 Upgrading Convoy to Windows NT Load Balancing Service