Configuring Load Balancing & High Availability Features

If you created your clusters manually, you now need to configure each server member with appropriate load balancing and high availability features. You use the ClusterCATS Explorer to configure these features.

To manually configure or modify your clusters' load balancing and high availability features, perform the following tasks before activating them:

Configuring server load thresholds

ClusterCATS makes certain that your ColdFusion Web applications remain available and running at optimum performance by intelligently managing the amount of HTTP traffic hitting your clustered servers. By setting load thresholds on each server in your cluster, you can control and manage your site's availability and performance. Many of your threshold configuration decisions hinge on your site's architecture and where the bulk of your processing resources need to be allocated.

During an HTTP redirection, ClusterCATS evaluates the cluster's state according to HTTP server state first, and then ColdFusion server load. This policy is the same in both centralized and distributed ClusterCATS configurations. In a centralized ClusterCATS cluster with all Web servers at one site, ClusterCATS only redirects if the server is busy or restricted.

Configuring Peak and Gradual redirection load thresholds

For each cluster member, you configure a Peak load threshold and a Gradual Redirection threshold. The Peak load threshold represents the maximum load the server can handle before its performance degrades significantly or becomes unavailable. The Gradual Redirection threshold represents the point at which HTTP requests begin to be redirected to other less loaded members in a cluster so that the server's performance does not degrade or become unavailable.

By default, the Peak load threshold is 90% and the Gradual Redirection threshold is 70%. These default settings adequately handle HTTP traffic going across most Web sites. However, if your Web site is particularly processing intensive, you should lower both threshold settings to better accommodate the increased load. For high traffic sites, lower your Peak and Gradual Redirection thresholds to 80/60 or 75/55, respectively.

Note To adjust load thresholds for a cluster member:
  1. Open the ClusterCATS Explorer and select one of the servers contained in your cluster.
  2. Choose Properties from the Server menu. Alternatively, you can right mouse click the server you've selected and select Properties.

    The server's Properties dialog box appears.

  3. Click the Load tab.

  4. Enter a new numeric value (less than 100%) in the Peak load field.
  5. Enable the Gradual Redirection checkbox and enter a new numeric value in the Gradual Redirection field.

    If you want the server to be able to handle as much load as possible, set both threshold values close to one another. However, if you want redirection to occur well in advance of the server nearing its Peak threshold, set the values farther apart so that there is a differential of at least 10% between the two threshold values.

  6. Click OK to apply your new threshold settings.

Viewing a cluster's load status

ColdFusion reports its load data directly to ClusterCATS. Consequently, you can view the load on the ColdFusion Server at any time using the Server Load Monitor.

Note To view your cluster's current load levels:
  1. Select the cluster you want to monitor in the ClusterCATS Explorer.
  2. Choose Load from the Monitor menu. Alternatively, you can right mouse click the cluster you've selected and select Monitor>Load.

    The Server Load dialog box appears and displays the current load status for the cluster you selected.

    The load monitor shows three lines:

Adjusting load threshold settings graphically

You can view and set threshold settings relative to one another using the Server Load dialog's visual display. To set or change threshold settings using this method, you use your mouse to drag the Peak and Gradual Redirection threshold lines to their desired settings instead of entering numeric values in fields, as you do in the server Properties dialog box.

Note To configure load threshold settings using the Server Load dialog box:
  1. Select one of the servers in your cluster and choose Load from the Monitor menu. Alternatively, you can right mouse click the server you've selected and select Monitor>Load.

    The Server Load dialog box appears.

  2. Use your mouse to drag the Peak load threshold line (Red) up or down to reset the server's Peak load threshold.

    As you move the line, the load threshold percentage changes.

  3. Enable gradual redirection by selecting the Gradual Redirection checkbox.
  4. Drag the Gradual Redirection load threshold line (Yellow) to adjust it accordingly.
  5. Close the dialog box.

    The load threshold settings you configured are now in effect.

Configuring session-aware load balancing

Managing your Web application's state in a clustered environment can be challenging. ColdFusion application, session, and server variables that get stored in memory or a repository during a user session are not persisted by default during a server redirection. Consequently, the Web server cannot maintain the application's state correctly.

To overcome this problem, ClusterCATS provides a session-aware load balancing feature that lets you maintain application state in a clustered environment.

Using session variables and session-aware load balancing

One method for maintaining your ColdFusion Web application's state is to create session variables that get stored on the Web server. For an e-commerce Web site that is clustered, it's vital that users do not get redirected to another server in the middle of their session. If they would, their online transactions would be interrupted, making for an unsuccessful and frustrating user experience.

To ensure that users are not redirected from the server on which they start their session, ClusterCATS provides a built-in feature for enabling session-aware load balancing. Sometimes referred to as "sticky" server, session-aware load balancing guarantees that users won't get bumped from the server on which they start their session until the session is complete, regardless of the load thresholds that have been defined for that server.

Note Session-aware load balancing may not work if you've used absolute hyperlinks in an applicati. Absolute hyperlinks route the HTTP request back to the cluster entry point and redirect according to the current load threshold without regard to the state of the requesting client. To avoid this inadvertent loss of state, be sure to use only relative linking in your applicati.

Note To configure session-aware load balancing:
  1. Open the ClusterCATS Explorer.
  2. Select the cluster for which you want to enable session-aware load balancing and choose Administration from the Configure menu. Alternatively, you can right click on the cluster and select Configure > Administration.

    The Cluster Properties dialog box appears.

  3. Select the Session State Management check box.
  4. Click OK to apply this configuration.

Configuring ColdFusion probes

ClusterCATS load balances and provides failover support for your ColdFusion applications in two ways. First, it automatically interprets and reacts to the load metric that the ColdFusion Server generates. Second, ClusterCATS lets you create ColdFusion application probes that periodically test the health and operation of the sites that the ColdFusion Server processes.

The probe is a high availability feature that verifies that the ColdFusion Server is running properly on your clustered servers. It periodically tests a specific ColdFusion URL over periodic intervals and verifies its validity against a user-defined string contained in the returned page.

If the validation test succeeds, inbound HTTP requests will continue to be sent to the server for which a probe exists. However, if the test fails (the URL fails, times out, or does not return the user-specified string in the page accessed), ClusterCATS restricts the server and redirects requests to other available servers in the cluster. The restricted server will become available as soon as the probe returns a valid value.

Additionally, if the ColdFusion Server ever hangs or fails, ClusterCATS automatically attempts to recover the failed service. Once the ColdFusion service is recovered, the probe will automatically restart the ColdFusion Server and send HTTP traffic to the server.

Note To configure a ColdFusion probe:
  1. Open the ClusterCATS Explorer and select the server for which you want to create a ColdFusion probe.
  2. Choose New Monitor from the Server menu. Alternatively, you can right-click the server and select New Monitor.

    The New Monitor dialog box appears in front of the Probe Properties dialog box.

    Note The ColdFusion service must be running on your server in order for the probe you are creating to work.

  3. Enter a name you want to assign to this probe's monitor in the Name field on the New Monitor dialog box and click OK.
  4. Click the New Probe button on the Probe Properties dialog box.

    The New Probe dialog box appears.

  5. Click OK.

    The ColdFusion Application Probe settings dialog box appears.

  6. Leave the Web Server, Pathname, and Working Directory fields as they are unless you installed ColdFusion to a directory other than the default installation directory.
  7. In the Startup Parameters field, replace <URL> with the actual URL of the site you want the probe to access, and replace <success string> with a text string that appears on a page on the site you are probing.
    Note Be sure to include a space between the URL and the success string that you specify. The success string must be enclosed in quotation marks.

  8. Also in the Startup Parameter field, do not modify the RESTART explicit parameter if you want the probe to automatically restart the ColdFusion Server on detecting a failure. However, remove it if you do not want ClusterCATS to be able to automatically restart the ColdFusion Server upon detecting a failure.
  9. If you want longer intervals for how often the probe checks the ColdFusion Server and for how much time can pass without a response from the ColdFusion Server before a failure is registered, change the Timeout and Frequency values to longer durations.
    Note Don't set the Timeout and Frequency interval values too low (below 60 seconds) because if the intervals are extremely narrow, they may cause the ColdFusion Server to reboot inadvertently (due to network congestion, for example) rather than detecting an actual failure on the ColdFusion Server. Allaire recommends you set your Timeout and Frequency intervals to 120 seconds.

  10. Click Register to create the probe.
  11. Click Close on all open dialog boxes.

    Icons for the monitor and probe appear under the Monitor Manager in the ClusterCATS Explorer.

Integrating ClusterCATS with load balancing devices

You can configure ClusterCATS to work in conjunction with a third-party hardware load balancing device or load balancing software product to provide comprehensive load balancing and failover support for your server clusters. Allaire has worked closely with Cisco to enable ClusterCATS integration with LocalDirector.

Combining ClusterCATS and LocalDirector provides a powerful ColdFusion-aware load balancing solution that LocalDirector cannot provide without ClusterCATS. LocalDirector by itself cannot accurately detect how busy a ColdFusion Server is nor can it redirect load from failed or busy servers to available servers. It, therefore, would continue to send new requests to a server even if ColdFusion is too busy to handle additional requests or if the server has failed.

ClusterCATS can detect if a ColdFusion Server is too busy to handle additional requests because it can interpret the ColdFusion load metric. It can also monitor the operation of the ColdFusion Server on a periodic basis using ColdFusion probes. Consequently, its built-in intelligence can override the regular distribution sequence of the router, and it can redirect new requests to other available servers in the cluster. So, it not only load balances, but it also provides important ColdFusion Server availability data as well.

Note When using ClusterCATS and LocalDirector together, do not use round- robin DNS. Also, it's best to turn off the Gradual Redirection load threshold when using these two load balancing technologies together. See "Configuring server load thresholds" for turning off gradual redirection.

This section describes the following procedures:

Note To integrate ClusterCATS with Cisco LocalDirector
  1. Make sure you are using LocalDirector version 3.1.3 or later.

    LocalDirector versions prior to version 3.1.3 don't support Dynamic Feedback Protocol.

  2. Create a virtual server (www.website.com) in LocalDirector that corresponds to the cluster.
  3. In LocalDirector, bind explicit (real) servers participating in the cluster with the virtual server.
  4. Use the Predictor command in LocalDirector to configure the virtual server to use the Weighted load balancing option.
    Note See the Cisco LocalDirector documentation that came with the product for detailed procedures about configuring Cisco LocalDirector.

  5. Use LocalDirector's Dynamic Feedback Protocol (DFP) command to specify the IP addresses of each explicit server (cluster member) and the port number each server will use to listen for DFP requests from the LocalDirector.
  6. Open the ClusterCATS Explorer and select the cluster that you want to integrate with LocalDirector.
  7. Choose Properties from the Cluster menu or choose Administration from the Configure menu. Both menu selections display the Properties dialog box.

    The Properties dialog box appears.

  8. Select the Load Balance tab and choose Cisco LocalDirector from the Load Balancing Product drop-down list.

  9. Enter the name of the virtual server (www.website.com) you created in step 2 in the Website Alias field.
  10. Enter the IP address of the LocalDirector box in the LocalDirector IP Address field.
  11. Enter the port number on which each cluster member's agents should listen for incoming LocalDirector connection requests in the DFP Agent Listen Port field.

    Be sure to configure each cluster member to listen on the same port.

  12. Enter how frequently you want ClusterCATS to update the LocalDirector with availability data in the Update Frequency field.

    The default interval is 30 seconds. You can lengthen it to 120 seconds, but do not reduce the interval below 30 seconds.

  13. Enter the port number on which each cluster member listens for HTTP requests in the HTTP Port field. (Enter 0 if not applicable.)
  14. Enter the port number on which each cluster member listens for secured HTTP requests in the HTTPS Port field. (Enter 0 if not applicable.)
  15. Enter the same Bind ID specified for the explicit (real) servers on the LocalDirector box in the Bind ID field.

    In order for the ClusterCATS/LocalDirector integration to work as intended, the server name, port number, and bind ID combination must be the same on this ClusterCATS Load Balance tab as it is on the LocalDirector box.

  16. Click OK.

Once configured, ClusterCATS automatically sets the state of each cluster member to Passive and provides the load balancing and high availability data it acquires to the LocalDirector. The LocalDirector then actively manages HTTP traffic across the cluster. If you want ClusterCATS to load balance as well, you must go into each cluster member's Properties page and reset its state to Active. See "Changing a server's state".

Note To integrate ClusterCATS with a load balancing device other than LocalDirector
  1. Configure the load balancing device or software product as recommended by the manufacturer.
  2. Open the ClusterCATS Explorer and select the cluster that you want to integrate with the load balancing device or software product.
  3. Choose Load from the Configure menu. Alternatively, you can right-click the cluster and select Configure>Load.

    The Properties dialog box appears with the Load Balance tab active.

    The Bright Tiger selection that appears in the Load Balancing Product drop-down list indicates that ClusterCATS will actively load balance HTTP traffic across the cluster rather than the third-party device or software.

  4. Enter the name of the Web site in the Site Alias field and click OK.

    The load balancing device will now actively distribute load to the Web servers based on packet flow while ClusterCATS monitors ColdFusion load and availability. If ClusterCATS detects that the ColdFusion Server is becoming overloaded, it will supersede the load balancing device and redirect traffic accordingly.

Configuring administrator alarm notifications

The ClusterCATS alarm notification feature provides instant feedback about critical events that take place within a cluster. Once an event triggers an alarm, ClusterCATS notifies you by e-mail.

You can configure alarm notifications to warn you about:

Note To configure an alarm notification
  1. Open the ClusterCATS Explorer and select the cluster to which you want to add an alarm.
  2. Choose Alarm Notification from the Configure menu. Alternatively, you can right-click the cluster and select Configure > Alarm Notification.

    The Alarm Notification dialog box appears.

  3. Select the event for which you want to trigger an alarm and enter the e-mail address of the person you want to receive e-mail notification of the event.
  4. Repeat step 3 for each event you want to be notified about.

    Click Propagate to send all notifications to the same e-mail address.

  5. Enter the name of the default SMTP mail server to which your mail is delivered in the Default SMTP Host field.
  6. Click OK.

    If an event you chose occurs, ClusterCATS sends an e-mail message to the designated person. The following table explains the notification schedule for each event.

    Alarm Event Notification Schedule  
    Event type Notification occurs...
    Disk Failure Immediately
    HTTP Server Failure Immediately
    Server Busy Warning Every 24 hours
    Server Unreachable Immediately
    Web Server Failover Immediately
    ColdFusion Probe Failure Immediately

Configuring administration e-mail support

The ClusterCATS administration e-mail support feature sends vital statistics about your cluster to designated e-mail accounts in your organization. You can set up the following types of administration e-mail support:

Note To configure administration e-mail support options:
  1. Open the ClusterCATS Explorer and select a cluster icon in the ClusterCATS Explorer window.
  2. Choose Support from the Configure menu. Alternatively, you can right-click the cluster and choose Configure > Support.

    The Support dialog box appears.

  3. Enter the name of the server through which outgoing e-mail will be sent in the SMTP Gateway field.
  4. Enter in the Support E-mail field the e-mail address of the person at your organization that should receive a copy of the e-mail that is sent nightly to Allaire's Technical Support.

    If more than one person should receive the e-mail, separate the e-mail addresses with commas.

  5. Enter in the Report e-mail field the e-mail address of the person at your organization that should receive daily reports about your clusters.

    Again, if more than one person should receive the e-mail, separate the e-mail addresses with commas.

  6. Click OK.

Configuring cluster administration security

When you enable the ClusterCATS administration security for a specific cluster, only authorized users are able to access and administer that cluster using their ClusterCATS Explorer. ClusterCATS provides three administration security settings for securing your server cluster environment:

Note On UNIX platforms, ClusterCATS provides only two administration security modes -- Disabled and Local User authentication. See "Configuring administrator authentication" to configure administration security using the ClusterCATS Web Explorer.

The following sections describe how to enable the type of authentication most appropriate for your environment.

Configuring local-user authentication

Local-User authentication lets ClusterCATS authenticate specific users on a per-server basis. Local users of a server must have an account on the server where the Web server resides.

For example, if a cluster includes several Web servers and you only have an account on one, then you can only administer that server.

Note To enable local-user authentication:
  1. Create a user account on each server within your cluster for each administrator that you want to be able to administer the servers using the ClusterCATS Explorer.

    If your cluster members are NT servers, use the Windows User Manager utility to create your user accounts.

    Note If only one person will administer all cluster members in the cluster, be sure to create the same user account (identical user name and password) on each cluster member. The ClusterCATS Explorer will consequently prompt you only once for a user name and password. However, if multiple, different administrator accounts are created on each server, ClusterCATS Explorer will display user name and password prompts upon each attempt to access the servers from the ClusterCATS Explorer.

  2. Open the ClusterCATS Explorer and select a cluster icon.
  3. Choose Administration from the Configure menu or choose Properties from the Cluster menu. Both menu selections display the Properties dialog box. Alternatively, you can right-click the cluster and select Configure>Administration.

    The Properties dialog box appears.

  4. Within the Authentication area, select Local User from the Mode drop-down box.
  5. Enter a user name and password defined for a valid account and click OK.
    Note ClusterCATS requires you to enter a valid user name and password after selecting the type of authentication you are using so that you don't inadvertently lock yourself out of the cluster.

Local User Authentication for the selected cluster is enabled. Only administrators who have accounts on each secured server can access and administer the cluster members using their ClusterCATS Explorer.

Configuring Windows NT domain authentication

Windows NT Domain authentication lets ClusterCATS authenticate administrators that have been added to a Windows NT domain user group.

Note This authentication mode can only be used on NT servers.

Before you can enable NT domain authentication on any specific cluster, you must create an NT global user group within the domain you want to secure. You can do this using the standard Windows NT User Manager for Domains utility. After you create a user group, add users to it, and enable the NT Domain authentication mode from the ClusterCATS Explorer, all users you add to that group are automatically authenticated to view and change the cluster. All servers in the cluster must reside in the same Windows NT domain unless a trusted relationship is set up between two or more domains.

A global group must exist in the domain from which the ClusterCATS Explorer is executed. Cluster members in other domains need only the trust relationship. ClusterCATS Explorer determines what servers exist in which NT domain by communicating with any Windows NT domain controller for the domain. The list of servers that exist in the Windows NT domain can be viewed by looking at the Network Neighborhood Windows NT utility. If no trust relationship exists, then cluster members must be from the same Windows NT domain.

Note To enable Windows NT domain authentication:
  1. Click Start>Programs > Administrative Tools > User Manager for Domains to open the User Manager for Domains utility.
  2. Choose New Global Group from the User menu.

    The New Global Group dialog box appears.

  3. Enter a name and description for the group in the applicable fields.

    Your global group name must be BT_clustername, where clustername is the name of your ClusterCATS cluster.

  4. Click Add to add the administrators you want to have privileges to your global group.

    The Add Users and Groups dialog box appears.

  5. Select the domain from the List Names drop-down box.
  6. Select the users you want to add to the group and click Add.
  7. Click OK in all open dialog boxes to apply your additions and to close the User Manager for Domains utility.
  8. Open the ClusterCATS Explorer and select the cluster for which you want to configure authentication.
  9. Choose Administration from the Configure menu or choose Properties from the Cluster menu. Both menu selections display the Properties dialog box. Alternatively, you can right-click the cluster and select Configure>Administration.

    The Properties dialog box appears.

  10. Within the Authentication area, select NT Domain from the Mode drop-down box.
  11. Enter a valid user name and password that participates in the domain and click OK.
    Note ClusterCATS requires you to enter a valid user name and password after selecting the type of authentication you are using so that you don't inadvertently lock yourself out of the cluster.

Windows NT Domain authentication for the selected cluster is now enabled. Only users who you added to the Global User Group of the domain can use ClusterCATS Explorer to view and administer clusters using the ClusterCATS Explorer.

Disabling authentication

Disabled authentication lets any user use the ClusterCATS Explorer to create, configure, or administer clusters. Once the cluster is added, administrators have unrestricted access to the content in that cluster. Therefore, you should only choose this mode if security is not a significant concern in your environment.

By default, ClusterCATS administrator security is disabled. However, if you've previously configured one of the other security modes for your cluster and now want to turn it off, perform the following procedure.

Note To disable authentication:
  1. Open the ClusterCATS Explorer and select a cluster icon in the left pane.
  2. Choose Administration from the Configure menu or choose Properties from the Cluster menu. Both menu selections display the Properties dialog box. Alternatively, you can right-click the cluster and select Configure>Administration.

    The Properties dialog box appears.

  3. Within the Authentication area, select Disabled from the Mode drop-down box.
  4. Click OK.

    ClusterCATS administrator authentication is now disabled for the selected cluster.