Skip Navigation Links | |
Exit Print View | |
Oracle Solaris Cluster Data Services Planning and Administration Guide |
1. Planning for Oracle Solaris Cluster Data Services
2. Administering Data Service Resources
The following information describes the resource group properties that are defined by the Oracle Solaris Cluster software.
The property values are categorized as follows:
Required. The cluster administrator must specify a value when creating a resource group with an administrative utility.
Optional. If the cluster administrator does not specify a value when creating a resource group, the system supplies a default value.
Query-only. Cannot be set directly by an administrative tool.
Property names are shown first, followed by a description.
This property controls whether the Resource Group Manager (RGM) starts the resource group automatically when a new cluster is forming. The default is TRUE.
If set to TRUE, the RGM attempts to start the resource group automatically to achieve Desired_primaries when all the nodes of the cluster are simultaneously rebooted.
If set to FALSE, the resource group does not start automatically when the cluster is rebooted. The resource group remains offline until the first time that the resource group is manually switched online by using the clresourcegroup online command or the equivalent GUI instruction. After that, the resource group resumes normal failover behavior.
Optional
TRUE
ANYTIME
The preferred number of nodes that the group can run on simultaneously.
The default is 1. The value of the Desired_primaries property must be less than or equal to the value of the Maximum_primaries property.
Optional
1
ANYTIME
A Boolean value that indicates whether to recalculate the set of nodes on which the group is online when a node joins the cluster. A recalculation can cause the RGM to bring the group offline on less preferred nodes and online on more preferred nodes.
Optional
FALSE
ANYTIME
Indicates whether cluster file systems are used by any resource in this resource group. Legal values that the cluster administrator can specify are an asterisk (*) to indicate all global resources, and the empty string (“”) to indicate no global resources.
Optional
All global resources
ANYTIME
A Boolean value that indicates, when TRUE, that the RGM should enforce implicit strong dependencies of non-network address resources on network address resources within the group. This means that the RGM starts all network address resources before all other resources and stops network address resources after all other resources within the group. Network address resources include the logical host name and shared address resource types.
In a scalable resource group, this property has no effect because a scalable resource group does not contain any network address resources.
Optional
TRUE
ANYTIME
Determines how much of the load limit a resource group consumes.
You can configure load limits for each node, and a resource group is assigned a set of load factors that correspond to the nodes' defined load limits. As the RGM brings resource groups online, the load factors of the resource groups on each node are added up to provide a total load that is compared against that node's load limits. The load distribution policy for resource groups is also influenced by the setting of the Priority and Preemption_mode properties. See the Preemption_mode and Priority properties for more information.
You can use the clresourcegroup set -p option to set the value of the load_factors property. The load_factors property has a composite value consisting of a comma-separated list of zero or more elements of the form limitname@value, where limitname is an identifier string and value is a nonnegative integer. The default value for each load factor is 0, and the maximum permitted value is 1000. On any node in the resource group's node list, if a limitname is not defined as a loadlimit, it is considered unlimited on that node.
If a set of resource groups use a common load factor, then those resource groups will be distributed across nodes, even if the corresponding load limit is unspecified (meaning unlimited) on those nodes. The existence of a nonzero load factor causes the RGM to distribute load. If you want to avoid load-based resource group distribution, remove the load factors or set them to zero.
Note - When load factors or load limits are changed, some resource groups that are currently offline might automatically be brought online. You can execute the clresourcegroup suspend command on a resource group to prevent it from coming online automatically.
Optional
0
ANYTIME
The maximum number of nodes on which the group might be online at the same time.
If the RG_mode property is Failover, the value of this property must be no greater than 1. If the RG_mode property is Scalable, a value greater than 1 is allowed.
Optional
1
ANYTIME
A list of cluster nodes on which a resource group can be brought online in order of preference. These nodes are known as the potential primaries or masters of the resource group.
Optional
The list of all voting nodes in the cluster in arbitrary order
ANYTIME
A directory in the cluster file system in which resources in the group can write essential administrative files. Some resources might require this property. Make Pathprefix unique for each resource group.
Optional
The empty string
ANYTIME
A nonnegative integer value (in seconds) that is used by the RGM to determine where to bring the resource group online in these instances:
In the event of a reconfiguration.
As the result of the execution of a scha_control command with the GIVEOVER argument or the scha_control() function with the SCHA_GIVEOVER argument.
In the event of a reconfiguration, the resource group might fail more than once to come online within the past Pingpong_interval seconds on a particular node. This failure occurs because the resource's Start or Prenet_start method exited with a nonzero status or timed out. As a result, that node is considered ineligible to host the resource group, and the RGM looks for another master.
If a scha_control command or scha_control -O GIVEOVER command is executed on a given node by a resource, thereby causing its resource group to fail over to another node, the first node (on which scha_control was run) cannot be the destination of another scha_control -O GIVEOVER by the same resource until Pingpong_interval seconds have elapsed.
Optional
3600 (one hour)
ANYTIME
Determines the likelihood that a resource group will be preempted from a node by a higher-priority resource group because of node overload.
You can use the clresourcegroup set -p option to set the enum value of the preemption_mode property. The default setting for the preemption_mode property is HAS_COST.
The resource group's preemption_mode property can have one of the following values:
HAS_COST – To satisfy load limits, this resource group can be displaced from its current master by a higher-priority resource group. Preempting this resource group has a cost associated with it, so the RGM will try to avoid it, if possible, by choosing a different node to master the higher-priority resource group.
NO_COST – To satisfy load limits, this resource group can be displaced from a current master by a higher-priority resource group. The cost of preempting this resource group is zero.
NEVER – This resource group cannot be displaced from its current master to satisfy load limits.
Optional
HAS_COST
ANYTIME
Determines the order in which resource groups are assigned to master nodes. A higher priority indicates a more important service.
You can use the clresourcegroup set -p option to set the unsigned-integer value of the priority property. A resource group with a higher priority value than another group takes precedence and is more likely to be mastered by its preferred node and is less likely to be displaced from that node. The default value for the Priority property is 500.
When you create a resource group with a strong affinity with failover delegation (+++ affinity) for an existing resource group, the Priority property of the new resource group is set to automatically match the value of the first resource group's priority.
If two resource groups have equal priorities and are related by RG_dependencies or strong RG_affinities, the resource group that does not specify the dependency or affinity will receive its node assignment before the dependent resource group. If two resource groups have equal priority and are unrelated by dependencies or strong affinities, they are assigned their primaries in arbitrary order.
Optional
500
ANYTIME
The list of resources that are contained in the group. The cluster administrator does not set this property directly. Rather, the RGM updates this property as the cluster administrator adds or removes resources from the resource group.
Query-only
No default
NONE
The RGM is to try to locate a resource group on a host that is a current master of another given resource group (positive affinity) or that is not a current master of a given resource group (negative affinity).
You can set RG_affinities to the following strings:
++, or strong positive affinity
+, or weak positive affinity
-, or weak negative affinity
--, or strong negative affinity
+++, or strong positive affinity with failover delegation
For example, RG_affinities=+RG2,--RG3 indicates that this resource group has a weak positive affinity for RG2 and a strong negative affinity for RG3.
Using the RG_affinities property is described in Chapter 2, Administering Data Service Resources.
Optional
The empty string
ANYTIME
Optional list of resource groups that indicates a preferred ordering for bringing other groups online or offline on the same node. The graph of all strong RG_affinities (positive and negative) together with RG_dependencies is not allowed to contain cycles.
For example, suppose that resource group RG2 is listed in the RG_dependencies list of resource group RG1, that is, RG1 has a resource group dependency on RG2.
The following list summarizes the effects of this resource group dependency:
When a node joins the cluster, Boot methods on that node are not run on resources in RG1 until all Boot methods on that node have completed on resources in RG2.
If RG1 and RG2 are both in the PENDING_ONLINE state on the same node at the same time, the starting methods (Prenet_start or Start) are not run on any resources in RG1 until all the resources in RG2 have completed their starting methods.
If RG1 and RG2 are both in the PENDING_OFFLINE state on the same node at the same time, the stopping methods (Stop or Postnet_stop) are not run on any resources in RG2 until all the resources in RG1 have completed their stopping methods.
An attempt to switch the primaries of RG1 or RG2 fails if switching the primaries would leave RG1 online on any node and RG2 offline on all nodes. The clresourcegroup(1CL) and clsetup(1CL) man pages contain more information.
Setting the Desired_primaries property to a value that is greater than zero on RG1 is not permitted if Desired_primaries is set to zero on RG2.
Setting the Auto_start_on_new_cluster property to TRUE on RG1 is not permitted if Auto_start_on_new_cluster is set to FALSE on RG2.
Optional
The empty list
ANYTIME
A brief description of the resource group.
Optional
The empty string
ANYTIME
Indicates whether a global device on which a resource group depends is being switched over. If this property is set to TRUE, the global device is being switched over. If this property is set to FALSE, no global device is being switched over. A resource group depends on global devices as indicated by its Global_resources_used property.
You do not set the RG_is_frozen property directly. The RGM updates the RG_is_frozen property when the status of the global devices changes.
Optional
No default
NONE
Indicates whether the resource group is a failover or a scalable group. If the value is Failover, the RGM sets the Maximum_primaries property of the group to 1 and restricts the resource group to being mastered by a single node.
If the value of this property is Scalable, the RGM allows the Maximum_primaries property to be set to a value that is greater than 1. As a result, the group can be mastered by multiple nodes simultaneously. The RGM does not allow a resource whose Failover property is TRUE to be added to a resource group whose RG_mode is Scalable.
If Maximum_primaries is 1, the default is Failover. If Maximum_primaries is greater than 1, the default is Scalable.
Optional
Depends on the value of Maximum_primaries
NONE
The name of the resource group. This property is required and must be unique within the cluster.
Required
No default
NONE
The Oracle Solaris project name (see the projects(1) man page) that is associated with the resource group. Use this property to apply Oracle Solaris resource management features, such as CPU shares and resource pools, to cluster data services. When the RGM brings resource groups online, it starts the related processes under this project name for resources that do not have the Resource_project_name property set (see the r_properties(5) man page). The specified project name must exist in the projects database (see the projects(1) man page and System Administration Guide: Oracle Solaris Containers-Resource Management and Oracle Solaris Zones).
Note - Changes to this property take affect the next time that the resource is started.
Optional
The text string “default”
ANYTIME
If the RG_slm_type property is set to AUTOMATED, this number is the basis for the calculation of the number of CPU shares and the size of the processor set.
Note - You can only use the RG_slm_cpu property if RG_slm_type is set to AUTOMATED. For more information, see the RG_slm_type property.
The maximum value for the RG_slm_cpu property is 655. You can include two digits after the decimal point. Do not specify 0 for the RG_slm_cpu property. If you set a share value to 0, a resource might not be scheduled by the Fair Share Scheduler (FFS) when the CPU is heavily loaded.
Changes that you make to the RG_slm_cpu property while the resource group is online are taken into account dynamically.
Because the RG_slm_type property is set to AUTOMATED, Oracle Solaris Cluster creates a project named SCSLM_resourcegroupname. resourcegroupname represents the actual name that you assign to the resource group. Each method of a resource that belongs to the resource group is executed in this project. These projects are created in the resource group's node, whether it is a global-cluster voting node or a global-cluster non-voting node. See the project(4) man page.
The project SCSLM_resourcegroupname has a project.cpu-shares value of 100 times the RG_slm_cpu property value. If the RG_slm_cpu property is not set, this project is created with a project.cpu-shares value of 1. The default value for the RG_slm_cpu property is 0.01.
If the RG_slm_pset_type property is set to DEDICATED_STRONG or to DEDICATED_WEAK, the RG_slm_cpu property is used to calculate the size of processor sets. The RG_slm_cpu property is also used to calculate the value of zone.cpu-shares.
For information about processor sets, see the System Administration Guide: Oracle Solaris Containers-Resource Management and Oracle Solaris Zones.
Note - You can use the RG_slm_cpu property only on a global cluster. You cannot use this property on a zone cluster.
Optional
0.01
ANYTIME
Determines the minimum number of processors on which an application can run.
You can only use this property if all of the following factors are true:
The RG_slm_type property is set to AUTOMATED
The RG_slm_pset_type property is set to DEDICATED_STRONG or to DEDICATED_WEAK
The RG_slm_cpu property is set to a value that is greater than or equal to the value set for the RG_slm_cpu_min property
The maximum value for the RG_slm_cpu_min property is 655. You can include two digits after the decimal point. Do not specify 0 for the RG_slm_cpu_min property. The RG_slm_cpu_min and RG_slm_cpu properties determine the values of pset.min and pset.max, respectively, for the processor set Oracle Solaris Cluster generates.
Changes that you make to the RG_slm_cpu and the RG_slm_cpu_min properties while the resource group is online are taken into account dynamically. If the RG_slm_pset_type property is set to DEDICATED_STRONG, and not enough CPUs are available, the change that you request for the RG_slm_cpu_min property is ignored. In this case, a warning message is generated. On next switchover, if not enough CPUs are available for the RG_slm_cpu_min property, errors due to the lack of CPUs can occur.
For information about processor sets, see the System Administration Guide: Oracle Solaris Containers-Resource Management and Oracle Solaris Zones.
Note - You can use the RG_slm_cpu_min property only on a global cluster. You cannot use this property on a zone cluster.
Optional
0.01
ANYTIME
Enables you to control system resource usage and automate some steps to configure the Oracle Solaris operating system for system resource management. Possible values for RG_SLM_type are AUTOMATED and MANUAL.
If you set the RG_slm_type property to AUTOMATED, the resource group is started with control of the CPU usage.
As a result, Oracle Solaris Cluster does the following:
Creates a project named SCSLM_resourcegroupname. All methods in the resources in this resource group execute in this project. This project is created the first time a method of a resource in this resource group is executed on the node.
Sets the value of project.cpu_shares that is associated with the project to the value of the RG_slm_cpu property times 100. By default, the value for project.cpu_shares is 1.
Sets zone.cpu_shares to 100 times the sum of the RG_slm_cpu property in all the online resource groups. This property also sets RG_slm_type to AUTOMATED in this node. The node can be a global-cluster voting node or a global-cluster non-voting node. The global-cluster non-voting node is bound to an Oracle Solaris Cluster generated pool. Optionally, if the RG_slm_pset_type property is set to DEDICATED_WEAK or to DEDICATED_STRONG, this Oracle Solaris Cluster generated pool is associated with an Oracle Solaris Cluster generated processor set. For information about dedicated processor sets, see the description of the RG_slm_pset_type property. When you set the RG_slm_type property to AUTOMATED, all operations that are performed are logged.
If you set the RG_slm_type property to MANUAL, the resource group executes in the project that is specified by the RG_project_name property.
For information about resource pools and processor sets, see the System Administration Guide: Oracle Solaris Containers-Resource Management and Oracle Solaris Zones.
Note -
Do not specify resource group names that exceed 58 characters. If a resource group name contains more than 58 characters, you cannot configure CPU control, that is, you cannot set the RG_slm_type property to AUTOMATED.
Refrain from including dashes (-) in resource group names. The Oracle Solaris Cluster software replaces all dashes in resource group names with underscores (_) when it creates a project. For example, Oracle Solaris Cluster creates the project named SCSLM_rg_dev for a resource group named rg-dev. If a resource group named rg_dev already exists, a conflict arises when Oracle Solaris Cluster attempts to create the project for the resource group rg-dev.
Note - You can use the RG_slm_type property only on a global cluster. You cannot use this property on a zone cluster.
Optional
manual
ANYTIME
Enables the creation of a dedicated processor set.
You can only use this property if all of the following factors are true:
The RG_slm_type property is set to AUTOMATED
The resource group executes in a global-cluster non-voting node
Possible values for RG_slm_pset_type are DEFAULT, DEDICATED_STRONG, and DEDICATED_WEAK.
For a resource group to execute as DEDICATED_STRONG or DEDICATED_WEAK, the resource group must be configured so there are only global-cluster non-voting nodes in its node list.
The global-cluster non-voting node must not be configured for a pool other than the default pool (POOL_DEFAULT). For information about zone configuration, see the zonecfg(1M) man page. This global-cluster non-voting node must not be dynamically bound to a pool other than the default pool. For more information about pool binding, see the poolbind(1M) man page. These two pool conditions are verified only when the methods of the resources in the resource group are launched.
The values DEDICATED_STRONG and DEDICATED_WEAK are mutually exclusive for resource groups that have the same node in their node list. You cannot configure resource groups in the same node so that some have RG_slm_pset_type set to DEDICATED_STRONG and others set to DEDICATED_WEAK.
If you set the RG_slm_pset_type property to DEDICATED_STRONG, Oracle Solaris Cluster does the following in addition to the actions performed by the RG_slm_type property when it is set to AUTOMATED:
Creates and dynamically binds a pool to the global-cluster non-voting node in which the resource group starts for either or both the PRENET_START and START methods.
Creates a processor set with a size between the following sums
The sum of the RG_slm_cpu_min property in all the resource groups that are online on the node in which this resource group starts.
The sum of the RG_slm_cpu property in the resource groups that are running on that node.
When either the STOP or POSTNET_STOP methods execute, the Oracle Solaris Cluster generated processor set is destroyed. If resource groups are no longer online on the node, the pool is destroyed, and the global-cluster non-voting node is bound to the default pool (POOL_DEFAULT).
Associates the processor set to the pool.
Sets zone.cpu_shares to 100 times the sum of the RG_slm_cpu property in all the resource groups that are running the node.
If you set the RG_slm_pset_type property to DEDICATED_WEAK, the resource group behaves the same as if RG_slm_pset_type was set to DEDICATED_STRONG. However, if enough processors are not available to create the processor set, the pool is associated to the default processor set.
If you set the RG_slm_pset_typeproperty to DEDICATED_STRONG and not enough processors are available to create the processor set, an error is generated. As a result, the resource group is not started on that node.
When CPUs are allocated, the DEFAULTPSETMIN minimum size has priority over DEDICATED_STRONG, which has priority over DEDICATED_WEAK. However, when you use the clnode command to increase the size of the default processor, and not enough processors are available, this priority is ignored. For information about the DEFAULTPSETMIN property, see the clnode(1CL) man page.
The clnode command assigns a minimum of CPUs to the default processor set dynamically. If the number of CPUs that you specify is not available, Oracle Solaris Cluster periodically retries to assign this number of CPUs. Failing that, Oracle Solaris Cluster tries to assign smaller numbers of CPUs to the default processor set until the minimum number of CPUs are assigned. This action might destroy some DEDICATED_WEAK processor sets, but does not destroy DEDICATED_STRONG processor sets.
When you start a resource group for which you've set the RG_slm_pset_type property to DEDICATED_STRONG, it might destroy the processor sets that are associated with the DEDICATED_WEAK processor sets. This resource group might do so if not enough CPUs are available on the node for both processor sets. In this case, the processes of the resource group that are running in the DEDICATED_WEAK processor sets are associated with the default processor set.
To swap the value of the RG_slm_pset_type property between DEDICATED_STRONG or DEDICATED_WEAK, you must first set it to the default.
If resource groups that are configured for CPU control are not online in a global-cluster non-voting node, the CPU share value is set to zone.cpu-shares for that node. By default, zone.cpu-shares is set to 1. For more information about zone configuration, see the zonecfg(1M) man page.
If you set the RG_slm_pset_type property to DEFAULT, Oracle Solaris Cluster creates a pool named SCSLM_pool_zonename, but does not create a processor set. In this case, SCSLM_pool_zonename is associated with the default processor set. The shares that are assigned to the node equal the sum of the values for RG_slm_cpu for all the resource groups in the node.
For information about resource pools and processor sets, see the System Administration Guide: Oracle Solaris Containers-Resource Management and Oracle Solaris Zones.
Note - You can use the RG_slm_pset_type property only on a global cluster. You cannot use this property on a zone cluster.
Optional
default
ANYTIME
Set by the RGM to UNMANAGED, ONLINE, OFFLINE, PENDING_ONLINE, PENDING_OFFLINE, ERROR_STOP_FAILED, ONLINE_FAULTED, or PENDING_ONLINE_BLOCKED to describe the state of the group on each cluster node.
You cannot configure this property. However, you can indirectly set this property by running the clresourcegroup command or by using the equivalent clsetup or Oracle Solaris Cluster Manager commands. A group can exist in an UNMANAGED state when that group is not under the control of the RGM.
The following descriptions summarize each state.
Note - States apply to individual nodes only, except the UNMANAGED state, which applies across all nodes. For example, a resource group might be OFFLINE on node A, but PENDING_ONLINE on node B.
The initial state of a newly created resource group, or the state of a previously managed resource group. Either Init methods have not yet been run on resources in the group, or Fini methods have been run on resources in the group.
The group is not managed by the RGM.
The resource group has been started on the node. In other words, the starting methods Prenet_start, Start, and Monitor_start, as applicable to each resource, have executed successfully on all enabled resources in the group.
The resource group has been stopped on the node. In other words, the stopping methods Monitor_stop, Stop, and Postnet_stop, as applicable to each resource, have executed successfully on all enabled resources in the group. This state also applies before a resource group has started for the first time on the node.
The resource group is starting on the node. The starting methods Prenet_start, Start, and Monitor_start, as applicable to each resource, are being executed on enabled resources in the group.
The resource group is stopping on the node. The stopping methods Monitor_stop, Stop, and Postnet_stop, as applicable to each resource, are being executed on enabled resources in the group.
One or more resources within the resource group failed to stop successfully and are in the Stop_failed state. Other resources in the group might remain online or offline. This resource group is not permitted to start on any node until the ERROR_STOP_FAILED state is cleared.
You must use an administrative command, such as clresource clear, to manually kill the Stop_failed resource and reset its state to OFFLINE.
The resource group was PENDING_ONLINE and has finished starting on this node. However, one or more resources ended up in the START_FAILED state or with FAULTED status.
The resource group failed to start fully because one or more resources within that resource group have an unsatisfied strong resource dependency on a resource in a different resource group. Such resources remain OFFLINE. When the resource dependencies are satisfied, the resource group automatically moves back to the PENDING_ONLINE state.
Query-only
No default
NONE
A Boolean value that indicates whether the automatic recovery of a resource group is suspended. A suspended resource group is not automatically restarted or failed over until the cluster administrator explicitly issues the command that resumes automatic recovery. Whether online or offline, suspended data services remain in their current state. You can still manually switch the resource group to a different state on specified nodes. You can also still enable and disable individual resources in the resource group.
If the Suspend_automatic_recovery property is set to TRUE, automatic recovery of the resource group is suspended. If this property is set to FALSE, automatic recovery of the resource group is resumed and active.
You do not set this property directly. The RGM changes the value of the Suspend_automatic_recovery property when the cluster administrator suspends or resumes automatic recovery of the resource group. The cluster administrator suspends automatic recovery with the clresourcegroup suspend command. The cluster administrator resumes automatic recovery with the clresourcegroup resume command. The resource group can be suspended or resumed regardless of the setting of its RG_system property.
Query-only
FALSE
NONE
If the RG_system property is TRUE for a resource group, particular operations are restricted for the resource group and for the resources that the resource group contains. This restriction is intended to help prevent accidental modification or deletion of critical resource groups and resources. Only the clresourcegroupcommand is affected by this property. Operations for scha_control(1HA) and scha_control(3HA) are not affected.
Before performing a restricted operation on a resource group (or a resource group's resources), you must first set the RG_system property of the resource group to FALSE. Use care when you modify or delete a resource group that supports cluster services, or when you modify or delete the resources that such a resource group contains.
|
If the RG_system property is TRUE for a resource group, the only property of the resource group that you can edit is the RG_system property itself. In other words, editing the RG_system property is never restricted.
Optional
FALSE
ANYTIME