Page 2
This guide contains links to third-party websites that are not under the control of Macromedia, and Macromedia is not responsible for the content on any linked site. If you access a third-party website mentioned in this guide, then you do so at your own risk. Macromedia provides these links only as a convenience, and the inclusion of the link does not imply that Macromedia endorses or accepts any responsibility for the content on those third-party sites.
ABOUT THIS BOOK Using ClusterCATS describes how to use ClusterCATS, the clustering technology that provides load-balancing and failover services to assure high availability for your web servers. Contents Developer resources ....................viii About Macromedia documentation ................ ix Contacting Macromedia ..................x...
Macromedia, Inc. is committed to setting the standard for customer support in developer education, documentation, technical support, and professional services. The Macromedia website is designed to give you quick access to the entire range of online resources. The following table shows the locations of these resources.
ColdFusion About Macromedia documentation Macromedia documentation is designed to provide support for the complete spectrum of participants. The print and online versions are organized to let you quickly locate the information that you need. The Macromedia online documentation is provided in HTML and Adobe Acrobat formats.
600 Townsend Street San Francisco, CA 94103 Tel: 415.252.2000 Fax: 415.626.0554 Web: http://www.macromedia.com Technical support Macromedia offers a range of telephone and web-based support options. Go to http://www.macromedia.com/support for a complete description of technical support services. Sales Toll Free: 888.939.2545 Tel: 617.219.2100 Fax: 617.219.2101...
CHAPTER 1 Before You Begin ClusterCATS is a web server clustering technology that provides load-balancing and failover services that assure high availability for your web servers. ClusterCATS lets you cluster distributed servers into a single, high-performance, highly available environment of web server resources. A cluster consists of two or more web servers located on a LAN or across a WAN.
Creating a fast, reliable website becomes substantially more challenging. Macromedia created ClusterCATS, a complete website resource management solution, to enable service level agreements offering 24x7 availability and optimal response time for e-commerce, customer self-service, sales automation, customer support, and other critical business functions.
The following table introduces the ClusterCATS capabilities: Feature Description Application and server Allows administrators to configure server load thresholds to load management provide optimum user response time in JRun/ColdFusion applications. ClusterCATS Server load management protects users from overloaded servers. Server failover Provides seamless failover of a web server because of a hardware, software, or network connection to another member in the cluster.
Page 14
Session state management and failover For some applications, it is important that a user session is completed on one server. ClusterCATS offers a session state management option that ensures that the same web server services requests from a user. When enabled, this option sends the user to the best-performing server.
ClusterCATS product configurations ClusterCATS includes a comprehensive core set of features and offers several add-on options for extending its capabilities. All ClusterCATS configurations include: Macromedia Enterprise Server (ColdFusion and JRun) load manager Configurable load thresholds Real-time load monitor Session state management (server level)
ClusterCATS components ClusterCATS consists of these primary components: Server Resides on each computer in a cluster. It communicates with the web server and other ClusterCATS Servers. For more information, see “ClusterCATS Server” on page Server Administrator (Windows only) or btadmin Lets you perform server-specific administration tasks through a graphical interface.
System requirements This section describes the platforms on which the ClusterCATS components run and their minimum system requirements. ClusterCATS Server system requirements You must install the ClusterCATS Server component on each server in your cluster. Ensure that your server meets the minimum system requirements for your platform. Windows system requirements for ClusterCATS Server Intel Pentium 200 Mhz or greater CPU 100 MB of free disk space...
ClusterCATS Explorer and Web Explorer system requirements You can install the ClusterCATS Explorer or Web Explorer component on a computer outside the cluster, so you can administer the cluster from a central location. Ensure the computer on which you install one of these components meets the minimum system requirements.
CHAPTER 2 Scalability and Availability Overview This chapter describes the concepts involved in achieving scalable and highly available web applications. Contents What is scalability? ....................10 Successful scalability implementations ..............13 What is website availability?................... 23 Creating scalable and highly available sites............. 28...
What is scalability? As an administrator, you probably hear about the importance of having web servers that scale well. But what exactly is scalability? Simply, scalability is a web server’s ability to maintain a site’s availability, reliability, and performance as the amount of simultaneous web traffic, or load, hitting the web server increases.
Page 21
Linear scalability Perfect scalability — excluding cache initializations — is linear. Linear scalability, relative to load, means that with fixed resources, performance decreases at a constant rate relative to load increases. Linear scalability, relative to resources, means that with a constant load, performance improves at a constant rate relative to additional resources.
Load management Load management refers to the method by which simultaneous user requests are distributed and balanced among multiple servers (Web, JRun, ColdFusion, DBMS, file, and search servers). Effectively balancing load across your servers ensures that they do not become overloaded and eventually unavailable. There are several different methods that you can use to achieve load management: Hardware-based solutions Software-based solutions, including round-robin Internet DNS or third-party...
Successful scalability implementations Achieving scalable web servers is not a trivial task. There are various solutions from which to pick, setup and configuration tasks to understand and perform, and many delicate dependencies between related but heterogeneous technologies. This section describes some of the major issues affecting successful scalability implementations: “Designing and coding scalable applications”...
Page 24
Web developers must think through the user scenarios in which application session and state are affected, and engineer appropriate mechanisms to handle them. The most common ways to handle session data are: Client-side options consisting of cookies, hidden fields, a get list, or URL parameters Server-side session variables Note: Storing session data on the server requires that a simple identifier is stored on the client, such as a cookie.
Page 25
Application partitioning The way an application is partitioned and deployed dramatically affects its ability to scale. A key development objective must be to ensure that each partition scales independently of the others, thereby eliminating application bottlenecks. Application partitioning refers to the logical and physical deployment of an application’s three core types of logic, or services —...
cleanly display all technologies, such as cascading style sheets (CSS), Java applets, and frames, you must carefully evaluate their use in your applications. Bear in mind these presentation guidelines, to aid your applications’ performance and user experience, and be sure to plan and test for the lowest common denominator that all browsers can accommodate.
The primary capability of DNS is its ability to map host names to IP addresses, and vice versa. For example, suppose the web server at Macromedia has an IP address of 157.55.100.1. Most people would connect to this server by entering the domain name (www.macromedia.com), not the less-friendly IP address.
Page 28
To understand why, let’s look at the e-commerce example. Even if you have planned ahead and set up multiple servers to support this high-volume site, if you rely only on DNS, it can only perform two tasks: Translate natural language names to server IP address mappings so that users can find the site Distribute load among servers in a rote, sequential distribution manner, if you have enabled round-robin distribution for multiserver load balancing...
Page 29
The following figure shows these concepts: DNS servers store information about the domain name space and are referred to as name servers. Name servers typically have one or more zones for which they are responsible. The name server has authority for those zones and is aware of all the other DNS name servers that are in the same domain.
The DNS entries would look like the following: ; Entries for forward-resolution: A-records www1.yourcompany.com IN A 192.168.0.1 www2.yourcompany.com IN A 192.168.0.2 ; Entries for reverse-resolution: PTR-records 192.168.0.1 www1.yourcompany.com 192.168.0.2 www2.yourcompany.com ; Round Robin entries www.yourcompany.com IN A 192.168.0.1 www.yourcompany.com IN A 192.168.0.2 To ensure that your site lookups and translations occur as intended, you must provide correct entries in your DNS records, as shown.
Page 31
hitting your web server. By using the software in conjunction with your defined benchmarks and formal test plans, you can confidently determine whether your web application is ready for deployment. Another reason to load test is to verify your failover capabilities. Failover ensures that if a primary server within a cluster of servers stops functioning, subsequent user requests are directed to another server within the cluster.
Page 32
Load-testing considerations Before starting your load testing, consider the following: Define benchmarks early — ensure that you understand your website’s performance and scalability requirements before you start running tests against it. Otherwise, you won’t know what you’re testing for and the statistics you capture won’t have significance.
What is website availability? It is critical to design, develop, test, and deploy web applications so they can scale well under heavy and ever-increasing load. However, in spite of the best-laid plans and preparations, servers can fail for seemingly unknown reasons, causing your site to become unavailable.
For JRun and ColdFusion web applications, it is particularly important that the servers remain as highly available and responsive as the web server and other dependent servers. JRun and ColdFusion process requests sent to them from the web server. Upon successfully processing the application logic, JRun and ColdFusion return the results to the web server, which in turn returns an HTML response to the browser.
Website availability scenario Imagine that you have just built a robust, interactive e-commerce website on which you plan to sell the most sought-after books and music in the world. You have used Java scriptlets to build the application, so of course you’ve taken advantage of its many built-in features, including secure database access, multithreading, and integrated session management.
Page 36
In fact, Macromedia recommends that you use a minimum of three servers to support a critical website, so you can take one server offline to perform update and maintenance tasks while maintaining at least two servers in production at all times.
Page 37
However, before the analysis and repair can occur, the administrator must be notified. Whatever failover system you put in place, it should include an automated notification system that can route alerts through your telecommunications infrastructure (e-mail, pagers, real time Web-based alerts, and so on) to the appropriate administrator for prompt attention.
Creating scalable and highly available sites When you understand the issues of scalability and availability, the next step is to learn the techniques you can use to achieve scalable and highly available websites. This section describes the following topics: “What is clustering?” on page 28 “Hardware-based clustering solutions”...
Hardware-based clustering solutions A common and reliable hardware-based clustering solution is a packet router. One of the most popular routers is Cisco Systems’ LocalDirector. A router, in front of a cluster of web servers, directs incoming HTTP requests to available web servers in the cluster. A router works by assessing the rate and volume of IP packet flow to and from web servers, and selecting the best server to accommodate the traffic.
There are no recurrent licensing fees It is semi-intelligent; routers can load balance in a round-robin fashion, detect failures, redirect traffic, and remove failed servers from a cluster. Note: Load-balancing devices offer different features and capabilities. Considerations Carefully evaluate the following issues against a router’s attributes: Expense —...
Page 41
Advantages The following benefits make a software-based clustering solution attractive: Relatively low expense — compared to the cost of hardware devices, such as routers or switches, software-based clustering solutions are relatively inexpensive. In fact, you can cheaply implement Internet DNS on UNIX and Windows platforms for initial load-balancing needs, and augment with third-party clustering software.
Combining hardware and software clustering solutions Instead of having to choose either a hardware solution or a software solution, you can combine both types of clustering choices. Combining hardware and software solutions certainly provides the greatest scalability and availability capabilities for a site. A combined solution is an attractive option if your organization has already invested in one, but is looking for more comprehensive coverage.
CHAPTER 3 Installing ClusterCATS Before installing ClusterCATS, you must make many important decisions about the architecture of your website. Use the first section in this chapter to guide you through the decision-making process. When you have installed ClusterCATS, read the last section in this chapter for important information on how to make your site secure and reliable.
Before you install Before installing ClusterCATS and creating server clusters, you must perform the following pre-installation tasks: “Upgrading from a previous version of ClusterCATS” on page 34 “Configuring DNS servers” on page 34 “Configuring server failover” on page 38 “Using ClusterCATS dynamic IP addressing” on page 38 “Configuring firewalls”...
Page 45
The primary DNS server contains tables of forward and reverse name translations. For example, forward translation entries (A records) look like this: www1.company.com 192.168.0.1 www2.company.com 192.168.0.2 Reverse translation entries (PTR records) are opposite, and look like this: 192.168.0.1 www1.company.com 192.168.0.2 www2.company.com Configure your websites with forward and reverse DNS entries on your primary DNS server.
Page 46
ClusterCATS compensates for these limitations. Macromedia recommends that you use round-robin DNS or a hardware load-balancing device to distribute requests initially to the web servers in your cluster. After the initial distribution, ClusterCATS load management and failover features automatically take over and ensure that your web applications remain up and running.
Page 47
Using ClusterCATS with round-robin DNS For high-volume sites, you should use round robin DNS to initially distribute requests to the web servers in your cluster. The load management component of ClusterCATS enhances round-robin DNS by eliminating its two major limitations: Server failure —...
A common technique is to use NAT as a security precaution on your firewall. This configuration segregates internal and external resources and facilitates extra control and monitoring of web traffic. For more information, see Macromedia Knowledge Base Article 15339. If multiple, distributed server clusters support a domain, you must open appropriate ports on each firewall to ensure that the server clusters’...
from behind another firewall, you must open both ports so the ClusterCATS Explorer can communicate with the cluster. The following diagram shows this scenario: This scenario involves Company ABC, which has East Coast and West Coast server groups connected to the Internet, protected by several firewalls. The ClusterCATS Explorer resides at the corporate headquarters behind a firewall with a direct connection to the Internet.
Considering domain controllers (Windows NT only) If you use Windows NT Domain server authentication, each web server in a cluster must participate as a member NT server in a domain. Do not set a server in your cluster as the primary domain controller (PDC).
Installing ClusterCATS ClusterCATS is a separate installation package from the JRun server installation program. You must install the ClusterCATS load-balancing and high-availability software on each servers in your cluster. You can run the installation program to install ClusterCATS on a separate, nonclustered computer from which you will administer your clusters with ClusterCATS Explorer (Windows).
The following table describes your options: Method Reason to Select Option HyperText Transport To have ClusterCATS load manage just your web server’s Protocol (HTTP) HTTP requests. JRun (JSP) To have ClusterCATS load manage your JRun server’s JSP and servlet requests. ColdFusion (CFM) To have ClusterCATS load manage your ColdFusion server’s CFML page requests.
Page 53
3 Review the file that is supplied with ClusterCATS. If you agree with license.txt the licensing terms, enter Yes at the prompt. If you do not agree with the licensing terms, enter No. Entering No terminates the installation procedure. The installation directory prompt appears. Enter install directory for ClusterCATS Server: [/opt]: 4 Enter the base directory where ClusterCATS will be installed, or press Enter to accept the default.
Page 54
If you are configuring ClusterCATS with Netscape and selected Yes, you are prompted to decide which servers in the cluster this server will provide failover support for: Cluster Mates to provide Failover for: all, subset, none [all]: 10 Netscape only: Enter all to provide failover support to all members of this server’s cluster.
After you install When you have successfully installed ClusterCATS on all members of the cluster and any administrative computers, you are ready to create your first cluster. If you administer ClusterCATS from a Windows computer, you can use the Cluster Setup Wizard described in “Creating clusters with the Cluster Setup Wizard”...
CHAPTER 4 Configuring Clusters When you have configured your website and installed ClusterCATS, use the procedures in this chapter to create and configure clusters. Contents Introduction to ClusterCATS Administration............48 Creating clusters ....................54 Removing clusters....................62 Adding cluster members ..................63 Removing cluster members ..................
Introduction to ClusterCATS Administration ClusterCATS consists of these components: ClusterCATS Server ClusterCATS Explorer and ClusterCATS Web Explorer ClusterCATS Server Administrator and btadmin The following sections describe these components. All the components are installed on a computer when you run the ClusterCATS installation program.
Note: You can run the ClusterCATS Explorer from any server in the cluster, or you can run it remotely. This flexibility gives administrators in different geographic locations the ability to administer distributed clusters. You can also use ClusterCATS Explorer to administer UNIX clusters from a single Windows computer.
Page 60
Monitor the load hitting the server via a graphical display; the server’s load statistics are only displayed textually on the Cluster Member List and Server Properties pages Integrate ClusterCATS with Cisco LocalDirector If you require any of these capabilities, you should obtain a Windows computer and use the Windows-based ClusterCATS Explorer for your cluster administration.
Page 61
AuthUserFile /usr/local/apache/conf/users require user admin </Directory> </VirtualHost> When you have configured your server, restart Apache. To access the Web Explorer, point your browser to the IP address you entered as the VirtualHost For information on using the utility to create and manage your authentication htpasswd file list, see the Apache documentation.
The ClusterCATS Server Administrator lets you accomplish these tasks using an easy-to-use graphical user interface. To open the ClusterCATS Server Administrator, select Start > Programs > Macromedia > ClusterCATS Server Administrator. For more information on using the Server Administrator, see Chapter...
btadmin is a scriptable utility that lets you perform server-specific maintenance activities btadmin for each server in a cluster. is available on UNIX and Windows servers. btadmin Unlike the ClusterCATS Web Explorer, which lets you administer your entire cluster from one central computer, you must use from each server in your cluster.
ClusterCATS Explorer to make any necessary changes. To create a server cluster using the Cluster Setup Wizard: 1 Select Start > Programs > Macromedia > ClusterCATS Explorer. The ClusterCATS Explorer opens: 2 Select Configure > Cluster Setup Wizard or click the Cluster Setup Wizard icon in the toolbar.
Page 65
The Create New Cluster dialog box appears: 3 Enter a name for your cluster and click Next. Make your cluster names logically consistent with their purpose. For example, Sales Web, Customer Support Web, and so on. The List of Web Servers in the Cluster dialog box appears: Creating clusters...
Page 66
The Add New Server to Cluster dialog box appears: 5 Enter the fully qualified host name of a web server in the New Web Server Name field (for example, doc.macromedia.com). 6 If you use the ClusterCATS dynamic IP addressing scheme and the maintenance IP address is not bound to your NIC, select ClusterCATS Maintenance Support.
Page 67
10 To use the default load threshold settings, click Next and go to step 13. If you do not want to use the defaults, select the server and click Configure to configure new peak and gradual redirect load thresholds for that cluster member. The Load Thresholds dialog box appears: 11 Enter numerical values (not higher than 100%) in the Peak Load Threshold and Gradual Redirect fields and click OK.
Page 68
manually change the few recipients that are different. If there are multiple recipients for one alert event, separate e-mail address entries with commas. Click OK to return to the Alarm Notifications dialog box and then click Next to proceed. The Session State Management dialog box appears: 16 If your server cluster supports a site that must maintain persistent state on the same web server during a user session, select Yes to enable session-aware load balancing.
Page 69
To manually add cluster members to a cluster, see “Adding cluster members” on page To manually create clusters: 1 Select Start > Programs > Macromedia > ClusterCATS Explorer. The ClusterCATS Explorer opens. 2 Select Cluster Manager > New Cluster, or right-click the Cluster Manager icon and select New Cluster, or click the New Cluster button in the toolbar.
Field Description ClusterCATS Select the ClusterCATS Maintenance Support check box to maintenance enable support for offline maintenance. The Admin Manager support must be configured with a maintenance IP address. Using maintenance support requires that your cluster support ClusterCATS dynamic IP addressing. For more information, see “ClusterCATS dynamic IP addressing (Windows only)”...
Page 71
Web Server Enter the fully qualified host name (for example, Name doc.macromedia.com) for the first server you want to be a member of this cluster. You cannot create an empty cluster; you must specify a web server that will be part of the cluster. The first server that you add to a cluster is known as the Admin Manager.
Removing clusters To delete a cluster, you must delete each member from the cluster individually, using the procedure described in “Removing cluster members” on page Note: When deleting cluster members, you must delete the Admin Manager (Windows) or the Admin Agent (UNIX) last. This server is the first server you added to the cluster. When the last cluster member has been removed, the cluster itself is deleted.
The Add New Server to Cluster dialog box appears: 3 In the Web Server Name field, enter the fully qualified host name of the web server (for example, doc.macromedia.com). 4 If you use the ClusterCATS dynamic IP addressing scheme and the maintenance IP address is not bound to your NIC, select ClusterCATS Maintenance Support.
1 Open the ClusterCATS Web Explorer if it is not already open. 2 Click the Add Server link. The Add Server page appears: 3 Enter the fully qualified host name (for example, doc.macromedia.com) in the Web Server Name field. 4 Click OK to add the cluster member to the existing cluster.
Removing cluster members You can remove servers from a cluster at any time. This section describes the following: “Removing cluster members in Windows” on page 65 “Removing cluster members in UNIX” on page 65 Removing cluster members in Windows Use the ClusterCATS Explorer to remove cluster members. To remove a cluster member from a cluster: 1 Open the ClusterCATS Explorer and select a cluster member.
Server load thresholds ClusterCATS ensures that your web applications remain available and running at optimum performance by intelligently managing the 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.
Page 77
The server’s Properties dialog box appears: 3 Click the Load tab. 4 Enter a numeric value (less than 100%) in the first Load Management field. This is referred to as the peak load threshold. In the example above, the peak load threshold is set to 90.
Page 78
Viewing a cluster’s load status JRun/ColdFusion reports its load data directly to ClusterCATS. You can view the load on the servers at any time using the Server Load Monitor. To view your cluster’s current load levels: 1 Open the ClusterCATS Explorer and select a cluster. 2 Select Monitor >...
The Server Load dialog box appears: 3 Use your mouse to drag the peak load threshold (red) up or down. As you move the line, the peak load threshold percentage changes. 4 Enable gradual redirection by selecting the Gradual Redirection check box. 5 Drag the Gradual Redirection load threshold (yellow) to adjust it accordingly.
Page 80
3 Click OK. The Cluster Member List page appears. If you get an "Error: Server <cluster_member_name> could not be found", ensure that you used the correct, fully qualified server name and that the server is running. 4 Click the Server Attributes link. The Connect To Server page appears: 5 Select a server to connect to from the Web Server Name list box.
Page 81
The selected server’s Server Properties page appears: 7 Click the Administration link under Server Attributes. The Server Administration page appears for the selected server: 8 To change the peak load threshold, enter a new numeric value (less than 100%) in the Standard Load Threshold field.
Session-aware load balancing Managing a web application’s state in a clustered environment can be challenging. By default, web application, session, and server variables that are stored in memory or a repository during a user session do not persist during a server redirection. Consequently, the web server cannot maintain the application’s state correctly.
Page 83
3 Click OK. The Cluster Member List page appears: 4 Click the Administration link under Cluster Attributes. The Cluster Administration page appears: 5 Select the Enable session-aware load balancing check box. 6 Click OK to enable session-aware load balancing for the selected cluster. Session-aware load balancing...
Persistent session failover in JRun JRun can be configured to enable session persistence, meaning that all session data is saved (persisted) upon the completion of every request. When a server that is servicing a client's session goes down, the client's active session data can be retrieved intact from a common data store (such as a JDBC database) by another server.
To enable session swapping on Windows: 1 Edit the registry (using regedit) and open the following key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BrightTiger\ Parameters 2 Add the following value: REG_DWORD SessionSwapping 3 Close the registry editor. 4 Repeat this procedure for every server in the cluster. To enable session swapping on UNIX: 1 Log in as the super user (root).
Using JDBC for session swapping To use JDBC for session swapping, the JRun server's file should local.properties contain the following properties: session.persistence.service=jdbc session.persistence.jdbc.class=allaire.jrun.session.JDBCSessionStorage session.persistence.jdbc.JDBCDriver=sun.jdbc.odbc.JdbcOdbcDriver session.persistence.jdbc.JDBCConnectionURL=jdbc:odbc:JRunSessions session.persistence.jdbc.JDBCSessionTable=sessions session.persistence.jdbc.JDBCSessionIDColumn=id session.persistence.jdbc.JDBCSessionDataColumn=data JDBC swapping requires that you have a valid JDBC driver that can successfully connect to the database.
Using ColdFusion probes ClusterCATS provides load-balancing and failover support for your web applications in two ways. First, it automatically interprets and reacts to the load metric that the ColdFusion server generates. Second, ClusterCATS lets you create web application monitors. These monitors can have multiple probes that periodically test the health and operation of the websites that the servers process.
Page 88
To add a new monitor and ColdFusion probe: 1 Open the ClusterCATS Explorer and select a server. 2 Select Server > New Monitor. Alternatively, you can right-click the server and select New Monitor. The New Monitor dialog box appears: 3 Enter a name to assign to this probe’s monitor in the Name field and click OK. The monitor’s Properties dialog box appears: Chapter 4 Configuring Clusters...
Page 89
4 Click the New Probe button The ColdFusion Web Application Probe settings dialog box appears: 5 Configure the application probe settings as described in the following table: Field Description Web Server Select the name of the server from the drop-down list. Pathname Enter the absolute path to the ColdFusion probe.
Page 90
Field Description Frequency (sec) Enter a time, in seconds, to indicate how often the probe checks the ColdFusion server. Probes that restart web applications should be configured to run no more frequently than the time it takes to stop and restart ColdFusion.
4 Click the New Probe button The ColdFusion Web Application Probe settings dialog box appears: 5 Configure the application probe settings as described in the table on page 79. 6 Click Register to create the probe. 7 Close all open dialog boxes. An icon for the new probe appears under the Monitor Manager in the ClusterCATS Explorer.
Page 92
9 To create a new probe, click New. The ColdFusion Application Probe page appears. If this is the first probe for this server or you clicked New to add another probe, the ColdFusion Application Probe page appears. 10 Configure the application probe settings as described in the following table: Field Description Status...
Page 93
11 Click Register to create the probe. ClusterCATS begins to test the selected server immediately. Editing and removing ColdFusion probes To edit or remove a ColdFusion probe: 1 Open the ClusterCATS Web Explorer, if it is not already open. 2 Click the Show Cluster link. The Show Cluster page appears.
Using JRun probes ClusterCATS provides load-balancing and failover support for your web applications in two ways. First, it automatically interprets and reacts to the load metric that the JRun servers generate. Second, ClusterCATS lets you create web application monitors. These monitors can have multiple probes that periodically test the health and operation of the websites that the JRun servers process.
Page 95
To add a new monitor and JRun probe: 1 Open the ClusterCATS Explorer and select a server. 2 Select Server > New Monitor or right-click the server and select New Monitor. The New Monitor dialog box appears: 3 Enter a name to assign to this probe’s monitor in the Name field on the New Monitor dialog box and click OK.
Page 96
4 Click the New Probe button The JRun Application Probe settings dialog box appears: 5 Configure the application probe settings as described in the following table: Field Description Web Server Select the name of the server from the drop-down list. Pathname Enter the absolute path to the JRun probe.
Page 97
Field Description Timeout (sec) Enter a time to indicate how long ClusterCATS waits before a JRun server failure is registered. Do not set this value to less than 60 seconds, because ClusterCATS may restart the JRun server inadvertently (due to network congestion, for example), rather than detect an actual failure on the JRun server.
The monitor’s Properties dialog box appears: 3 Click the New Probe button The JRun Application Probe settings dialog box displays. 4 Configure the application probe settings as described in the table in “Using JRun probes” on page 5 Click Register to create the probe. 6 Close all open dialog boxes.
Page 99
Adding JRun probes To add a new JRun probe: 1 In the ClusterCATS Web Explorer, click the Show Cluster link. The Show Cluster page appears. 2 In the Web Server Name field, enter the fully qualified host name of a server for which to configure the JRun probe.
Page 100
9 Configure the application probe settings as described in the following table: Field Description Status This is an informational field. If the probe is not registered, the Status displays Not registered. If the probe is registered, the Status displays Succeeding. Pathname Enter the path to the JRun probe.
Page 101
Field Description Frequency (sec) Enter a time to indicate how often the probe checks the JRun server. Probes that restart web applications should be configured to run no more frequently than the time it takes to stop and restart JRun. The time is highly site-specific, because it depends on the system resources available on the servers and the volume of traffic at the site.
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. This section describes the following: “Using Cisco LocalDirector” on page 92 “Using third-party load-balancing devices in Windows”...
Page 103
LocalDirector dynamic-feedback command settings Use the LocalDirector command options as described in this section dynamic-feedback to optimize your LocalDirector setup. Note: Do not use the dynamic-feedback-pw command. ClusterCATS does not support secure DFP hosts. sets to a value larger than the update dynamic-feedback -timeout —...
Page 104
7 Select Cluster > Properties or Configure > Administration. Both menu selections display the Cluster Properties dialog box, as the following figure shows: 8 Click the Load Balance tab and choose Cisco LocalDirector from the Load Balancing Product drop-down list. Chapter 4 Configuring Clusters...
9 Edit the cluster properties as described in the following table: Field Description Website Alias Enter the name of the virtual server (www.yourcompany.com) you created in step 3. LocalDirector IP Enter the IP address of Cisco LocalDirector. Address DFP Agent Listen Enter the port number on which the cluster's DFP agent should Port listen for incoming LocalDirector connection requests.
Page 106
Using third-party load-balancing devices in Windows To integrate ClusterCATS with a third-party load-balancing device: 1 Configure the load-balancing device or software product as recommended by the manufacturer. 2 Open the ClusterCATS Explorer and select a cluster. 3 Select Configure > Administration or right-click the cluster and select Configure > Configure.
Page 107
Using third-party load-balancing devices in UNIX You cannot take advantage of ClusterCATS support of Cisco LocalDirector with ClusterCATS Web Explorer. This capability is available only in the Windows-based ClusterCATS Explorer. You can, however, configure Cisco LocalDirector as a third-party load-balancing device to work with ClusterCATS. To integrate ClusterCATS with a third-party load-balancing device: 1 In ClusterCATS Web Explorer, click the Show Cluster link.
Administrator alarm notifications The ClusterCATS alarm notification feature provides instant feedback about critical events that take place within a cluster. When an event triggers an alarm, ClusterCATS notifies one or more people by e-mail. The events that can trigger a notification are listed below.
Configuring administrator alarm notifications on UNIX To configure administrator alarm notifications: 1 In ClusterCATS Web Explorer, click the Show Cluster link. The Show Cluster page appears. 2 Enter the fully qualified host name of a server for which to configure administrator alarm notifications in the Web Server Name field.
Log files — size and location of the log files Support e-mail — sends an automatic e-mail nightly to Macromedia’s Technical Support team that contains basic configuration information about your cluster. This information enables Macromedia to provide optimal support by understanding your environment when you call a Technical Support representative.
If more than one person should receive the e-mail, separate the addresses with commas. You do not have to enter a Macromedia Technical Support address. Report Enter the e-mail address of a person in your organization to receive daily e-mail reports about your clusters.
Page 112
If more than one person should receive the e-mail, separate e-mail addresses with commas. You do not have to enter a Macromedia Technical Support address. Report Enter the e-mail address of the person at your organization that should e-mail receive daily reports about your clusters.
Administering security When you enable ClusterCATS administration security for a cluster, only authorized users are able to access and administer the cluster, using ClusterCATS Explorer (Windows) or the ClusterCATS Web Explorer (UNIX). ClusterCATS provides these administration security settings for securing your server cluster environment: Disabled Authentication —...
Page 114
To configure authentication modes for your clusters: 1 Create a user account on each server within your cluster for each administrator whom 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.
Page 115
Configuring Windows NT domain authentication Windows NT Domain authentication lets ClusterCATS authenticate administrators who have been added to a Windows NT domain user group. Note: This authentication mode can be used only on NT servers and on Windows 2000 servers if the domain is using the Windows NT compatible domain controller model rather than the Active Directory model.
10 Select NT Domain from the Mode drop-down box. 11 Enter a valid user name and password that participates in the domain. Note: ClusterCATS requires you to enter a valid user name and password after selecting the authentication type, so you do not inadvertently lock yourself out of the cluster.
Page 117
The Cluster Authentication page appears: 5 Select Local User from the Authentication drop-down box to enable local-user authentication. 6 Select Disabled to disable authentication. 7 If using local user authentication, enter a valid user name and password and click ClusterCATS requires you to enter a valid user name and password after selecting the authentication type, so you do not inadvertently lock yourself out of the cluster.
CHAPTER 5 Maintaining Cluster Members After you have created your clusters, added servers to them, and configured them with load-balancing and high-availability features, they will probably run inconspicuously in your environment for quite some time. However, at some point you may need to update software and content or perform general maintenance tasks that are beyond the typical cluster creation and configuration activities.
Understanding ClusterCATS server modes ClusterCATS lets you move cluster members into modes of operation depending on the tasks you want to perform on their server. The modes let you remove servers from clusters to perform maintenance activities without disturbing the current traffic flow, among other things.
Changing active/passive settings All cluster members are added to a cluster with the ClusterCATS Server in active state, by default. In active state, ClusterCATS Servers intercept requests to your web resources and provide availability and failover services. From time to time, you may want to turn off these load-balancing and failover services, to help troubleshoot problems.
Changing active/passive settings in UNIX To change a cluster member’s state: 1 In ClusterCATS Web Explorer, click the Show Cluster link. The Show Cluster page appears. 2 Enter the fully qualified host name of the server in the Web Server Name field. 3 Click OK.
Changing restricted/unrestricted settings ClusterCATS lets you stop a cluster member from receiving HTTP requests by changing the restricted/unrestricted setting. You may want to restrict a server when performing server maintenance or software updates, verifying load configurations, or as an alternative method to managing load.
Restricting/unrestricting servers in UNIX To change restriction settings for a cluster member: 1 In ClusterCATS Web Explorer, click the Show Cluster link. The Show Cluster page appears. 2 Enter the fully qualified host name of a server in the Web Server Name field. 3 Click OK.
IP address and HTTP traffic return the IP address to the affected server so it can receive and process HTTP requests. Note: Macromedia recommends that you set up your clusters with ClusterCATS dynamic IP addressing for using maintenance mode. For more information, see “Using server failover”...
Page 126
4 Click OK. 5 Physically go to the server you selected in step 1 and open the ClusterCATS Server Administrator on it, by selecting Start > Programs > Macromedia > ClusterCATS Server Administrator. The ClusterCATS Server Administrator appears.
Page 127
To take a cluster member out of maintenance mode: 1 Physically go to the server and open the ClusterCATS Server Administrator by selecting Start > Programs > Macromedia > ClusterCATS Server Administrator. The ClusterCATS Server Administrator appears. 2 Click the BT Service Status button to display the Manage ClusterCATS Services dialog box.
4 When you have verified your changes, exit the browser. 5 Open the ClusterCATS Server Administrator utility on the server by selecting Start > Programs > Macromedia > ClusterCATS Server Administrator. 6 Click the BT Service Status button. The Manage ClusterCATS Services dialog box appears: 7 Select Running.
Page 129
8 To initially limit the amount of HTTP traffic sent to the server, return to ClusterCATS Explorer and reconfigure the cluster member’s peak load threshold to a low value such as 10%. 9 Click OK. 10 In ClusterCATS Explorer, right-click a cluster member and select Monitor > Load. The Server Load monitor appears: 11 Observe your cluster member at low usage levels until you are satisfied that your new changes are working properly.
ClusterCATS configuration. To reset a server to its preclustered state: 1 Open the ClusterCATS Server Administrator on this server by selecting Start > Programs > Macromedia > ClusterCATS Server Administrator. The ClusterCATS Server Administrator appears. 2 Click Advanced. The Advanced Option dialog box appears: 3 Click Reset ClusterCATS to remove the ClusterCATS configuration from the server.
CHAPTER 6 ClusterCATS Utilities ClusterCATS ships with scriptable command-line utilities for configuring, administering, and troubleshooting ClusterCATS clusters. This chapter describes these utilities. Contents Using btadmin..................... 122 Using bt-start-server and bt-stop-server (UNIX only) .......... 125 Using btcfgchk ....................126 Using hostinfo ..................... 129 Using sniff ......................
Using btadmin is a scriptable utility installed on each server in a cluster. It provides most of the btadmin functionality of the Windows-based ClusterCATS Server Administrator so UNIX and Windows administrators can include calls in automated scripts. This section describes the following: “Using btadmin on Windows”...
Page 133
The following sections describe each of these options. [start | stop | restart <daemon>] You can start, stop and restart the following daemons with btadmin Daemon Description appmgr Application manager daemon. Cisco LocalDirector’s Dynamic Feedback Protocol daemon. failover Failover daemon. ipaliasd ClusterCATS failover daemon.
Page 134
You can enable, disable, and configure the following ClusterCATS options using the utility: btadmin Option Description btcats Configures the ClusterCATS Server. Configures Cisco LocalDirector’s Dynamic Feedback Protocol. failover Configures the ClusterCATS failover (ipaliasd) support. load Configures the load-balancing preferences. wsroot Configures a web server root directory in case you upgrade your installation or move the root directory.
Using bt-start-server and bt-stop-server (UNIX only) utilities start and stop the web server that bt-start-server bt-stop-server is bound to the ClusterCATS Server. This command starts or stops either the Netscape Enterprise Server or Apache Web Server. are invoked from the command line in the bt-start-server bt-stop-server <...
Using btcfgchk utility is a network management tool that displays information about btcfgchk your IP and DNS configurations. Use it to analyze and troubleshoot the servers and network. Syntax Invoke from the command line in the < > directory btcfgchk CC_install_directory using the following syntax: btcfgchk...
Page 137
(PRT record) translates an IP address to its host name. ClusterCATS expects the mapping to be one-to-one (one host name to one IP address). Error Description Host name does not The main host name for this system is not mapping to one IP map to a single IP address.
Page 138
Error Description Host name not found in For each IP address found on the system, an attempt was made any reverse mapping to find the corresponding host name. None of the IP addresses on the system reverse mapped to the system's main fully qualified Probable forward host name.
Sample output The following sample output from the utility provides information about a set hostinfo of round-robin DNS host names. >hostinfo macromedia.com Information for host 'macromedia.com': FQHN: macromedia.com Primary Address: 0.0.0.0 Domain: .com Aliases: macromedia.com www1.macromedia.com www2.macromedia.com www3.macromedia.com...
Using sniff utility is a network management tool that displays the packets that a specific sniff network interface card (NIC) is hearing. Syntax Invoke from the command line in the < > sniff CC_install_directory /program directory using the following syntax: sniff Sample output Below is sample output from the...
CHAPTER 7 Optimizing ClusterCATS ClusterCATS provides enhanced capabilities that let you customize your ClusterCATS implementation. This chapter describes some of these options. Contents ClusterCATS dynamic IP addressing (Windows only) ......... 132 Using server failover..................... 137 Configuring load-balancing metrics ..............138...
ClusterCATS dynamic IP addressing (Windows only) This section describes how to enable ClusterCATS dynamic IP addressing on your site. You do not have to configure your system on UNIX for dynamic IP addressing, because it is set up by default. If your site is already configured so the IP address for the computer name is different from the IP address(es) for the websites configured on this server, you can skip “Setting...
Benefits of ClusterCATS dynamic IP addressing There are several benefits to your using ClusterCATS dynamic IP addressing: Using maintenance mode — with dynamic IP addressing, cluster members put into maintenance mode on Windows clusters will fail over to another server and then gracefully return when brought out of maintenance mode.
Page 144
DNS tab in Protocols. The domain under the DNS tab in this case would be macromedia.com. The Domain field on the Identification tab is different; it has nothing to do with DNS but only corresponds to your NT domain.
12 Reinstall products that are configured as part of IIS, including JRun/ColdFusion and ClusterCATS. This should include any products you uninstalled in step 3. When you install ClusterCATS, you must select the "Server Failover" option during the installation procedure. Note: Do not create any clusters at this time. 13 Enable the ClusterCATS dynamic IP addressing scheme using the procedure described in “Enabling ClusterCATS dynamic IP addressing”...
Page 146
6 Open the Advanced IP Addressing dialog box by right-clicking Network Neighborhood, and select Properties. On the Protocols tab, select TCP/IP Protocol and click Properties. Click Advanced. 7 Unbind the IP addresses from the web server’s NIC by selecting each IP address in the IP Addresses region and clicking Remove.
Using server failover The ability to fail over servers that have become unavailable to redundant servers is a cornerstone of any mission-critical application, one that ensures continuous, reliable operation. Server failover is an option to select during installation. If you did not select it, you must reinstall ClusterCATS to enable it.
Configuring load-balancing metrics You have the option to customize the load-balancing metrics of web servers clustered with ClusterCATS software. This section describes how to customize metrics to your specific website implementation. Overview of metrics The JRun and ColdFusion servers record how long it takes to process each request, and can return metrics derived from this data, upon request.
Load types The page ClusterCATS probes for load-balancing options, getsimpleload.jsp JRun and for ColdFusion, is located in getsimpleload.cfm . The probe agent responds to output generated by <CC_install_directory>/btauxdir this page and uses it to calculate the overall load, based on the weighting of the metrics set in the variable: LOADTYPE...
Troubleshooting the load-balancing metrics If ClusterCATS gets an exception every time it processes , you may getsimpleload.jsp have installed ClusterCATS before installing JRun. In this case, verify that the following is true: file is located in JRunMetricThread.class /jrun/lib/ext The virtual directory is configured on your web server.
INDEX alarms server failover 38 A records 19 See alarm notifications website content 39 absolute hyperlinks 72 Apache 50 bottlenecks, avoiding 16 active mode 110 applications btadmin active/passive mode database locking 14 described 53 changing 111 load management 3 use 122 changing in UNIX 112 load testing 20 Windows syntax 122...
Page 152
105 restricting 113 clusters, defined 30 domain controllers 40 updating 118 CNAME records 19 domains Cluster Setup Wizard 54 Macromedia ColdFusion DNS 18 ClusterCATS administration 53 See also ColdFusion hostinfo 129 ClusterCATS components Macromedia JRun double-reboot, avoiding 133 btadmin 53...
Page 153
98 software 93 website viii firewalls configuring load thresholds 66 Macromedia ColdFusion before you install 38 configuring metrics 138 developer resources viii configuring 38 configuring probes 77, 84 documentation, about ix port 9123 39...
Page 154
monitoring load status 68 removing cluster members scripting ClusterCATS monitors 77, 84 in UNIX 65 administration 53 adding new 78, 85 in Windows 65 security removing in Windows 81, 88 removing clusters 62 authentication 103 resetting members 120 configuring authentication on reports, e-mail 100 UNIX 106 name servers 19...
Page 155
sniff managing state 13 sample output 130 partitioning 15 syntax 130 scalability bottlenecks 16 using 130 Web Explorer software-based clustering Apache considerations 50 advantages 31 configuring com port 50 considerations 31 limitations 49 solutions 30 Netscape considerations 50 state management 13 opening 51 static vs.
Need help?
Do you have a question about the COLDFUSION MX-CLUSTERCATS and is the answer not in the manual?
Questions and answers