Configuring IBM Load Balancer in Windows for a TURN server cluster

Configure IBM® Load Balancer on a server running Microsoft™ Windows™.

Before you begin

Install IBM Load Balancer and assign two static IP addresses to it. The server selected for the Load Balancer installation must reside on the same LAN segment as the nodes to be clustered.

About this task

Configure IBM Load balancer to support your cluster using MAC Address rewriting. With this method, the load balancer receives a packet intended for the cluster. It uses configured metrics to determine which node in the cluster should process the message, and then sends the message back out to the network, routing it to the appropriate node's MAC address.

Each of the nodes in the cluster is configured with a loopback adapter; when the packet is rewritten to the network, the appropriate node will receive and process the packet.

Procedure

  1. Configure the nodes of the cluster.

    Add a loopback adapter with the IP address of the cluster on each of the nodes of the cluster. For instructions, see the Load Balancer Administration Guide, which can be downloaded from the WebSphere® Application Server - Edge Components site.

  2. Configure port settings on the cluster nodes so that IBM Load Balancer can route the packets properly:
    Attention: IBM Load Balancer requires every node in the cluster to use same port number for STUN (typically, port 3478). If you have configured your nodes to use different port numbers, change them to the same port now.
  3. On the load balancer server, configure load balancing for the cluster:
    1. Open a command window on the load balancer server.
    2. Start the load balancer's Dispatcher process by clicking Start > Control Panel > Administrative Tools > Services. right-click IBM Dispatcher (ULB), and then click Start.
    3. If you are using IPv6 addresses, enable the processing of IPv6 packets:

      Run the following command while logged in as the Windows administrator:

      netsh interface ipv6 install

      This command enables processing of IPv6 packets. Issue this command only once; thereafter, you can start and stop the executor as often as you need. If you do not issue the command to enable processing of IPv6 packets on these systems, the executor will not start.

    4. Start the executor function of the dispatcher:
      dscontrol executor start 
    5. Add the cluster to the service:
      dscontrol cluster add cluster's_fully_qualified_host_name 
      where cluster's_fully_qualified_host_name is the fully qualified host name that you assigned to the cluster when you installed the load balancer; for example:
      stms-cluster.example.com
      .
    6. Add the cluster port:
      dscontrol port add cluster's_fully_qualified_host_name@port

      where cluster's_fully_qualified_host_name@port is the fully qualified host name that you assigned to the cluster when you installed the load balancer, with the TURN port appended to it (typically port 3478); for example:

      st-turn-cluster.example.com@3478
    7. Add the nodes for which this server will balance workload:
      dscontrol server add cluster_host@port@primary_node 
      dscontrol server add cluster_host@port@secondary_node 

      where:

      • cluster_host@port@primary_node indicates the cluster's fully qualified host name with the port appended (as in the previous step) plus now with the primary node's fully qualified host name appended; for example:
        stms-cluster.example.com@80@meetsvr1.example.com
      • cluster_host@port@secondary_node indicates the cluster's fully qualified host name with the port appended (as in the previous step) plus now with the secondary node's fully qualified host name appended (include an additional line for each additional secondary node); for example:
        stms-cluster.example.com@80@meetsvr2.example.com
    8. Add the cluster to the executor:
      dscontrol executor add cluster's_fully_qualified_host_name 
      where cluster's_fully_qualified_host_name is the fully qualified host name that you assigned to the cluster when you installed the load balancer; for example:
      stms-cluster.example.com
      .
    9. Start the manager:
      dscontrol manager start 
    10. Now you can stop the service:
      dsserver stop
    11. Close the command window.
  4. (Optional) Define server affinity with a "sticky time":

    The dispatcher component of IBM Load Balancer supports a configurable "sticky time". This means that the load balancer will remember which cluster member a client was routed to; subsequent requests will "stick to" the same server until the preset time expires. The sticky time defaults to 0 seconds and there is really no need to modify it for STUN requests. If you do want to increase the sticky time, follow these steps:

    1. Start IBM Load Balancer.
    2. In the navigation tree, select the Executor (the load balancer's non-forwarding IP address, which appears under its host name).
    3. Click Configuration Settings.
    4. In "Port-Specific Settings", change the Default sticky-time settings from 0 to 60 seconds, and click Update Configuration.
    5. Leave IBM Load Balancer open for the next step.
  5. Save the load balancer settings:
    1. In IBM Load Balancer, return to the navigation tree and right-click on the host name of the load balancer you just configured (for example, loadbal.example.com).
    2. Click Save Configuration File as and accept the default name (default.cfg).

      The configuration settings stored in default.cfg are restored every time the server is restarted.

    3. Click OK.