An inexpensive load-balancing option

Windows NT 4.0, Terminal Server Edition lets users at remote terminals connect to one server. Microsoft based Terminal Server on the single-server-to-many-clients model; the OS doesn't accommodate the many-servers-to-many-clients model. Terminal Server includes Microsoft's Remote Desktop Protocol (RDP), which lets users connect thin-client systems to a terminal server. However, RDP doesn't have load-balancing capabilities. Without load balancing, random and suboptimal user connections can result. Many administrators have turned to products such as Citrix MetaFrame to provide load balancing, but Citrix is a costly solution. In contrast, Cubix's Balanced Cluster Service (BCS) provides the load balancing that Terminal Server needs, at a cost that almost any company can afford.

To test BCS's capabilities, I installed Terminal Server on NCR's WorldMark 4300 system. The WorldMark 4300's 77" cabinet houses two 4-way servers and an NCR 6257 disk array subsystem. The two servers are identical in size and shape. Each server contains four 200MHz Pentium processors, 1GB of memory, a 4.3GB internal hard disk, and one SMC EtherPower 10/100 Fast Ethernet PCI Adapter. Each server has SCSI connections to the WorldMark 4300's array of ten 4GB hard disks. (For more information about the WorldMark 4300, see Carlos Bernal, "WorldMark 4300," February 1998.)

Before I installed BCS, I had to configure the two Terminal Server systems for Windows Internet Naming Service (WINS) or Domain Name System (DNS) with WINS lookup and ensure that both servers included the same application all RDP users access. Next, I inserted the BCS CD-ROM into the first WorldMark 4300 server. I clicked Start, Run and entered F:\bsc\setup.exe. Then I clicked OK. The installation wizard helped me figure out where the files would install, provided the license key number, and asked for the name of the cluster the server would join. If you don't select a cluster name, BCS uses the workgroup or domain name as the cluster name. I entered BCSCOOL as the cluster name and, after the installation completed, I accepted the prompt to reboot the server. I followed the same procedure on the second server. Installing and configuring both servers to provide load balancing for Terminal Server took 10 minutes.

Next, I installed Balanced Cluster Service Manager. BCS Manager provides remote management of the BCS cluster. I inserted the BCS Manager CD-ROM into a remote system; clicked Start, Run; entered F:\bcsmgr\setup.exe; and clicked OK. The installation is wizard-based. The BCS Manager installation took about 2 minutes. You can install BCS Manager on any NT 4.0, Windows 98, or Win95 system that is on the same network as your Terminal Server computers. BCS Manager lets you quickly manage your Terminal Server nodes. It lets you start and stop the BCS Service for any cluster node, move nodes between clusters, view cluster messages and errors via an event viewer, and change the cluster's master server node. Only users with systems administrator privileges on all nodes in the cluster can access BCS Manager.

I opened BCS Manager from the Start menu, and the program's main window appeared. BCS Manager was easy to use. I clicked Cluster, Add Cluster; typed BCSCOOL in the dialog box; and clicked OK. An icon appeared with the cluster name. When I double-clicked the icon, BCS Manager displayed the two WorldMark 4300 servers that were running BCS.

When you view your nodes in BCS Manager, you see that one of the nodes has the temporary master server (T-Master) designation. To function properly, a cluster must have a master server. The master server enforces cluster properties and initiates cluster actions. BCS has two types of master servers: designated (D-Master) and T-Master. When BCS Manager first starts, it designates the node that has been running the longest as the T-Master server. T-Master servers function in place of failed D-Master servers, but T-Master servers can't accept changes to the cluster from BCS Manager, as D-Master servers can.

To ensure that you can make changes to the cluster, select one of your nodes to serve as the D-Master server. You'll usually select the system with the best performance configuration. In my test, my terminal servers were identical, so I selected TERM1, BCSCOOL's T-Master node. I right-clicked TERM1, selected Change Designated Master Server from the drop-down menu, then clicked OK. In Screen 1, you can see that TERM1 is the D-Master server, whereas TERM3 is the Best server. BCS continuously monitors all BCS nodes for system and resource availability and designates the most available node as the Best server. If BCS determines that another system has higher availability than the current Best server does, the software dynamically moves the designation to the system with the higher availability. After a client establishes a connection to a server, it remains with that server throughout the session. If a node fails, BCS switches Best server designation to one of the remaining nodes for continuous logon capabilities. When the failed node comes back online, it automatically joins the cluster on reboot. If you designated the node the master before it failed, it takes over the D-Master role automatically.

After installing BCS, I configured my RDP client. Before you can use a client to connect to a BCS cluster, you must configure the client to use the WINS server or DNS with WINS lookup. I enabled settings for my client, then set up a new client connection. You must configure users to connect to your Terminal Server systems using cluster name-rdp or cluster name-bcs, where cluster name is the name of the cluster you want the client to connect to. I enabled a new connection and configured it to connect to BCSCOOL-rdp. I double-clicked the new connection, provided my username and password, and in less than 1 second seamlessly logged on to Terminal Server. Nothing is noticeably different during the logon process from the user's perspective.

Throughout my evaluation of BCS, I logged on to my Terminal Server computers quickly and effortlessly. BCS enhances Terminal Server's strength without requiring you to ransack the corporate coffers to achieve load balancing.

Balanced Cluster Service
Contact: Cubix * 702-888-1000
Price: $2385
System Requirements: Two Intel-based servers, 16MB of RAM, 2MB of hard disk space, WINS or DNS with WINS lookup configuration