The use of strong negative affinities between resource groups provides a simpler method for offloading noncritical resource groups. For more information, see Distributing Online Resource Groups Among Cluster Nodes.
Prioritized Service Management (RGOffload) enables your cluster automatically to free a node's resources for critical data services. Use RGOffload when the startup of a critical failover data service requires a noncritical, scalable or failover data service to be brought offline. Use RGOffload to offload resource groups that contain noncritical data services.
The critical data service must be a failover data service. The data service to be offloaded can be a failover or scalable data service.
Become superuser on a cluster member.
Determine whether the RGOffload resource type is registered.
The following command prints a list of resource types.
# scrgadm -p|egrep SUNW.RGOffload |
If necessary, register the resource type.
# scrgadm -a -t SUNW.RGOffload |
Set the Desired_primaries property to zero in each resource group that the RGOffload resource is to be offload.
# scrgadm -c -g offload-rg -y Desired_primaries=0 |
Add the RGOffload resource to the critical failover resource group and set the extension properties.
Do not place a resource group on more than one resource's rg_to_offload list. Placing a resource group on multiple rg_to_offload lists might cause the resource group to be taken offline and brought back online repeatedly.
For a description of RGOffload extension properties, see Configuring RGOffload Extension Properties.
# scrgadm -aj rgoffload-resource \ -t SUNW.RGOffload -g critical-rg \ -x rg_to_offload=offload-rg-1, offload-rg-2, ... \ -x continue_to_offload=TRUE \ -x max_offload_retry=15 |
Extension properties other than rg_to_offload are shown with default values here. rg_to_offload is a comma-separated list of resource groups that are not dependent on each other. This list cannot include the resource group to which the RGOffload resource is being added.
Enable the RGOffload resource.
# scswitch -ej rgoffload-resource |
Set the dependency of the critical failover resource on the RGOffload resource.
# scrgadm -c -j critical-resource \ -y Resource_dependencies=rgoffload-resource |
You can also use Resource_dependencies_weak. Using Resource_dependencies_weak on the RGOffload resource type allows the critical failover resource to start even if errors are encountered during offload of offload-rg.
Bring online the resource group that is to be offloaded
# scswitch -z -g offload-rg, offload-rg-2, ... -h [nodelist] |
The resource group remains online on all nodes where the critical resource group is offline. The fault monitor prevents the resource group from running on the node where the critical resource group is online.
In Step 4, Desired_primaries for resource groups that are to be offloaded was set to 0. Therefore, the -Zoption cannot bring these resource groups online.
If the critical failover resource group is not online, bring it online.
# scswitch -Z -g critical-rg |
This example shows how to configure the RGOffload resource rgofl as follows:
The critical resource group oracle_rg contains the RGOffload resource.
The critical resource is oracle-server-rs.
The scalable resource groups IWS-SC and IWS-SC-2 are to be offloaded when the critical resource group comes online.
The resource groups oracle_rg, IWS-SC, and IWS-SC-2 can be mastered on any node of cluster triped, namely: phys-triped-1, phys-triped-2, or phys-triped-3.
[Determine whether the SUNW.RGOffload resource type is registered.] # scrgadm -p|egrep SUNW.RGOffload [If needed, register the resource type.] # scrgadm -a -t SUNW.RGOffload [Set the Desired_primaries to zero in each resource group to be offloaded by the RGOffload resource.] # scrgadm -c -g IWS-SC-2 -y Desired_primaries=0 # scrgadm -c -g IWS-SC -y Desired_primaries=0 [Add the RGOffload resource to the critical resource group and set the extension properties.] # scrgadm -aj rgofl -t SUNW.RGOffload -g oracle_rg \ -x rg_to_offload=IWS-SC,IWS-SC-2 -x continue_to_offload=TRUE \ -x max_offload_retry=15 [Enable the RGOffload resource.] # scswitch -ej rgofl [Set the dependency of the critical failover resource to the RGOffload resource.] # scrgadm -c -j oracle-server-rs -y Resource_dependencies=rgofl [Bring online on all nodes the resource groups that are to be offloaded.] # scswitch -z -g IWS-SC,IWS-SC-2 -h phys-triped-1,phys-triped-2,phys-triped-3 [If the critical failover resource group is not online, bring it online.] # scswitch -Z -g oracle_rg |
This section lists the extension properties that you can configure for RGOffload. The Tunable entry indicates when you can update the property.
Typically, you use the command line scrgadm -x parameter=value to configure extension properties when you create the RGOffload resource.
Specifies whether to continue offloading the remaining resource groups in the rg_to_offload list after an error in offloading a resource group.
This property is used only by the START method.
Default: True
Tunable: Any time
Specifies the number of attempts to offload a resource group during startup if cluster reconfiguration or resource group reconfiguration causes a failure to offload. The interval between successive retries is 10 seconds.
If max_offload_retry is too high, the START method of the RGOffload resource might time out before the maximum offload attempts are completed. To avoid this possibility, use the following formula to calculate max_offload_retry:
max-offload-retry < start-timeout /(num-rg × offload-retry-interval)
The value of the max_offload_retry extension property
The value of the Start_timeout of property the RGOffload resource
The number of resource groups to that are to be offloaded
The interval between successive retries, which is 10 seconds
This property is used only by the START method.
Default: 15
Tunable: Any time
Specifies a comma-separated list of resource groups that are to be offloaded on a node when a critical failover resource group starts on that node. This property has no default and must be set.
This list should not contain resource groups that depend upon each other. RGOffload does not check for dependency loops in the list of resource groups that are set in the rg_to_offload extension property.
For example, if resource group RG-B depends in some way on RG-A, do not include both resource groups in rg_to_offload.
Default: None
Tunable: Any time
The RGOffload fault monitor prevents noncritical resource groups from being brought online on the node that masters the critical resource. The fault monitor might detect that a noncritical resource group is online on the node that masters the critical resource. In this situation, the fault monitor attempts to start the resource group on other nodes. The fault monitor also brings offline the resource group on the node that masters the critical resource.
Because desired_primaries for noncritical resource groups is set to 0, offloaded resource groups are not restarted on nodes that become available later. Therefore, the RGOffload fault monitor attempts to start noncritical resource groups on as many primaries as possible, until maximum_primaries limit is reached. However, the fault monitor keeps noncritical resource groups offline on the node that masters the critical resource.
RGOffload attempts to start all offloaded resource groups unless the resource groups are in the MAINTENANCE or UNMANAGED state. To place a resource group in an UNMANAGED state, use the scswitch command.
# scswitch -u -g resourcegroup |
The value of the RGOffload resource's Thorough_probe_interval property specifies the interval between fault monitor probes.