Sun Cluster Data Service for Sun Java System Web Server Guide for Solaris OS

Installing and Configuring Sun Cluster HA for Sun Java System Web Server

This chapter provides the procedures to install and configure Sun Cluster HA for Sun Java System Web Server.


Note –

The same procedures are also applicable for installing and configuring Sun Cluster HA for Sun Java System Web Proxy Server.


This chapter contains the following sections.

You can configure Sun Cluster HA for Sun Java System Web Server as a failover or scalable data service. See Chapter 1, 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.


Note –

You can use Sun Cluster Manager to install and configure this data service. See the Sun Cluster Manager online help for details.



Note –

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 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.



Note –

After installation, do not manually start and stop the Sun Java System Web Server except by using the cluster administration command clresourcegroup(1CL). See the man page for details. After the Sun Java System Web Server is started, the Sun Cluster software controls it.


Planning the Installation and Configuration

Answer the following questions before you start your installation.

Overview of the Installation and Configuration Process for Sun Cluster HA for Sun Java System Web Server

The following table lists the sections that describe the installation and configuration tasks.

Table 1 Task Map: Installing and Configuring Sun Cluster HA for Sun Java System Web Server

Task 

For Instructions 

Install Sun Java System Web Server 

Installing and Configuring a Sun Java System Web Server

Install Sun Java System Web Proxy Server 

Installing and Configuring a Sun Java System Web Server

Install the Sun Cluster HA for Sun Java System Web Server package 

How to Install the 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

Tune the Sun Cluster HA for Sun Java System Web Server fault monitor 

Tuning the Sun Cluster HA for Sun Java System Web Server Fault Monitor

Installing and Configuring a Sun Java System Web Server

This section describes the steps to perform the following tasks:


Note –

The Sun Java System Web Server can be configured to run in a whole root or a sparse root non-global zone, if required.



Note –

Sun Cluster HA for Web Proxy Server is not supported in a Scalable configuration.



Note –

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.


ProcedureHow to Install a Sun Java System Web Server

To perform this procedure, you need the following information about your configuration.


Note –

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.


  1. On a cluster member, become superuser or assume a role that provides solaris.cluster.admin RBAC authorization.

  2. 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.


    Note –

    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.


  3. 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 the cluster nodes that are potential primaries of the network resource (logical hostname or shared address) that the next step specifies.

  4. 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.


    Note –

    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.


  5. 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 administration 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.

  6. 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.

ProcedureHow to Configure a Sun Java System Web Server

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.

  1. 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 and error files 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/
    

    Note –

    If you anticipate large error logs, 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.


  2. From the administrative workstation or a cluster node, start the Netscape browser.

  3. On one of the cluster nodes, go to the directory admin-server, then start the Sun Java System admin server.


    # cd admin-server
    # ./startserv
    
  4. Enter the URL of the Sun Java System admin server in the Netscape browser.

    The URL consists of the logical 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.

  5. 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 and Access Log entries to reflect the directory created in Step 1 of this section.

    • Save your changes.

  6. 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.


    Note –

    Because this file contains the NSS database password, protect the file with the appropriate permissions.


  7. If you do not want to save the password in the keypass file, add the following to the server.xml file located in the server root directory.

    <pkcs11>
    		<enabled>true</enabled>
    			<token>
    				<name>internal</name>
    				<pin>admin123</pin>
    			</token>
    </pkcs11>

Installing the Sun Cluster HA for Sun Java System Web Server Packages

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. To install the packages, use the Sun Java Enterprise System Common Installer.

ProcedureHow to Install the Sun Cluster HA for Sun Java System Web Server Packages

Perform this procedure on each cluster node where you are installing the Sun Cluster HA for Sun Java System Web Server packages.

You can run the Sun Java Enterprise System Common Installer 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.


Note –

Even if you plan to configure this data service to run in non-global zones, install the packages for this data service in the global zone. The packages are propagated to any existing non-global zones and to any non-global zones that are created after you install the packages.


Before You Begin

Ensure that you have the Sun JavaTM Availability Suite DVD-ROM.

If you intend to run the Sun Java Enterprise System Common Installer with a GUI, ensure that your DISPLAY environment variable is set.

  1. On the cluster node where you are installing the data service packages, become superuser.

  2. Load the Sun Java Availability Suite DVD-ROM into the DVD-ROM drive.

    If the Volume Management daemon vold(1M) is running and configured to manage DVD-ROM devices, the daemon automatically mounts the DVD-ROM on the /cdrom directory.

  3. Change to the Sun Java Enterprise System Common Installer directory of the DVD-ROM.

    • If you are installing the data service packages on the SPARC® platform, type the following command:


      # cd /cdrom/cdrom0/Solaris_sparc
      
    • If you are installing the data service packages on the x86 platform, type the following command:


      # cd /cdrom/cdrom0/Solaris_x86
      
  4. Start the Sun Java Enterprise System Common Installer.


    # ./installer
    
  5. When you are prompted, accept the license agreement.

    If any Sun Java Enterprise System components are installed, you are prompted to select whether to upgrade the components or install new software.

  6. From the list of Sun Cluster agents under Availability Services, select the data service for Sun Java System Web Server.

  7. If you require support for languages other than English, select the option to install multilingual packages.

    English language support is always installed.

  8. When prompted whether to configure the data service now or later, choose Configure Later.

    Choose Configure Later to perform the configuration after the installation.

  9. Follow the instructions on the screen to install the data service packages on the node.

    The Sun Java Enterprise System Common Installer displays the status of the installation. When the installation is complete, the wizard displays an installation summary and the installation logs.

  10. (GUI only) If you do not want to register the product and receive product updates, deselect the Product Registration option.

    The Product Registration option is not available with the CLI. If you are running the Sun Java Enterprise System Common Installer with the CLI, omit this step

  11. Exit the Sun Java Enterprise System Common Installer.

  12. Unload the Sun Java Availability Suite DVD-ROM from the DVD-ROM drive.

    1. To ensure that the DVD-ROM is not being used, change to a directory that does not reside on the DVD-ROM.

    2. Eject the DVD-ROM.


      # eject cdrom
      
Next Steps

See Registering and Configuring Sun Cluster HA for Sun Java System Web Server to register Sun Cluster HA for Sun Java System Web Server and to configure the cluster for the data service.

Registering and Configuring Sun Cluster HA for Sun Java System Web Server

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.

Setting Sun Cluster HA for Sun Java System Web Server Extension Properties

The sections that follow contain instructions for registering and configuring Sun Cluster HA for Sun Java System Web Server resources. For information about the extension properties, see Appendix A, Sun Cluster HA for Sun Java System Web Server Extension Properties. The Tunable entry indicates when you can update a property.

See Appendix B, Standard Properties, in Sun Cluster Data Services Planning and Administration Guide for Solaris OS for details on all the Sun Cluster properties.

To set an extension property of a resource, include the following option in the clresource(1CL) command that creates or modifies the resource:


-p property=value 
-p property

Identifies the extension property that you are setting.

value

Specifies the value to which you are setting the extension property.

You can also use the procedures in Chapter 2, Administering Data Service Resources, in Sun Cluster Data Services Planning and Administration Guide for Solaris OS to configure resources after the resources are created.

Monitoring Arbitrary URIs

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 Tuning the 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.


Example 1 Setting Monitor_Uri_List for Scalable Sun Java System Web Server Instance


(Add an insecure Sun Java System Web Server instance with default load balancing.)
# clresource create -g resource-group-1 -t SUNW.iws \
-p Confdir_List=/opt/SUNwbsrv/https-Sun-app-insecure-1 \
-p Scalable=True -p Resource_dependencies=schost-1 \
-p Port_list=8000/tcp \
-p Monitor_Uri_list=http://schost-1:8000/servlet/monitor web-not-secure-1


Example 2 Setting Monitor_Uri_List for Failover Sun Java System Web Server Instance


(Add an insecure Sun Java System Web Server application resource instance.)
# clresource create -g resource-group-1 -t SUNW.iws \
-p Confdir_list=/opt/SUNwbsrv/conf -p Scalable=False \
-p Resource_dependencies=schost-1 -p Port_list=80/tcp \
-p Monitor_Uri_list=http://schost-1:80/servlet/monitor web-not-secure-1 


Example 3 Setting Monitor_Uri_List for Failover Sun Java System Web Proxy Server Instance


(Add an insecure Sun Java System Web Proxy Server application resource instance.)
# clresource create -g resource-group-1 -t SUNW.iws \
-p Confdir_list=/opt/SUNwbproxy/conf -p Scalable=False \
-p Resource_dependencies=schost-1 -p Port_list=80/tcp \
-p Monitor_Uri_list=http://schost-1:80/servlet/monitor Sun-app-insecure-1 

Setting IP Addresses and Port Numbers for the Sun Java System Web Server Application

The Resource_dependencies setting on the Sun Java System Web Server 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. You can configure the server.xml file for the Sun Java System Web Server to listen on different port numbers (in addition to port 80). 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.

ProcedureHow to Register and Configure Sun Cluster HA for Sun Java System Web Server in a Failover Configuration

This procedure describes how to use the Sun Cluster maintenance commands to register and configure Sun Cluster HA for Sun Java System Web Server in a failover configuration.


Note –

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.


Note –

Perform this procedure on any cluster member.


  1. On a cluster member, become superuser or assume a role that provides solaris.cluster.modify and solaris.cluster.admin RBAC authorization.

  2. Register the SUNW.iws resource type for Sun Cluster HA for Sun Java System Web Server.


    # clresourcetype register SUNW.iws
    
  3. Create a failover resource group.

    You can optionally select the set of nodes or zones on which the data service can run with the -n option.


    # clresourcegroup create [-n node-zone-list] resource-group
    
    resource-group

    Specifies the name of the failover resource group. This name can be your choice but must be unique for resource groups within the cluster.

    -n node-zone-list

    Specifies a comma-separated, ordered list of zones that can master this resource group. The format of each entry in the list is node. In this format, node specifies the node name and zone specifies the name of a non-global Solaris zone. To specify the global zone, or to specify a node without non-global zones, specify only node.

    This list is optional. If you omit this list, the global zone of each cluster node can master the resource group.

  4. 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.


    Note –

    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+.


  5. Add a logical hostname to the failover resource group.


    # clreslogicalhostname create -g resource-group \
    -h logical-hostname,… \
    [-p auxnodelist=node] [-N netiflist] resource
    
    -g resource-group

    Specifies the name of the failover resource group.

    -h logical-hostname,…

    Specifies a comma-separated list of logical hostnames that this resource is to make available.

    -p auxnodelist=node,…

    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.

    resource-group

    Specifies the name of the resource group. This name can be your choice but must be unique for resource groups within the cluster.

    -N netiflist

    Specifies an optional, comma-separated list that identifies the IP Networking Multipathing groups that are on each node or zone. The format of each entry in the list is netif@node. The replaceable items in this format are as follows:

    netif

    Specifies an IPMP group name, such as sc_ipmp0, or a public network interface card (NIC). If you specify a public NIC, Sun Cluster attempts to create the required IPMP groups.

    node

    Specifies the name or ID of a node. To specify the global zone, or to specify a node without non-global zones, specify only node.

    This list is optional. If you omit this list, Sun Cluster attempts to create the required IPMP groups.


    Note –

    If you require a fully qualified hostname, you must specify the fully qualified name with the -h option and you cannot use the fully qualified form in the resource name.



    Note –

    Sun Cluster does not currently support using the adapter name for netif.


    resource

    Specifies the name of the resource.

  6. Create an application resource in the failover resource group.

    You can repeat this step to add multiple application resources (such as secure and insecure versions) to the same resource group.


    # clresource create -g resource-group \
    -t resource-type \
    -p Confdir_list=config-directory \
    -p Resource_dependencies=logical-hostname-list,.. \
    -p Port_list=port-number/protocol resource
    
    -g resource-group

    Specifies the name of the failover resource group into which the resources are to be placed.

    -t resource-type

    Specifies the type of the resource to add.

    -p Confdir_list=config-directory

    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.

    -p Resource_dependencies=logical-hostname-list,…

    Specifies a comma-separated list of network resources that identify the logical hosts that the data service uses.

    -p Port_list=port-number/protocol

    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.

    resource

    Specifies the name of the resource to add.

    The resource is created in the enabled state.


    Note –

    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 Appendix A, Sun Cluster HA for Sun Java System Web Server Extension Properties for a list of these properties.


  7. Bring the failover resource group online.


    # clresourcegroup online resource-group
    
    resource-group

    Specifies the name of the failover resource group.


Example 4 Registering a Failover Sun Cluster HA for Sun Java System Web Server 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 resource), Sun-app-secure-1 (secure application resource)
 
(Add the resource group to contain all resources.)
# clresourcegroup create resource-group-1
 
(Add the logical hostname resource to the resource group.)
# clreslogicalhostname create -g resource-group-1 -h schost-1 
 
(Register the resource type for the Sun Cluster HA for Sun Java System Web Server.)
# clresourcetype register SUNW.iws
 
(Add an insecure application resource instance.)
# clresource create -g resource-group-1 -t SUNW.iws \
-p Confdir_list=/opt/SUNwbsrv/conf -p Scalable=False \
-p Resource_dependencies=schost-1 -p Port_list=80/tcp Sun-app-insecure-1 \ 

(Add a secure application resource instance.)
# clresource create -g resource-group-1 -t SUNW.iws \ 
-p Confdir_List=/opt/SUNwbsrv/https-Sun-app-secure-1 -p Scalable=False \
-p Resource_dependencies=schost-1 -p Port_list=443/tcp Sun-app-secure-1 \ 

(Bring the failover resource group online.)
# clresourcegroup online resource-group-1


Example 5 Registering a Failover Sun Cluster HA for Sun Java System Web Proxy Server 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 resource), Sun-app-secure-1 (secure application resource)
 
(Add the resource group to contain all resources.)
# clresourcegroup create resource-group-1
 
(Add the logical hostname resource to the resource group.)
# clreslogicalhostname create -g resource-group-1 -h schost-1 
 
(Register the resource type for the 
Sun Cluster HA for Sun Java System Web Proxy Server.)
# clresourcetype register SUNW.iws
 
(Add an insecure application resource instance.)
# clresource create -g resource-group-1 -t SUNW.iws \
-p Confdir_list=/opt/SUNwbproxy/proxy-insecure-1 -p Scalable=False \
-p Resource_dependencies=schost-1 -p Port_list=80/tcp Sun-app-insecure-1 \ 

(Add a secure application resource instance.)
# clresource create -g resource-group-1 -t SUNW.iws \ 
-p Confdir_List=/opt/SUNwbproxy/proxy-secure-1 -p Scalable=False \
-p Resource_dependencies=schost-1 -p Port_list=443/tcp Sun-app-secure-1 \ 

(Bring the failover resource group online.)
# clresourcegroup online resource-group-1

In this example, it is assumed that the global file system is being used. If a failover file system is used, you must set the dependency on the HAStoragePlus resource using the Resource_dependencies extension property during resource creation.


ProcedureHow to Register and Configure Sun Cluster HA for Sun Java System Web Server in a Scalable Configuration

  1. On a cluster member, become superuser or assume a role that provides solaris.cluster.modify and solaris.cluster.admin RBAC authorization.

  2. Register the SUNW.iws resource type for Sun Cluster HA for Sun Java System Web Server.


    # clresourcetype register SUNW.iws
    
  3. Create a failover resource group for the shared address resource.

    You can optionally select the set of nodes or zones on which the data service can run with the -n option.


    # clresourcegroup create [-n node-zone-list] resource-group
    
    resource-group

    Specifies the name of the failover resource group. This name can be your choice but must be unique for resource groups within the cluster.

    -n node-zone-list

    Specifies a comma-separated, ordered list of zones that can master this resource group. The format of each entry in the list is node. In this format, node specifies the node name and zone specifies the name of a non-global Solaris zone. To specify the global zone, or to specify a node without non-global zones, specify only node.

    This list is optional. If you omit this list, the global zone of each cluster node can master the resource group.

  4. 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.


    Note –

    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+.


  5. Add a shared address resource to the failover resource group.


    # clressharedaddress create -g resource-group \
    -h shared-address,… \
    [-p auxnodelist=node] [-N netiflist] resource
    
    -g resource-group

    Specifies the name of the failover resource group.

    -h shared-address,…

    Specifies a comma-separated list of shared addresses that this resource is to make available.

    -p auxnodelist=node,…

    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.

    resource-group

    Specifies the name of the resource group. This name can be your choice but must be unique for resource groups within the cluster.

    -N netiflist

    Specifies an optional, comma-separated list that identifies the IP Networking Multipathing groups that are on each node or zone. The format of each entry in the list is netif@node. The replaceable items in this format are as follows:

    netif

    Specifies an IPMP group name, such as sc_ipmp0, or a public network interface card (NIC). If you specify a public NIC, Sun Cluster attempts to create the required IPMP groups.

    node

    Specifies the name or ID of a node. To specify the global zone, or to specify a node without non-global zones, specify only node.

    This list is optional. If you omit this list, Sun Cluster attempts to create the required IPMP groups.


    Note –

    Sun Cluster does not currently support using the adapter name for netif.


    resource

    Specifies the name of the resource.

  6. Create a scalable resource group to run on all the desired cluster nodes.

    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.


    # clresourcegroup create \
    -p Maximum_primaries=m -p Desired_primaries=n \
    -p RG_dependencies=resource-group scalable-resource-group
    
    -p Maximum_primaries=m

    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.

    -p Desired_primaries=n

    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.

    -p RG_dependencies= resource-group

    Identifies the resource group that contains the shared address resource on which the resource group being created depends.

    scalable-resource-group

    Specifies the scalable resource group.

  7. Create an application resource in the scalable resource group.

    You can repeat this step to add multiple application resources, such as secure and insecure versions, to the same resource group.

    To set load balancing for the data service, use the two standard resource properties Load_balancing_policy and Load_balancing_weights. See Appendix B, 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.


    # clresource create -g scalable-resource-group \
    -t resource-type -p Confdir_list=config-directory,… \
    -p Resource_dependencies=shared-address,… \
    -p Port_list=port-number/protocol,… \
    -p Scalable=True resource
    
    -g scalable-resource-group

    Specifies the name of the scalable resource group into which the resources are to be placed.

    -t resource-type

    Specifies the type of the resource to add.

    -p Confdir_list=config-directory, …

    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.

    -p Resource_dependencies= shared-address,…

    Specifies a comma-separated list of network resources that identify the shared addresses that the data service uses.

    -p Port_list=port-number/protocol,…

    Specifies a comma-separated list of port numbers and protocol to be used, for example, 80/tcp,81/tcp.

    -p Scalable=True

    Specifies a Boolean that is required for scalable services.

    resource

    Specifies the name of the resource to add.

    The resource is created in the enabled state.


    Note –

    A one-to-one mapping applies for Confdir_List and Port_List. Each value in one list must correspond to the value in the other list in the specified order.


  8. Bring the failover resource group online.


    # clresourcegroup online resource-group
    
    resource-group

    Specifies the name of the failover resource group.

  9. Bring the scalable resource group online.


    # clresourcegroup online resource-group
    
    resource-group

    Specifies the name of the scalable resource group.


Example 6 Registering 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.)
# clresourcegroup create sa-resource-group-1
 
(Add the shared address resource to the failover resource group.)
# clressharedaddress create -g sa-resource-group-1 -h schost-1 sa-resource
 
(Add a scalable resource group.)
# clresourcegroup create -p Maximum_primaries=2 \
-p Desired_primaries=2 \
-p RG_dependencies=sa-resource-group-1 iws-resource-group-1
 
(Register the resource type for the 
Sun Cluster HA for Sun Java System Web Server.)
# clresourcetype register SUNW.iws
 
(Add an insecure application instance with default load balancing.)
# clresource create -g iws-resource-group-1 -t SUNW.iws \
-p Confdir_List=/opt/SUNwbsrv/https-Sun-app-insecure-1 \
-p Scalable=True -p Resource_dependencies=schost-1 \
-p Port_list=80/tcp Sun-app-insecure-1 

(Add a secure application instance with sticky IP load balancing.)
# clresource create -g iws-resource-group-1 -t SUNW.iws \
-p Confdir_List=/opt/SUNwbsrv/https-Sun-app-secure-1 \
-p Scalable=True -p Resource_dependencies=schost-1 \
-p Port_list=443/tcp -p Load_balancing_policy=LB_STICKY \
-p Load_balancing_weights=40@1,60@2 Sun-app-secure-1
 

(Bring the failover resource group online.)
# clresourcegroup online sa-resource-group-1
 
(Bring the scalable resource group online.)
# clresourcegroup online iws-resource-group-1

How to Configure SUNW.HAStoragePlus Resource Type

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 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 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 Device Groups in Sun Cluster Data Services Planning and Administration Guide for Solaris OS for New Resources for the procedure.)

Tuning the Sun Cluster HA for Sun Java System Web Server Fault Monitor

The Sun Cluster HA for Sun Java System Web Server fault monitor is contained in the resource that represents Sun Java System Web Server. You create this resource when you register and configure Sun Cluster HA for Sun Java System Web Server. For more information, see Registering and Configuring Sun Cluster HA for Sun Java System Web Server.

System properties and extension properties of this resource control the behavior of the fault monitor. The default values of these properties determine the preset behavior of the fault monitor. The preset behavior should be suitable for most Sun Cluster installations. Therefore, you should tune the Sun Cluster HA for Sun Java System Web Server fault monitor only if you need to modify this preset behavior.

For more information, see the following sections.

Operations by the Fault Monitor During a Probe

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.


Note –

The probe for Sun Cluster HA for Sun Java System Web Proxy Server also uses a similar mechanism to that of Sun Cluster HA for Sun Java System Web Server.


The probe must address the following two configurations of Sun Java System Web Server.

If the web server is in secure mode and if the probe cannot communicate with the secure ports, the error message Unable to parse configuration file is logged, and the probe exits with failure. The secure and insecure instance probes involve common steps.

The Resource_dependencies 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. 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.

If the probe fails to connect to the web server using a specified IP address and port combination, a complete failure occurs. The probe 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 Resource_dependencies and Port_list resource properties were not set correctly when you created 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.

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.

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 Tuning Fault Monitors for Sun Cluster Data Services in Sun Cluster Data Services Planning and Administration Guide for Solaris OS.

Upgrading the Sun Cluster HA for Sun Java System Web Server Resource Type

Upgrade the SUNW.iws resource type if the following conditions apply:

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.

Information for Registering the New Resource Type Version

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 ClusterData Services Release 

1.0 

3.1 

3.1 5/03 

3.1 10/03 

3.2 

To determine the version of the resource type that is registered, use the clresourcetype show command.

The resource type registration (RTR) file for this resource type is /opt/SUNWschtt/etc/SUNW.iws.

Information for Migrating Existing Instances of the Resource Type

The information that you require to edit each instance of the SUNW.iws resource type is as follows:

The following example shows a command for modifying an instance of the SUNW.iws resource type.


Example 7 Migrating Instances of the SUNW.iws Resource Type


# clresource set \
  -p Monitor_Uri_List=http://schost-1/test.html \
-p Type_version=4 webserver-rs

This command modifies the SUNW.iws resource named webserver-rs as follows: