15.3 Configuring a Web Application to Provide High Availability Functionality for Your Teaming Site

After the Novell Teaming software is installed and running on multiple servers, you must provide additional software to provide high availability functionality. Because Teaming is based on Tomcat, software that can provide high availability for Tomcat can be used to provide high availability for your Teaming site.

  1. Install and configure one of the following Web applications to provide high availability functionality for your Teaming site:

  2. Configure the Web application to establish the Teaming site URL, which then stays constant for Teaming users regardless of which Teaming server they access at any given time.

  3. Start the Web application with its new configuration settings.

  4. Test your Teaming site for high availability functionality.

    • If you are using Apache Web server, Linux Virtual Services, or Microsoft Internet Information Services, users can immediately log in to the Teaming site again after a failover has occurred. The connection between the user’s browser and the Teaming site is maintained as the failover occurs.

    • If you are using Novell Access Manager, users must start a new browser session, then log into the Teaming site after a failover has occurred. They cannot log in again from the same browser session because the connection between the user’s browser and the Teaming site must be reestablished after the failover.

Some illustrative examples are provided:

15.3.1 Configuring Tomcat and Apache as a Load Balancer

The following example configuration uses the balancer module built into the newer Apache (version 2.2.4) Web server, and is based on a widely used sticky session technique. Novell Teaming does not support session sharing/replication among Tomcat instances.

  1. Edit the Tomcat server.xml file on each Teaming server.

    The location of the server.xml file varies by platform:

    Linux:

    /opt/novell/teaming/apache-tomcat-version/conf

    Windows:

    c:\Program Files\Novell\Teaming\apache-tomcat-version\conf

    1. Search for jvmRoute.

      A sample line with a jvmRoute tag is provided in a comment.

      <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
      
    2. Update the active line below the comment so that it looks like the sample.

    3. On the second Teaming server, make the same change, incrementing the jvmRoute setting.

      <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm2">
      
    4. Repeat Step 1.c for each Teaming server, so that each Tomcat instance has a unique jvmRoute setting.

  2. Install the Apache Web server on one server.

  3. Edit the httpd.conf file in the Apache installation.

    The httpd.conf file is located in the conf subdirectory in the Apache installation.

    1. Locate and uncomment the following lines:

      LoadModule proxy_module modules/mod_proxy.so
      LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
      LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
      
    2. Append the following section to the httpd.conf file, providing a BalancerMember line for each jvmRoute value in a Tomcat server.xml file.

      <Location /balancer-manager>
         SetHandler balancer-manager
         Order deny,allow
         Deny from all
         Allow from 127.0.0.1
      </Location>
      <Proxy balancer://cluster_name>
         BalancerMember ajp://teaming_server_1:8009 route=jvm1
         BalancerMember ajp://teaming_server_2:8009 route=jvm2
      </Proxy>
      <Location />
         ProxyPass balancer://cluster_name/ stickysession=JSESSIONID
      </Location>
      
  4. Restart Tomcat and Apache.

15.3.2 Configuring Linux Virtual Server as a Load Balancer

Consult the following online sources for instructions for setting up Linux Virtual Server as a load balancer for your Novell Teaming site:

15.3.3 Configuring Ehcache for Multiple Clusters

Ehcache is a distributed cache often used in a clustered Apache/Tomcat environment. In such a cluster, each clustered Tomcat node knows about other nodes in the cluster by means of a common multicast group IP address that is specified in the ehcache-hibernate-clustered.xml file.

The location of the ehcache-hibernate-clustered.xml file varies by platform:

Linux:

/opt/novell/teaming/apache-tomcat-version/
                                webapps/ssf/WEB-INF/classes/config

Windows:

c:\Program Files\Novell\Teaming\apache-tomcat-version\
                                webapps\ssf\WEB-INF\classes\config

The default multicast group IP address is 232.0.0.1. If you have more than one clustered Novell Teaming system (for example, one in the lab and one in production), or if you have another software product that is already using the default multicast group IP address, you must update the ehcache-hibernate-clustered.xml file for one installation so that it uses an IP address other than the default.

  1. On each clustered Teaming server, change to the directory where the ehcache-hibernate-clustered.xml file is located, then open the file in a text editor.

  2. Search for 232.

  3. Replace the default address with a unique IP address.

    Use an IP address in the range of 224.0.0.1 to 239.255.255.255.

    IMPORTANT:Make sure that you specify the same IP address on all clustered Teaming nodes.

  4. Save the updated ehcache-hibernate-clustered.xml file.

  5. Restart all Teaming nodes.