Sun Cluster Data Service for Apache Guide for Solaris OS

Registering and Configuring Sun Cluster HA for Apache

This section describes how to register and configure Sun Cluster HA for Apache.

You can configure Apache as a failover service or as a scalable service, as follows.

The scalable resource group depends on the failover resource group. Additional steps are required to configure Apache as a scalable service. The leading text “For scalable services only” in the following procedure identifies these steps. If you are not configuring Apache as a scalable service, skip the steps marked “For scalable services only.”

Setting Sun Cluster HA for Apache Extension Properties

The sections that follow contain instructions for registering and configuring Sun Cluster HA for Apache resources. For information about the extension properties, see Appendix A, Sun Cluster HA for Apache 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 of 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 Cluster HA for Apache instance. If you do not set the Monitor_Uri_List extension property, the fault monitor will perform the basic probing. See Tuning the Sun Cluster HA for Apache Fault Monitor for details. The following examples show how to set the Monitor_Uri_List extension property when you add the Sun Cluster HA for Apache instance to your configuration.

Example— Setting Monitor_Uri_List for Scalable Sun Cluster HA for Apache Instance


(Add an insecure Apache instance with default load balancing.)

# clresource create -g resource-group-1 \
-t SUNW.apache -p Bin_dir=/opt/apache/bin -p Network_resources_used=schost-1, ... \
-p Monitor_Uri_list=http://schost-1:8000/servlet/monitor \
-p Scalable=True \
-p Port_list=8000/tcp apache-insecure-1

Example— Setting Monitor_Uri_List for Failover Sun Cluster HA for Apache Instance


(Add an insecure Apache application resource instance.)

# clresource create -g resource-group-1 \
-t SUNW.apache -p Bin_dir=/opt/apache/bin -p Network_resources_used=schost-1 \
-p Monitor_Uri_list=http://schost-1:80/servlet/monitor \
-p Port_list=80/tcp apache-insecure-1

Tools for Registering and Configuring Sun Cluster HA for Apache

Sun Cluster provides the following tools for registering and configuring Sun Cluster HA for Apache:

The clsetup utility and Sun Cluster Manager each provide a wizard for configuring Sun Cluster HA for Apache. The wizards reduce the possibility for configuration errors that might result from command syntax errors or omissions. These wizards also ensure that all required resources are created and that all required dependencies between resources are set.

ProcedureHow to Register and Configure the Sun Cluster HA for Apache by Using clsetup

Perform this procedure during your initial setup of Sun Cluster HA for Apache. Perform this procedure from one node only.


Note –

The clsetup utility can be used to configure Apache versions 1.x and Apache 2.0.


Before You Begin

Before you start the Sun Cluster HA for Apache wizard, ensure that the following prerequisites are met:

  1. Become superuser on any cluster node.

  2. Start the clsetup utility.


    # clsetup
    

    The clsetup main menu is displayed.

  3. Type the number that corresponds to the option for data services and press Return.

    The Data Services menu is displayed.

  4. Type the number that corresponds to the option for configuring Sun Cluster HA for Apache and press Return.

    The clsetup utility displays information about Sun Cluster HA for Apache.

  5. Press Return to continue.

    The clsetup utility displays a list of configuration modes for Sun Cluster HA for Apache.

  6. Type the number that corresponds to the configuration mode for Sun Cluster HA for Apache and press Return.

    The clsetup utility displays a list of available nodes.

  7. Select the nodes where you require Sun Cluster HA for Apache to run.

    • To accept the default selection of all listed nodes in an arbitrary order, type a and press Return.

    • To select a subset of the listed nodes, type a comma-separated or space-separated list of the numbers that correspond to the nodes. Then press Return.

      Ensure that the nodes are listed in the order in which the nodes are to appear in the resource group's node list. The first node in the list is the primary node of this resource group.

    • To select all nodes in a particular order, type a comma-separated or space-separated ordered list of the numbers that correspond to the nodes. Then press Return.

      Ensure that the nodes are listed in the order in which the nodes are to appear in the resource group's node list. The first node in the list is the primary node of this resource group.

  8. To confirm your selection of nodes, type d and press Return.

    The clsetup utility displays a screen where you can specify the location of the Sun Cluster HA for Apache configuration file.

  9. Type the numbers that correspond to the location of the configuration file and press Return.


    Note –

    The configuration file that you select here is used as a template. A new configuration file will be created using this template configuration file.


    The clsetup utility displays a screen where you can specify the Sun Cluster HA for Apache document root directory.

  10. Type the numbers that correspond to the location of the document root directory and press Return.

    The clsetup utility displays a screen where you can specify the Sun Cluster HA for Apache mount point.

  11. To confirm your selection of the mount point, type d and press Return.

    The clsetup utility displays a screen where you can specify the Sun Cluster HA for Apache network resource.

  12. To confirm your selection of the network resource, type d and press Return.

    The clsetup utility displays information about the Sun Cluster HA for Apache configuration that the utility will create.

  13. To confirm your selection of the configuration, type d and press Return.

    The clsetup utility displays information about the Sun Cluster objects that the utility will create.


    Note –

    The document root specified by you will be copied to the one that is mentioned in the screen. The configuration file specified by you will be edited and the edited file will be stored in the location mentioned in the screen.


  14. To confirm your selection of the Sun Cluster objects, type d and press Return.

    The clsetup utility displays information about the Sun Cluster configuration that the utility will create.

  15. To create the configuration, type c and Press Return.

    The clsetup utility displays a progress message to indicate that the utility is running commands to create the configuration. When configuration is complete, the clsetup utility displays the commands that the utility ran to create the configuration.


    Note –

    The clsetup utility will rollback the changes if it fails to complete the Apache configuration process.


  16. Press Return to continue.

    The clsetup utility returns you to the list of options for configuring Sun Cluster HA for Apache.

  17. (Optional) Type q and press Return repeatedly until you quit the clsetup utility.

    If you prefer, you can leave the clsetup utility running while you perform other required tasks before using the utility again. If you choose to quit clsetup, the utility recognizes your Sun Cluster HA for Apache resource group when you restart the utility.

  18. Determine if the Sun Cluster HA for Apache resource group and its resources are online.

    Use the clresourcegroup(1CL) utility for this purpose. By default, the clsetup utility assigns the name apache-server-rg to the Sun Cluster HA for Apache resource group.


    # clresourcegroup status apache-server-rg
    
  19. If the Sun Cluster HA for Apache resource group and its resources are not online, bring them online.


    # clresourcegroup online apache-server-rg
    

ProcedureHow to Register and Configure Sun Cluster HA for Apache by Using Sun Cluster Command Line Interface (CLI)

Complete the registration and configuration on any cluster member.

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

  2. Register the SUNW.apache resource type for the data service.


    # clresourcetype register SUNW.apache
    
  3. Create a failover resource group to hold the network and application resources.

    This resource group is required for both failover and scalable services. For failover services, the resource group contains both network and failover application resources. For scalable services, the resource group contains network resources only. A dependency is created between this group and the resource group that contains the application resources.

    Optionally, you can select the set of nodes 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 to add. This name can be your choice but must be unique for the 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. Add a network resource, such as logical hostname or shared address, to the failover resource group that you created in Step 3.


    # clressharedaddress create -g resource-group \
    -h hostname,... [-N netiflist] resource
    
    -h hostname,…

    Specifies a comma-separated list of network resources to add.

    resource-group

    Specifies the name of the failover resource group that you created in Step 3.

    resource

    Specifies a resource name. If you do not supply your choice for a resource name, the name of the network resource defaults to the first name that is specified after the -h option.

    -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 and, optionally, 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.


    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.


  5. 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 Apache as a failover data service, proceed to Step 7.

    Create a resource group to hold a data service application resource. You must specify the maximum and desired number of primary nodes.


    Note –

    If only a subset of nodes can be primaries for this resource group, you must use the -n option to specify the names of these potential primaries when you create the resource group.


    You must also specify any dependency between this resource group and the failover resource group that you created in Step 3. This dependency ensures that when failover occurs, if the two resource groups are being brought online on the same node, the Resource Group Manager (RGM) starts up the network resource before any data services that depend on the network resource.


    # clresourcegroup create [-n node-zone-list] \
    -p Maximum_primaries=m -p Desired_primaries=n \
    -p RG_dependencies=resource-group resource-group
    
    resource-group

    Specifies the name of the scalable service resource group to add.

    -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, that is, the name of the failover resource group that you created in Step 3.

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

  6. For scalable services only – Create an application resource in the scalable resource group.

    If you run Sun Cluster HA for Apache as a failover data service, proceed to Step 7.


    # clresource create -g resource-group \
    -t resource-type -p Bin_dir=bin-directory,... \
    -p Network_resources_used=network-resource,… \
    -p Port_list=port-number/protocol[, …] \
    -p Scalable=True resource
    
    resource

    Specifies your choice for the name of the resource to add.

    -g 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 Network_resources_used= network-resource, …

    Specifies a comma-separated list of network resource names 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=

    Specifies a required parameter for scalable services. This parameter must be set to True.

    -p Bin_dir=bin-directory

    Specifies the location where the Apache binaries—in particular, apachect1—are installed. Sun Cluster HA for Apache requires this extension property.

    The resource is created in the enabled state.


    Note –

    Optionally, you can set additional extension properties that belong to the Apache data service to override their default values. See Appendix A, Sun Cluster HA for Apache Extension Properties for a list of extension properties.


  7. For failover services only – Create an application resource in the failover resource group.

    Perform this step only if you run Sun Cluster HA for Apache as a failover data service. If you run Sun Cluster HA for Apache as a scalable data service, you should have performed Step 5 and Step 6 and should now proceed to Step 9.


    # clresource create -g resource-group \
    -t resource-type -p Bin_dir=bin-directory \
    -p Network_resources_used=network-resource,… \
    -p Port_list=port-number/protocol[, …] resource
    
    resource

    Specifies your choice for the name of the resource to add.

    -g resource-group

    Specifies the name of the resource group into which the resources are to be placed, created in Step 3.

    -t resource-type

    Specifies the type of the resource to add.

    -p Network_resources_used= network-resource, …

    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=

    This property is required for scalable services only. Here the value is set to False or can be omitted.

    -p Bin_dir=bin-directory

    Specifies the location where the Apache binaries—in particular, apachect1—are installed. Sun Cluster HA for Apache requires this extension property.

    The resource is created in the enabled state.

  8. Bring the failover resource group online.


    # clresourcegroup online resource-group
    
    resource-group

    Specifies the name of the failover resource group.

  9. For scalable services only – Bring the scalable resource group online.


    # clresourcegroup online resource-group
    
    resource-group

    Specifies the name of the scalable resource group.


Example 1 Registering Scalable Sun Cluster HA for Apache

For scalable services, you create the following resource groups.

The following example shows how to register a scalable Apache service on a two-node cluster.


Cluster Information
Node names: phys-schost-1, phys-schost-2
Shared address: schost-1
Resource groups: resource-group-1 (for shared addresses), 
	resource-group-2 (for scalable Apache application 
    resources)
Resources: schost-1 (shared address), apache-1 (Apache application 
    resource)
 
(Add a failover resource group to contain shared addresses.)
# clresourcegroup create resource-group-1
 
(Add the shared address resource to the failover resource group.)
# clressharedaddress create -g resource-group-1 -h schost-1 
 
(Register the Apache resource type.)
# clresourcetype register SUNW.apache
 
(Add a scalable resource group.)
# clresourcegroup create -p Maximum_primaries=2 \
-p Desired_primaries=2 -p RG_dependencies=resource-group-1 resource-group-2
 
(Add Apache application resources to the scalable resource group.)
# clresource create -g resource-group-2 \
-t SUNW.apache -p Bin_dir=/opt/apache/bin -p Network_resources_used=schost-1 \
-p Scalable=True \
-p Port_list=80/tcp apache-1
 
(Bring the failover resource group online.)
# clresourcegroup online resource-group-1
 
(Bring the scalable resource group online on both nodes.)
# clresourcegroup online resource-group-2


Example 2 Registering Failover Sun Cluster HA for Apache

The following example shows how to register a failover Apache 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 of the resources)
Resources: schost-1 (logical hostname),
	apache-1 (Apache application resource)
 
(Add a failover resource group to contain all of the resources.)
# clresourcegroup create resource-group-1
 
(Add the logical hostname resource to the failover resource group.)
# clreslogicalhostname create -g resource-group-1 -h schost-1 
 
(Register the Apache resource type.)
# clresourcetype register SUNW.apache
 
(Add Apache application resources to the failover resource group.)
# clresource create -g resource-group-1 \
-t SUNW.apache -p Bin_dir=/opt/apache/bin -p Network_resources_used=schost-1 \
-p Port_list=80/tcp apache-1
 
(Bring the failover resource group online.)
# clresourcegroup online 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 the procedure.)

How to Verify Data Service Installation and Configuration

After you configure Sun Cluster HA for Apache, verify that you can open a web page with the network resources (logical hostnames or shared addresses) and port number from a web browser. Perform a switchover with the clresourcegroup(1CL) command to verify that the service continues to run on a secondary node and can be switched back to the original primary.