Using collocated servers for the Dispatcher component

Learn about advanced features for configuring the Dispatcher component using collocated servers.

About this task

Load Balancer can reside on the same machine as a server for which it is load balancing requests. This is commonly referred to as collocating a server. It is supported on Linux and AIX only. It is supported for MAC forwarding only. Collocated server and High Availability record replication should not be used together because after takeover, the newly collocated application server will not have the connection state.
Important: A collocated server competes for resources with Load Balancer during times of high traffic. However, in the absence of overloaded machines, using a collocated server offers a reduction in the total number of machines necessary to set up a load-balanced site. On Linux Collocation feature depends on TUN module. Hence before using collocation, you must ensure if the TUN module is supported on the Linux version you are using. Also, performance and functionality are dependent on the TUN module. To configure a server to be collocated, the dscontrol server command provides an option called collocated which can be set to yes or no. The default value is no. Alternatively, you can use the GUI to set collocated parameter under the configuration settings tab of the server object. The address of the server must be a valid IP address of a network interface card on the machine.
Tip:
  • When high availability is configured, you must place the appropriate commands in goScripts.
  • The neighbor state of a collocated server will always be available.
  • Manager and advisor will work as usual with collocated server.
  • Multiple clusters can have collocated server.
  • Metric server should not be used with collocated server.
  • In case you are using IPv4 or IPv6 clusters, the Load Balancer machine should be in both networks before configuring it.

Procedure

  1. [Linux] Configure a collocated server on Linux
    modprobe tun
    
    modprobe ip_tables
  2. [Linux] Add/set the server with the desired IP address and the collocated parameter set to yes, as follows:
    dscontrol server add cluster@port@server collocated yes
    
    dscontrol server set cluster@port@server collocated yes
    Attention: Adding/setting the collocation parameter creates an extra virtual network interface named ibmulb, which is used by Load Balancer to forward the packets on same machine. This interface has data rate of 10 mb/s.
  3. [Linux] Add iptable rule to drop IP packets destined to cluster IP. This step should be done so that the operating system does not respond to these packets and bypass the Load Balancer. You might need to add rules for each cluster IP. Choose the correct interface while adding the rules or collocation will not work.
    iptables -A INPUT -i<interface> -d <cluster_ip>/32 -j DROP
    ip6tables -A INPUT -i<interface> -d <cluster_ip>/128 -j DROP
    Remove the iptable rules using the following commands:
    iptables -D INPUT -i<interface> -d <cluster_ip>/32 -j DROP(IPv4)
    ip6tables -D INPUT -i<interface> -d <cluster_ip>/128 -j DROP(IPv6)
  4. [Linux] ARP suppression (IPv4 only)
    sysctl -w net.ipv4.conf.all.arp_ignore=3 net.ipv4.conf.all.arp_announce=2
  5. [Linux] Alias cluster IP on loop back adapter.
    Attention: This step is not required for Linux on Z when interface is in layer3. In this case, cluster IP should be aliased on the layer3 interface with a prefix used for the primary IP.
    ip addr add <cluster_ip>/32 dev lo scope host
    ip -6 addr add <cluster_ipv6>/128 dev lo
    Un-alias the cluster IP from the loop adapter using following commands:
    ip addr add <cluster_ip>/32 dev lo scope host(IPv4)
    ip -6 addr add <cluster_ipv6>/128 dev lo(IPv6)
  6. [Linux] Disable Reverse Path Filtering on all interfaces (IPv4 only), as follows:
      "sysctl -w net.ipv4.conf.<inteface_name>.rp_filter=0 "
  7. [AIX] Configure a collocated server on AIX. Add/set the server with your chosen IP address and the collocated parameter set to yes as follows:
    dscontrol server add cluster@port@server collocated yes
    
    dscontrol server set cluster@port@server collocated yes
    Configure/alias cluster IP on the loop-back adpater
    
    ifconfig lo0 inet <cluster_ip> netmask 255.255.255.255 alias
    ifconfig lo0 inet6 <cluster_ipv6>/128 alias
    
    To remove alias from loopback use following commands
    ifconfig lo0 inet <cluster_ip> netmask 255.255.255.255 -alias
    ifconfig lo0 inet6 <cluster_ipv6>/128 -alias
Task topic    

Terms and conditions for information centers | Feedback

Last updated: January 17, 2013 11:24 AM EST
File name: tcfg_dispatchercollocation.html