This chapter provides the procedures to install and configure Sun Cluster HA for Sun Java System Web Server. This data service was formerly known as Sun Cluster HA for NetscapeTM HTTP, Sun Cluster HA for iPlanet Web Server, and Sun Cluster HA for Sun ONE Web Server. Some error messages from the application might use the name Netscape, but the messages refer to Sun Java System Web Server. The application name on the Sun Cluster Agents CD-ROM might still be iPlanet Web Server.
This chapter contains the following procedures.
You can configure Sun Cluster HA for Sun Java System Web Server as a failover or scalable data service. See “Planning for Sun Cluster Data Services” in Sun Cluster Data Services Planning and Administration Guide for Solaris OS and the Sun Cluster Concepts Guide for Solaris OS for general information about data services, resource groups, resources, and other related topics.
You can use SunPlex Manager to install and configure this data service. See the SunPlex Manager online help for details.
If you run multiple data services in your Sun Cluster configuration, you can set up the data services in any order, with the following exception. If Sun Cluster HA for Sun Java System Web Server depends on Sun Cluster HA for DNS, you must set up DNS first. See Sun Cluster Data Service for Domain Name Service (DNS) Guide for Solaris OS for details. The Solaris operating system includes the DNS software. If the cluster is to obtain the DNS service from another server, then configure the cluster to be a DNS client first.
After installation, do not manually start and stop the Sun Java System Web Server except by using the cluster administration command scswitch(1M). See the man page for details. After the Sun Java System Web Server is started, the Sun Cluster software controls it.
Answer the following questions before you start your installation.
Will you run Sun Cluster HA for Sun Java System Web Server as a failover or as a scalable data service? See the Sun Cluster Concepts Guide for Solaris OS document for information on the two types of services. For scalable services, consider the following questions.
What nodes will host the scalable service? In most cases, you will want to scale across all nodes. You can, however, limit the set of nodes that host the service.
Will your Sun Java System Web Server instances require sticky IP? Sticky IP is a resource property setting, Load_balancing_policy, which stores the client state in memory so that return traffic from the same node always goes to the same cluster node. You can choose from several load balancing policies, as described in the table on resource properties in “Standard Properties” in Sun Cluster Data Services Planning and Administration Guide for Solaris OS.
Exercise caution when you change Load_balancing_weights for an online scalable service that has Load_balancing_policy set to LB_STICKY or LB_STICKY_WILD. Changing those properties while the service is online can cause existing client affinities to be reset, and hence a different node might service a subsequent client request even if another cluster member had previously serviced the client.
Similarly, when a new instance of the service is started on a cluster, existing client affinities might be reset.
Where will the Web server root reside?
Does the Web server serve data for another highly available application? If so, resource dependencies might exist between the resources so that one starts or stops before the other. See “Standard Properties” in Sun Cluster Data Services Planning and Administration Guide for Solaris OS for a description of the resource property Resource_dependencies that sets these dependencies.
Determine the resource groups to use for network addresses and application resources and the dependencies between them. See “Standard Properties” in Sun Cluster Data Services Planning and Administration Guide for Solaris OS for a description of the resource group property RG_dependencies that sets these dependencies.
Provide the logical hostname (for failover services) or shared address (for scalable services) for clients to use to access the data service.
Because you can configure Sun Java System Web Server to bind to INADDR_ANY, if you plan to run multiple instances of the Sun Java System Web Server data service or multiple data services on the same node, each instance must bind to a unique network address and port number.
Determine the entries for the Confdir_list and Port_list properties. For failover services, both of these properties can have only one entry. For scalable services, they can have multiple entries. The number of entries, however, must be the same and must map to each other in the order specified. See How to Register and Configure Sun Cluster HA for Sun Java System Web Server for details.
Determine if you will utilize the Monitor_Uri_List extension property. This extension property enables you to monitor an arbitrary list of URIs. Monitoring arbitrary URIs is beneficial if you will configure other data services that are accesible over the web. Use of the Monitor_Uri_List extension property is not supported with secure instances of Sun Java System Web Server. You must install release 3.1 10/03 Sun Cluster HA for Sun Java System Web Server to use this property. If you are upgrading Sun Cluster HA for Sun Java System Web Server from a previous version, you must perform the resource type upgrade procedure to use the new property. For instructions, see “Upgrading a Resource Type” in Sun Cluster Data Services Planning and Administration Guide for Solaris OS. See Configuring Sun Cluster HA for Sun Java System Web Server Extension Properties for detailed information about optional extension property settings and example usage of Monitor_Uri_List.
Determine where to place logs, error files, and the PID file on the local file system.
Determine where to place the contents on the cluster file system.
The following table lists the sections that describe the installation and configuration tasks.
Table 1–1 Task Map: Installing and Configuring Sun Cluster HA for Sun Java System Web Server
Task |
For Instructions, Go To |
---|---|
Install Sun Java System Web Server | |
Install the Sun Cluster HA for Sun Java System Web Server packages |
Installing Sun Cluster HA for Sun Java System Web Server Packages |
Register Sun Cluster HA for Sun Java System Web Server and configure the cluster for the data service |
Registering and Configuring Sun Cluster HA for Sun Java System Web Server |
Configure resource extension properties |
Configuring Sun Cluster HA for Sun Java System Web Server Extension Properties |
View fault monitor information |
This section describes the steps to perform the following tasks:
Install the Sun Java System Web Server.
Enable the Sun Java System Web Server to run as Sun Cluster HA for Sun Java System Web Server.
You must follow certain conventions when you configure URL mappings for the Web server. For example, to preserve availability when setting the CGI directory, you must locate the mapped directories on the cluster file system. In this example, you map your CGI directory to /global/pathname/cgi-bin.
In situations where the CGI programs access “back-end” servers, such as an RDBMS, ensure that the Sun Cluster software also controls the “back-end” server. If the server is an RDBMS that the Sun Cluster software supports, use one of the highly available RDBMS packages. Alternatively, you can use the APIs documented in the Sun Cluster Data Services Developer's Guide for Solaris OS to put the server under Sun Cluster control.
To perform this procedure, you need the following information about your configuration.
The server root directory (the path to the application binaries). You can install the binaries on the local disks or on the cluster file system. For a discussion of the advantages and disadvantages of each location, see “Configuration Guidelines for Sun Cluster Data Services” in Sun Cluster Data Services Planning and Administration Guide for Solaris OS.
The logical hostname (for failover services) or shared address (for scalable services) that clients use to access the data service. You must configure these addresses, and they must be online.
If you run Sun Cluster HA for Sun Java System Web Server and another HTTP server and they use the same network resources, configure them to listen on different ports. Otherwise, a port conflict might occur between the two servers.
Become superuser on a cluster member.
Start the installation.
If you are installing the Sun Java System Web Server on Solaris 8, execute the setup command for Sun Java System Web Server from the install directory on the CD.
If you are installing the Sun Java System Web Server packaged with Solaris 9, follow the instructions on the installation CD.
If you are installing the Sun Java System Web Server packaged with Solaris 9, do not enable the auto start of the web server at system restart.
When prompted, enter the location where the Sun Java System Web Server binaries will be installed.
You can specify a location on the cluster file system or on local disks for the location of the install. If you choose to install on local disks, install the web server on all of the cluster nodes that are potential primaries of the network resource (logical hostname or shared address) that the next step specifies.
When prompted for a machine name, enter the logical hostname on which the Sun Java System Web Server depends and the appropriate DNS domain name.
A full logical hostname is of the format network-resource.domainname, such as schost-1.sun.com.
For Sun Cluster HA for Sun Java System Web Server to fail over correctly, you must use either the logical hostname or shared address resource name (rather than the physical hostname) here and everywhere else that you are asked.
Select Run Admin Server as Root when you are asked.
Note the port number that the Sun Java System install script selects for the administration server. You might want to use this default value later when you use the admin server to configure an instance of the Sun Java System Web Server. Otherwise, you can specify a different port number when you configure the Sun Java System server instance.
Type a Server Administrator ID and a chosen password when you are asked.
Follow the guidelines for your system.
When a message displays that the admin server will be started, your installation is ready for configuration.
This procedure describes how to configure an instance of the Sun Java System Web server to be highly available. Use the Netscape browser to interact with this procedure.
Consider the following points before you perform this procedure.
Before you start, ensure that you have installed the browser on a machine that can access the network on which the cluster resides. You can install the browser on a cluster node or on the administrative workstation for the cluster.
Sun Cluster HA for Sun Java System Web Server now supports Sun Java System Proxy Server. For information about the Sun Java System Proxy Server product, see http://docs.sun.com/db/prod/s1.webproxys. For Sun Java System Proxy Server installation and configuration information, see http://docs.sun.com/db/coll/S1_ipwebproxysrvr36.
Your configuration files can reside on either a local file system or on the cluster file system.
Any certificates that are installed for the secure instances must be installed from all cluster nodes. This installation involves running the admin console on each node. Thus, if a cluster has nodes n1, n2, n3, and n4, the installation steps are as follows.
Run the admin server on node n1.
From your Web browser, connect to the admin server as http://n1.domain:port—for example, http://n1.eng.sun.com:8888—or whatever you specified as the admin server port. The port is typically 8888.
Install the certificate.
Stop the admin server on node n1 and run the admin server from node n2.
From the Web browser, connect to the new admin server as http://n2.domain:port, for example, http://n2.eng.sun.com:8888.
Repeat these steps for nodes n3 and n4.
After you have considered the preceding points, complete the following steps.
If you will configure Sun Java System Web Server as a scalable data service, create a directory on the local disk of all the nodes to hold the logs, error files, and PID file that Sun Java System Web Server manages.
For the scalable configuration to work correctly, these files must be located on each node of the cluster, not on the cluster file system. Use shared storage only if you will configure Sun Java System Web Server as a failover data service.
Choose a location on the local disk that is the same for all the nodes in the cluster. Use the mkdir -p command to create the directory. Make nobody the owner of this directory.
The following example shows how to complete this step.
phys-schost-1# mkdir -p /var/pathname/http-instance/logs/ |
If you anticipate large error logs and PID files, do not put them in a directory under /var because they will overwhelm this directory. Rather, create a directory in a partition with adequate space to handle large files.
From the administrative workstation or a cluster node, start the Netscape browser.
On one of the cluster nodes, go to the directory https-admserv, then start the Sun Java System admin server.
# cd https-admserv # ./start |
Enter the URL of the Sun Java System admin server in the Netscape browser.
The URL consists of the physical hostname and port number that the Sun Java System installation script established in Step 4 of the server installation procedure, for example, n1.eng.sun.com:8888. When you perform Step 2 of this procedure, the ./start command displays the admin URL.
When prompted, use the user ID and password you specified in Step 6 of the server installation procedure to log in to the Sun Java System administration server interface.
Using the administration server where possible and manual changes otherwise, complete the following:
Verify that the server name is correct.
Verify that the server user is set as superuser.
Change the bind address field to one of the following addresses.
A logical hostname or shared address if you use DNS as your name service
The IP address associated with the logical hostname or shared address if you use NIS as your name service
Update the ErrorLog, PidLog, and Access Log entries to reflect the directory created in Step 1 of this section.
Save your changes.
Create a file that contains the secure key password you need to start this instance, and place this file under the server root directory. Name this file keypass.
Because this file contains the key database password, protect the file with the appropriate permissions.
If you did not install the Sun Cluster HA for Sun Java System Web Server packages during your initial Sun Cluster installation, perform this procedure to install the packages. Perform this procedure on each cluster node where you are installing the Sun Cluster HA for Sun Java System Web Server packages.
If you are installing more than one data service simultaneously, perform the procedure in “Installing the Software” in Sun Cluster Software Installation Guide for Solaris OS.
You can run the Sun Java Enterprise System Common Installer program with a command-line interface (CLI) or with a graphical user interface (GUI). The content and sequence of instructions in the CLI and the GUI are similar.
To complete this procedure, you need the Sun Java Enterprise System Common Installer CD-ROM.
On the cluster node where you are installing the Sun Cluster HA for Sun Java System Web Server packages, become superuser.
(Optional) If you intend to run the Sun Java Enterprise System Common Installer program with a GUI, ensure
that your DISPLAY
environment
variable is set.
Load the Sun Java Enterprise System Common Installer CD-ROM into the CD-ROM drive.
If the Volume Management daemon vold(1M) is running and configured to manage CD-ROM devices, it automatically mounts the CD-ROM on the /cdrom directory.
Change to the Sun Java Enterprise System Common Installer directory of the CD-ROM.
The Sun Java Enterprise System Common Installer resides in this directory.
# cd /cdrom/Solaris_sparc |
Start the Sun Java Enterprise System Common Installer program.
# ./installer |
When you are prompted, accept the license agreement and appropriate language support.
English language support is available by default.
Select Sun Cluster Agents for Sun Java System under the Availability Services & Sun Cluster 3.1 Subcomponents and proceed.
This selection includes all the available Sun Cluster data services for Sun Java System applications, including the Sun Cluster HA for Sun Java System Web Server.
When you are prompted, select the time of the configuration.
Select Configure Now if you want to perform the configuration now. You can progressively accept or override the default values.
Select Configure Later if you want to perform the configuration after the installation.
(Optional) If you do not want to register the product and receive product updates, uncheck the Product Registration box.
Follow the instructions on the screen to install the Sun Cluster HA for Sun Java System Web Server packages on the node.
The Sun Java Enterprise System Common Installer program displays the status of the installation. When the installation is complete, the program displays an installation summary and the installation logs.
Exit the Sun Java Enterprise System Common Installer program.
Before exiting the installer program, please make sure that the Sun Cluster HA for Sun Java System Web Server has been installed successfully. Check for the presence of the package by executing the following command:
# pkginfo -l SUNWschtt |
Unload the Sun Java Enterprise System Common Installer CD-ROM from the CD-ROM drive.
You can configure Sun Cluster HA for Sun Java System Web Server as a failover data service or as a scalable data service. You must include some additional steps to configure Sun Java System Web Server as a scalable data service. In the first procedure in this section, these additional steps begin with a notation that they are required for scalable services only. Individual examples of a failover service and a scalable service follow the procedure.
This section describes how to register and configure Sun Cluster HA for Sun Java System Web Server.
This procedure describes how to use the scrgadm(1M) command to register and configure Sun Cluster HA for Sun Java System Web Server.
Other options also enable you to register and configure the data service. See “Tools for Data Service Resource Administration” in Sun Cluster Data Services Planning and Administration Guide for Solaris OS for details about these options.
To perform this procedure, you must have the following information.
The name of the resource type for Sun Cluster HA for Sun Java System Web Server. This name is SUNW.iws.
The names of the cluster nodes that master the data service. For a failover service, only one node can master a data service at a time.
The logical hostname (for failover services) or shared address (for scalable services) that clients use to access the data service.
The path to the Sun Java System binaries. You can install the binaries on the local disks or the cluster file system. See “Configuration Guidelines for Sun Cluster Data Services” in Sun Cluster Data Services Planning and Administration Guide for Solaris OS for a discussion of the advantages and disadvantages of each location.
The Network_resources_used setting on the Sun Java System application resource determines the set of IP addresses that Sun Java System Web Server uses. The Port_list setting on the resource determines the list of port numbers that Sun Java System Web Server uses. The fault monitor assumes that the Sun Java System Web Server daemon is listening on all combinations of IP and port. If you have customized your magnus.conf file for the Sun Java System Web Server to listen on different port numbers (in addition to port 80), your resultant magnus.conf file must contain all possible combinations of IP address and ports. The fault monitor attempts to probe all such combinations and starts to fail if the Sun Java System Web Server is not listening on a particular IP address-port combination. If the Sun Java System Web Server does not serve all IP address-port combinations, you must break the Sun Java System Web Server into separate instances that do.
Perform this procedure on any cluster member.
Become superuser on a cluster member.
Register the resource type for Sun Cluster HA for Sun Java System Web Server.
# scrgadm -a -t SUNW.iws |
Adds the data service resource type.
Specifies the predefined resource type name for your data service.
Create a failover resource group to hold the network and application resources.
For failover services, this resource group also holds the application resources.
You can optionally select the set of nodes on which the data service can run with the -h option.
# scrgadm -a -g resource-group [-h nodelist] |
Specifies the name of the failover resource group. This name can be your choice but must be unique for resource groups within the cluster.
An optional comma-separated list of physical node names or IDs that identify potential masters. The order here determines the order in which the nodes are considered as primary during failover.
Use -h to specify the order of the node list. If all the nodes in the cluster are potential masters, you do not need to use the -h option.
Verify that all of the network addresses that you use have been added to your name service database.
You should have performed this verification during the Sun Cluster installation. See the planning chapter in the Sun Cluster Software Installation Guide for Solaris OS for details.
To avoid any failures because of name service lookup, ensure that all logical hostnames and shared addresses are present in the server's and client's /etc/inet/hosts file. Configure name service mapping in /etc/nsswitch.conf on the servers to first check the local files before trying to access NIS or NIS+.
Add a network resource (logical hostname or shared address) to the failover resource group.
# scrgadm -a {-S | -L} -g resource-group \ -l network-resource,… [-j resource] \ [-X auxnodelist=node, …] [-n netiflist] |
You use -S for shared address resources or -L for logical hostname resources.
Specifies the name of the failover resource group.
Specifies a comma-separated list of network resources to add. You can use the -j option to specify a name for the resources. If you do not do so, the network resources have the name of the first entry on the list.
Specifies an optional resource name. If you do not supply this name, the name of the network resource defaults to the first name that is specified after the -l option.
Specifies an optional comma-separated list of physical node IDs that identify cluster nodes that can host the shared address but never serve as a primary if failover occurs. These nodes are mutually exclusive with the nodes identified in nodelist for the resource group, if specified.
Specifies the name of the resource group. This name can be your choice but must be unique for resource groups within the cluster.
Specifies an optional comma-separated list of physical node names or IDs that identify potential masters. The order here determines the order in which the nodes are considered as primary during failover.
Specifies an optional, comma-separated list that identifies the IP Networking Multipathing groups that are on each node. Each element in netiflist must be in the form of netif@node. netif can be given as an IP Networking Multipathing group name, such as sc_ipmp0. The node can be identified by the node name or node ID, such as sc_ipmp0@1 or sc_ipmp@phys-schost-1.
Sun Cluster does not currently support using the adapter name for netif.
For scalable services only – Create a scalable resource group to run on all of the desired cluster nodes.
If you run Sun Cluster HA for Sun Java System Web Server as a failover data service, do not perform this step—go to Step 8.
Create a resource group to hold a data service application resource. You must specify the maximum and desired number of primary nodes, as well as a dependency between this resource group and the failover resource group that you created in Step 3. This dependency ensures that in the event of failover, the resource manager starts the network resource before starting any data services that depend on the network resource.
# scrgadm -a -g resource-group \ -y Maximum_primaries=m -y Desired_primaries=n \ -y RG_dependencies=resource-group |
Specifies the maximum number of active primary nodes allowed for this resource group. If you do not assign a value to this property, the default is 1.
Specifies the desired number of active primary nodes allowed for this resource group. If you do not assign a value to this property, the default is 1.
Identifies the resource group that contains the shared address resource on which the resource group being created depends.
For scalable services only – Create an application resource in the scalable resource group.
If you run Sun Cluster HA for Sun Java System Web Server as a failover data service, do not perform this step—go to Step 8.
You can repeat this step to add multiple application resources (such as secure and insecure versions) to the same resource group.
You might also want to set load balancing for the data service. To do so, use the two standard resource properties Load_balancing_policy and Load_balancing_weights. See “Standard Properties” in Sun Cluster Data Services Planning and Administration Guide for Solaris OS for a description of these properties. Additionally, see the examples that follow this section.
# scrgadm -a -j resource -g resource-group \ -t resource-type -y Network_resources_used=network-resource, … \ -y Port_list=port-number/protocol, … -y Scalable=True \ -x Confdir_list=config-directory, … |
Specifies the name of the resource to add.
Specifies the name of the scalable resource group into which the resources are to be placed.
Specifies the type of the resource to add.
Specifies a comma-separated list of network resources that identify the shared addresses that the data service uses.
Specifies a comma-separated list of port numbers and protocol to be used, for example, 80/tcp,81/tcp.
Specifies a Boolean that is required for scalable services.
Specifies a comma-separated list of the locations of the Sun Java System configuration files. Sun Cluster HA for Sun Java System Web Server requires this extension property.
A one-to-one mapping applies for Confdir_List and Port_List, that is, each of the values in one list must correspond to the values in the other list in the order specified.
For failover services only – Create an application resource in the failover resource group.
Perform this step only if you run Sun Cluster HA for Sun Java System Web Server as a failover data service. If you run Sun Cluster HA for Sun Java System Web Server as a scalable service, you must have performed Step 6 and Step 7 previously and must now go to Step 10.
You can repeat this step to add multiple application resources (such as secure and insecure versions) to the same resource group.
# scrgadm -a -j resource -g resource-group \ -t resource-type -y Network_resources_used=logical-hostname-list \ -y Port_list=port-number/protocol \ -x Confdir_list=config-directory |
Specifies the name of the resource to add.
Specifies the name of the failover resource group into which the resources are to be placed.
Specifies the type of the resource to add.
Specifies a comma-separated list of network resources that identify the logical hosts that the data service uses.
Specifies the port number and protocol to use, for example, 80/tcp. Port_list for failover services must have exactly one entry only because of the one-to-one mapping rule between Port_list and Confdir_list.
Specifies the location of the Sun Java System configuration files. The Confdir_list file for failover services must have exactly one entry only. The config-directory must contain a directory called config. Sun Cluster HA for Sun Java System Web Server requires this extension property.
Optionally, you can set additional extension properties that belong to the Sun Cluster HA for Sun Java System Web Server to override the default values of the properties. See Table 1–2 for a list of these properties.
Bring the failover resource group online.
# scswitch -Z -g resource-group |
Enables the network resource and fault monitoring, switches the resource group into a MANAGED state, and brings the resource group online.
Specifies the name of the failover resource group.
For scalable services only – Bring the scalable resource group online.
# scswitch -Z -g resource-group |
Enables the resource and monitor, moves the resource group to the MANAGED state, and brings the resource group online.
Specifies the name of the scalable resource group.
The following example shows how to register a scalable Sun Cluster HA for Sun Java System Web Server.
Cluster Information Node names: phys-schost-1, phys-schost-2 Shared address: schost-1 Resource groups: sa-resource-group-1 (for shared addresses), iws-resource-group-1 (for scalable application resources) Resources: schost-1 (shared address), Sun-app-insecure-1 (insecure application resource), Sun-app-secure-1 (secure application resource) (Add a failover resource group to contain shared addresses.) # scrgadm -a -g sa-resource-group-1 (Add the shared address resource to the failover resource group.) # scrgadm -a -S -g sa-resource-group-1 -l schost-1 (Add a scalable resource group.) # scrgadm -a -g iws-resource-group-1 -y Maximum_primaries=2 \ -y Desired_primaries=2 -y RG_dependencies=sa-resource-group-1 (Register the resource type for the Sun Cluster HA for Sun Java System Web Server.) # scrgadm -a -t SUNW.iws (Add an insecure application instance with default load balancing.) # scrgadm -a -j Sun-app-insecure-1 -g iws-resource-group-1 -t SUNW.iws \ -x Confdir_List=/opt/SunONE/https-Sun-app-insecure-1 \ -y Scalable=True -y Network_resources_used=schost-1 -y Port_list=80/tcp (Add a secure application instance with sticky IP load balancing.) # scrgadm -a -j Sun-app-secure-1 -g iws-resource-group-1 -t SUNW.iws \ -x Confdir_List=/opt/SunONE/https-Sun-app-secure-1 \ -y Scalable=True -y Network_resources_used=schost-1 \ -y Port_list=443/tcp -y Load_balancing_policy=LB_STICKY \ -y Load_balancing_weights=40@1,60@2 (Bring the failover resource group online.) # scswitch -Z -g sa-resource-group-1 (Bring the scalable resource group online.) # scswitch -Z -g iws-resource-group-1 |
The following example shows how to register a failover Sun Cluster HA for Sun Java System Web Server service on a two-node cluster.
Cluster Information Node names: phys-schost-1, phys-schost-2 Logical hostname: schost-1 Resource group: resource-group-1 (for all resources) Resources: schost-1 (logical hostname), Sun-app-insecure-1 (insecure application application resource), Sun-app-secure-1 (secure application resource) (Add the resource group to contain all resources.) # scrgadm -a -g resource-group-1 (Add the logical hostname resource to the resource group.) # scrgadm -a -L -g resource-group-1 -l schost-1 (Register the resource type for the Sun Cluster HA for Sun Java System Web Server.) # scrgadm -a -t SUNW.iws (Add an insecure application resource instance.) # scrgadm -a -j Sun-app-insecure-1 -g resource-group-1 -t SUNW.iws \ -x Confdir_list=/opt/SunONE/conf -y Scalable=False \ -y Network_resources_used=schost-1 -y Port_list=80/tcp\ (Add a secure application resource instance.) # scrgadm -a -j Sun-app-secure-1 -g resource-group-1 -t SUNW.iws \ -x Confdir_List=/opt/SunONE/https-Sun-app-secure-1 -y Scalable=False \ -y Network_resources_used=schost-1 -y Port_list=443/tcp \ (Bring the failover resource group online.) # scswitch -Z -g resource-group-1 |
The SUNW.HAStoragePlus resource type was introduced in Sun Cluster 3.0 5/02. This new resource type performs the same functions as SUNW.HAStorage, and synchronizes actions between HA storage and the data service.
SUNW.HAStoragePlus also has an additional feature to make a local file system highly available.
See the SUNW.HAStoragePlus(5) man page and “Relationship Between Resource Groups and Disk Device Groups” in Sun Cluster Data Services Planning and Administration Guide for Solaris OS for background information. See “Synchronizing the Startups Between Resource Groups and Disk Device Groups” in Sun Cluster Data Services Planning and Administration Guide for Solaris OS for the procedure. (If you are using a Sun Cluster 3.0 version prior to 5/02, you must set up SUNW.HAStorage instead of SUNW.HAStoragePlus. See “Synchronizing the Startups Between Resource Groups and Disk Device Groups” in Sun Cluster Data Services Planning and Administration Guide for Solaris OS for New Resources for the procedure.)
This section describes the Sun Cluster HA for Sun Java System Web Server extension properties. For failover, the data service enforces that the size of Confdir_list is one. If you want multiple configuration files (instances), make multiple failover resources, each with one Confdir_list entry.
Typically, you use the command line scrgadm -x parameter=value to configure extension properties when you create the Sun Java System Web Server resource. See “Standard Properties” in Sun Cluster Data Services Planning and Administration Guide for Solaris OS for details on all Sun Cluster properties.
For information about the extension properties that you can configure for the Sun Java System Web Server, see Table 1–2. The only extension property that is required when you create a Sun Java System Web Server resource is the Confdir_list property. You can update some extension properties dynamically. You can update others, however, only when you create the resource. The Tunable entries indicate when you can update each property.
Table 1–2 Sun Cluster HA for Sun Java System Web Server Extension Properties
Set the Monitor_Uri_List extension property if you want the web server fault monitor to probe an arbitrary list of applications (URIs) served by the web server. This extension property provides extended probing functionality and is useful if you are layering services in addition to your web server. The Monitor_Uri_List extension property is not supported with a secure Sun Java System Web Server instance. If you do not set the Monitor_Uri_List extension property , the fault monitor will perform basic probing. See Sun Cluster HA for Sun Java System Web Server Fault Monitor for details. The following examples show how to set the Monitor_Uri_List extension property when you add the Sun Java System Web Server instance to your configuration.
(Add an insecure Sun Java System Web Server instance with default load balancing.) example# scrgadm -a -j web-not-secure-1 -g resource-group-1 -t SUNW.iws \ -x Confdir_List=/opt/SunONE/https-Sun-app-insecure-1 \ -y Scalable=True -y Network_resources_used=schost-1 -y Port_list=8000/tcp -x Monitor_Uri_list=http://schost-1:8000/servlet/monitor |
(Add an insecure Sun Java System Web Server application resource instance.) example# scrgadm -a -j web-not-secure-1 -g resource-group-1 -t SUNW.iws \ -x Confdir_list=/opt/SunONE/conf -y Scalable=False \ -y Network_resources_used=schost-1 -y Port_list=80/tcp \ -x Monitor_Uri_list=http://schost-1:80/servlet/monitor |
The probe for Sun Cluster HA for Sun Java System Web Server uses a request to the server to query the health of that server. Before the probe actually queries the server, a check is made to confirm that network resources are configured for this web server resource. If no network resources are configured, an error message (No network resources found for resource) is logged, and the probe exits with failure.
The probe must address the following two configurations of Sun Java System Web Server.
the secure instance
the insecure instance
The probe uses the time-out value that the resource property Probe_timeout specifies to limit the time spent trying to successfully probe Sun Java System Web Server. See “Standard Properties” in Sun Cluster Data Services Planning and Administration Guide for Solaris OS for details on this resource property.
The Network_resources_used resource-property setting on the Sun Java System Web Server resource determines the set of IP addresses that the web server uses. The Port_list resource-property setting determines the list of port numbers that Sun Java System Web Server uses. The fault monitor assumes that the web server is listening on all combinations of IP and port. If you customize your web server configuration to listen on different port numbers (in addition to port 80), ensure that your resultant configuration (magnus.conf) file contains all possible combinations of IP addresses and ports. The fault monitor attempts to probe all such combinations and might fail if the web server is not listening on a particular IP address and port combination.
The probe executes the following steps.
The probe uses the specified IP address and port combination to connect to the web server. If the connection is unsuccessful, the probe concludes that a complete failure has occurred. The probe then records the failure and takes appropriate action.
If the probe successfully connects, the probe checks if the web server is run in a secure mode. If so, the probe disconnects and returns with a success status. No further checks are performed for a secure Sun Java System Web Server.
However, if the web server is running in insecure mode, the probe sends an HTTP 1.0 HEAD request to the web server and waits for the response. The request can be unsuccessful for various reasons, including heavy network traffic, heavy system load, and misconfiguration.
Misconfiguration can occur when the web server is not configured to listen on all IP address and port combinations that are being probed. The web server should service every port for every IP address specified for this resource.
Misconfigurations can also result if the Network_resources_used and Port_list resource properties are not set correctly while you create the resource.
If the reply to the query is not received within the Probe_timeout resource time limit, the probe considers this probe a failure of Sun Cluster HA for Sun Java System Web Server. The failure is recorded in the probe's history.
A probe failure can be a complete or partial failure. The following probe failures are considered complete failures.
Failure to connect to the server, as the following error message flags, with %s indicating the host name and %d the port number.
Failed to connect to %s port %d |
Running out of time (exceeding the resource-property timeout Probe_timeout) after trying to connect to the server.
Failure to successfully send the probe string to the server, as the following error message flags, with the first %s indicating the host name and %d the port number. The second %s indicates further details about the error.
Failed to communicate with server %s port %d: %s |
The monitor accumulates two such partial failures within the resource-property interval Retry_interval and counts them as one failure.
The following probe failures are considered partial failures.
Running out of time (exceeding the resource-property timeout Probe_timeout) while trying to read the reply from the server to the probe's query.
Failing to read data from the server for other reasons, as the following error message flags, with the first %s indicating the host name and %d the port number. The second %s indicates further details about the error.
Failed to communicate with server %s port %d: %s |
The probe connects to the Sun Java System Web Server server and performs an HTTP 1.1 GET check by sending a HTTP request to each of the URIs in Monitor_Uri_List. If the HTTP server return code is 500 (Internal Server Error) or if the connect fails, the probe will take action.
The result of the HTTP requests is either failure or success. If all of the requests successfully receive a reply from the Sun Java System Web Server server, the probe returns and continues the next cycle of probing and sleeping.
Heavy network traffic, heavy system load, and misconfiguration can cause the HTTP GET probe to fail. Misconfiguration of the Monitor_Uri_List property can cause a failure if a URI in the Monitor_Uri_List includes an incorrect port or hostname. For example, if the web server instance is listening on logical host schost-1 and the URI was specified as http://schost-2/servlet/monitor, the probe will try to contact schost-2 to request /servlet/monitor.
Based on the history of failures, a failure can cause either a local restart or a failover of the data service. This action is further described in “Sun Cluster Data Service Fault Monitors” in Sun Cluster Data Services Planning and Administration Guide for Solaris OS.
Upgrade the SUNW.iws resource type if the following conditions apply:
You are upgrading from an earlier version of the Sun Cluster HA for Sun Java System Web Server data service.
You need to use the new features of this data service.
For general instructions that explain how to upgrade a resource type, see “Upgrading a Resource Type” in Sun Cluster Data Services Planning and Administration Guide for Solaris OS. The information that you require to complete the upgrade of the SUNW.iws resource type is provided in the subsections that follow.
The relationship between a resource type version and the release of Sun Cluster data services is shown in the following table. The release of Sun Cluster data services indicates the release in which the version of the resource type was introduced.
Resource Type Version |
Sun Cluster Data Services Release |
---|---|
1 |
1.0 |
3.1 |
3.1 5/03 |
4 |
3.1 10/03 |
To determine the version of the resource type that is registered, use one command from the following list:
scrgadm -p
scrgadm -pv
The resource type registration (RTR) file for this resource type is /opt/SUNWschtt/etc/SUNW.iws.
The information that you require to edit each instance of the SUNW.iws resource type is as follows:
You can perform the migration at any time.
If you need to use the new features of the Sun Cluster HA for Sun Java System Web Server data service, the required value of the Type_version property is 4.
If you need to monitor deployed applications, set the Monitor_Uri_List extension property to a single URI or a list of URIs to specify the locations of the applications that are to be probed.
The following example shows a command for modifying an instance of the SUNW.iws resource type.
# scrgadm -c -j webserver-rs -y Type_version=4 \ -x Monitor_Uri_List=http://schost-1/test.html |
This command modifies the SUNW.iws resource named webserver-rs as follows:
The Type_version property of this resource is set to 4.
The fault monitor probe will monitor the URI http://schost-1/test.html.