If you are planning a scaled deployment with multiple App and/or Device Tier servers then you will need to use a Network Load Balancer (NLB) to provide an IP address that users connect to which then directs the user traffic between the identical servers in that tier.
The load balancers can be...
- Run using your own hardware or software Load Balancers (such as F5 or NetScaler), provided and supported by your own IT team
- Note: you must ensure your Load Balancer supports WebSockets which are part of the HTTP(S) protocol and are used by SureView for live video. Some load balancers require additional setup to enable this (for instance NetScaler)
- Run on the Sureview servers themselves using Windows' built-in Network Load Balancing feature (see instructions below). NOTE: each server must have 2 network adapters for this, one for the LAN allowing you to connect to and administer the server, and one for the NLB which will become only addressable via the shared IP.
Guidance: Windows NLB
To manage the NLB feature on Windows Server use the following PowerShell commands (this method works on a server regardless of having a GUI available - to use the Windows GUI refer to Microsoft documentation).
Creating an NLB cluster
Firstly, run the following commands on each server that will be part of the cluster (a "node"):
Install-WindowsFeature NLB -IncludeManagementTools;
<# For the commands later on you need to know the name of the server $>
<# For the commands later on you need to know the name of the Network Interface you will be using for NLB which you can find using one of these commands #>
<# It is a good idea to rename the interface you will be using for NLB to something meaningful like "NLB" so it is easy to find for the next set of commands and so it is clear in future what it is used for #>
Rename-NetAdapter -Name "CurrentName" -NewName "NLB";
Then run the following commands on one of the servers to create the cluster and add it as a node, and add the other servers as nodes to the cluster:
New-NlbCluster -InterfaceName "NLB" -ClusterPrimaryIP "IP.Address.For.Cluster" -ClusterName "ClusterName.YourDomain"
<# run this for each other server that will be a node #>
Get-NlbCluster | Add-NlbClusterNode -NewNodeName "OtherServerName" -NewNodeInterface "NLB"
Guidance: Hosts File
On each node that is part of a load balanced cluster you must add an entry to the Windows "Hosts" file that tells the server that the cluster name is "itself".
This ensures that when you are logged into the server and try to go to the "ClusterName.YourDomain" (for instance going to "http://ClusterName.YourDomain" in a browser on the server) it goes to itself instead of going out on the network
Use the following command in an administrative Command Prompt or PowerShell to open the hosts file in notepad:
Then add an entry as follows and save the file (note if you get a prompt to save it under a new name it means you forgot to start command prompt or PowerShell with administrative permissions above):