Complete the registration and configuration on any cluster member.
Before You Begin
Verify that all the network addresses that you use have been added to your name service database.
You should have performed this verification during your initial Oracle Solaris Cluster installation. See the planning chapter in the Oracle Solaris Cluster 4.3 Software Installation Guide for details.
/usr/sbin/svccfg –s svc:/system/name-service/switch setprop config/host = astring: \” cluster files nis\”
Ensure that the /etc/netmasks file has IP-address subnet and netmask entries for all logical hostnames. If necessary, edit the /etc/netmasks file to add any missing entries.
Set the ServerName directive. (In Version 2.2 of Apache, the ServerName directive specifies the hostname and the port.)
Set the BindAddress directive (optional). (The BindAddress directive only exists in versions prior to Apache 2.2. For Apache 22, see the following bullet for the Listen directive.)
Set the Listen directive. The Listen directive must use the address of the logical host or shared address. (The Listen directive only exists in Apache 2.2 and beyond. For Apache versions prior to Apache 2.2, see the previous bullet for the BindAddress directive.)
Set the ServerType, ServerRoot, DocumentRoot, ScriptAlias, and LockFile directives.
Set the Port directive to the same number as the Port_list standard resource property.
Add the following lines of code to the httpd.conf configuration file if you choose to configure the Apache software as a proxy server.
# Proxy Server Directives. <IfModule mod_proxy.c> ProxyRequests On <Directory proxy:*> Order deny,allow Deny from all Allow from IP_ADDRESS </Directory> ProxyVia On </IfModule> # End of Proxy Server Directives.
You can edit the httpd.conf configuration file to change its port number or numbers to match the standard Oracle Solaris Cluster resource property default (port 80). Alternatively, while you configure Oracle Solaris Cluster HA for Apache, you can set the Port_list standard property to match the setting in the httpd.conf file.
You must change the paths from the Apache defaults to match your Apache directory structure. For example, change the line in the BIN_dir/apachectl script beginning with HTTPD=/usr/local/apache/bin/httpd to the following.
HTTPD='/usr/local/apache/bin/httpd -f /global/foo/apache/conf/httpd.conf'
If Apache does not start up correctly, correct the problem.
# clresourcetype register SUNW.apache
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-list] 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.
Specifies a comma-separated, ordered list of nodes that can master this resource group. In this format, node specifies the node name in a global zone.
This list is optional. If you omit this list, the global zone of each cluster node can master the resource group.
# clressharedaddress create -g resource-group \ -h hostname,... [-N netiflist] resource
Specifies a comma-separated list of network resources to add.
Specifies the name of the failover resource group that you created in Step 7.
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.
Specifies an optional, comma-separated list that identifies the IPMP 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:
Specifies an IPMP group name, such as sc_ipmp0, or a public network interface card (NIC). If you specify a public NIC, Oracle Solaris Cluster attempts to create the required IPMP groups.
Specifies the name or ID of a node. To specify the global zone, specify only node.
If you run HA for Apache as a failover data service, proceed to Step 11.
Create a resource group to hold a data service application resource. You must specify the maximum and desired number of primary nodes.
You must also specify any dependency between this resource group and the failover resource group that you created in Step 7. 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
Specifies the name of the scalable service resource group to add.
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, that is, the name of the failover resource group that you created in Step 7.
Specifies a comma-separated, ordered list of nodes that can master this resource group. The format of each entry in the list is node. In this format, node specifies the node name . To specify the global zone, specify only node.
This list is optional. If you omit this list, the global zone of each cluster node can master the resource group.
If you run HA for Apache as a failover data service, proceed to Step 11.
# clresource create -g resource-group \ -t resource-type -p Bin_dir=bin-directory,... \ -p Resource_dependencies=network-resource,… \ -p Port_list=port-number/protocol[, …] \ -p Scalable=True resource
Specifies your choice for 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 resource names 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. Specify HTTPS or HTTP ports being served by the Apache server.
Specifies a required parameter for scalable services. This parameter must be set to True.
Specifies the location where the Apache binaries—in particular, apachectl—are installed. HA for Apache requires this extension property.
The resource is created in the enabled state.
Perform this step only if you run HA for Apache as a failover data service. If you run HA for Apache as a scalable data service, you should have performed Step 9 and Step 10 and should now proceed to Step 13.
# clresource create -g resource-group \ -t resource-type -p Bin_dir=bin-directory \ -p Resource_dependencies=network-resource,… \ -p Port_list=port-number/protocol[, …] resource
Specifies your choice for the name of the resource to add.
Specifies the name of the resource group you created in Step 7 where 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). Specify HTTPS or HTTP ports being served by the Apache server.
This property is required for scalable services only. Here the value is set to False or can be omitted.
Specifies the location where the Apache binaries—in particular, apachectl— are installed. HA for Apache requires this extension property.
The resource is created in the enabled state.
# clresourcegroup online -M resource-group
Specifies the name of the failover resource group.
# clresourcegroup online -M resource-group
Specifies the name of the scalable resource group.
For scalable services, you create the following resource groups.
A failover resource group that contains the network resources
A scalable resource group that contains the application resources
The following example shows how to register a scalable Apache service on a two-node cluster.
Ensure that the /etc/netmasks file has IP-address subnet and netmask entries for all logical hostnames. If necessary, edit the /etc/netmasks file to add any missing entries.
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 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 Resource_dependencies=schost-1 \ -p Scalable=True \ -p Port_list=80/tcp apache-1 (Bring the failover resource group online.) # clresourcegroup online -M resource-group-1 (Bring the scalable resource group online on both nodes.) # clresourcegroup online -M resource-group-2Example 4 Registering Failover HA for Apache
The following example shows how to register a failover Apache service on a two-node cluster.
Ensure that the /etc/netmasks file has IP-address subnet and netmask entries for all logical hostnames. If necessary, edit the /etc/netmasks file to add any missing entries.
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 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 Resource_dependencies=schost-1 \ -p Port_list=80/tcp apache-1 (Bring the failover resource group online.) # clresourcegroup online -M resource-group-1