There are several reason why it might be interesting to use more than one Scense server to service your users. For larger sites it might be necessary to cope with the workload, for smaller sites it might just be to offer high availability.
There are also several ways to create such a multi-server Scense back-end. You might choose multiple independent servers and use a DNS round-robin or manually distribute your users among different Scense servers, but the best way is probably to use Microsoft’s Network Load Balancing (NLB) facility.
In this article we take a quick look at configuring an NLB cluster of two servers, and for doing that we need two functional Scense servers. The first one will be up and running after installing a Scense system. The second one needs to be setup manually, as the Scense setup does not help us out here. Please take a look at a ‘How to setup an additional Scense server‘ to see how this is done. It is recommended to have both servers running the same Windows Server version (e.g. both Windows Server 2008 R2) to make sure there are no problems establishing the NLB cluster. Next to this you should make sure that both servers are properly accessible to workstations and that they are able to communicate with each other. This is very easily tested by addressing both individual Scense servers with the Scense Client. You can address a specific server by adding the server name as the first parameter for the Scense Client, like this; ‘Scense_Client.exe SERVER2’. When both Scense servers are working well you can continue with the next steps.
Installing the NLB
First we need to install the Network Load Balancing feature on both servers. To do this we should open the Server Manager, select the ‘Features’ node in the tree and then click ‘Add Features’ on the right hand side of the Features Summary.
In the ‘Select Features’ dialog check the ‘Network Load Balancing’ feature and continue to install this feature.
Configuring the NLB
Once the Network Load Balancing feature is installed on both nodes we can continue and configure our first cluster on it. Best practice tells us that configuring an NLB is best done from a workstation where the Remote Server Administration Tools are installed. These tools include the Network Load Balancing Manager utility and the Nlb.exe and Wlbs.exe command-line tools.
Connect your NLB Manager to one of the Scense Servers and create a new cluster, select the appropriate IP-Address to access this server. Next you should specify a fixed IP-Address for the cluster. This will be the IP-Address you will be using from the clients to connect to the Scense back-end.
In the above screenshot we specified the name ‘ScenseNLB’ as the virtual server name for the cluster. This will be the name to use as an alias to access the NLB cluster.
The cluster IP-Address should be added to the network adapter on each node, like this:
- Navigate to “Local area network properties”
- Select “TCPIP” and click “Properties”
- Click “Advanced” and then “Add”
- Specify the cluster IP-Address and subnetmask
After finishing the cluster definition on the first Scense server, you should connect the NLB Manager to the second Scense server and then start the ‘Add Host to Cluster’ procedure. This procedure is very similar to what we’ve just done, but now we don’t have to configure the cluster specific details and just connect the second server to it.
Make sure that the Priority (unique host identifier), in the cluster Host Parameters dialog, is different for each node in the cluster.
Once both server are added we should see something like this:
Both hosts have the converged status and should be operational. To test this it is probably best to repeat the steps where we were testing the Scense servers individually. If both Scense server still work well individually, then we can start testing the workings of the cluster. Testing if the NLB cluster works can be done in the same way, simply by starting the Scense client with ‘ScenseNLB’ as the first parameter.
When the NLB Cluster seems to work fine you should make sure all workstations will use the new name for the Scense Server back-end; ScenseNLB. For new installations of Scense Client the ‘ScenseInstall.cmd’ command file should be edited:
For existing installations a Scense Taskset can be created to switch to the new NLB cluster.
After implementing the NLB cluster you should probably monitor the performance of both servers closely to see if the NLB works properly and whether two hosts is enough to handle peak demands.