NAME | DESCRIPTION | SEE ALSO
The list below describes the resource properties defined by Sun Cluster. These descriptions have been developed for data service developers. For more information about a particular data service, see that data service's man page.
Scalable, as used in this man page, specifically describes a resource that uses the network load balancing features of Sun Cluster. Such a resource also uses the properties Affinity_timeout, Load_balancing_policy, Load_balancing_weights, Port_list, UDP_affinity, and Weak_affinity. Some resource types can run on multiple nodes without using network load balancing. The Scalable resource for such a resource is set to False, and such a resource does not use the preceding additional properties.
The cluster administrator must specify a value when creating a resource with an administrative utility.
If the cluster administrator does not specify a value when creating a resource group, the system supplies a default value.
The RGM creates the property only if the property is declared in the RTR file. Otherwise, the property does not exist and is not available to the cluster administrator. A conditional property declared in the RTR file is optional or required, depending on whether a default value is specified in the RTR file. For details, see the description of each conditional property.
Cannot be set directly by an administrative tool.
All properties that are designated as tunable can be edited by the cluster administrator by using the command:
# scrgadm -c -j resource -y property=new value |
Property names, such as Affinity_timeout and Cheap_probe_interval, are not case sensitive. You can use any combination of uppercase and lowercase letters when you specify property names.
Length of time, in seconds, during which connections from a given client IP address for any service in the resource are sent to the same server node. If you set this property to -1, all connections are sent to the same node. If you set this property to 0, all open connections are sent to the same node. If you set this property to n, for n number of seconds after the last connection has closed, all new connections are sent to the same node as the last connection.
In all cases, if the server node leaves the cluster as a result of a failure, a new server node is selected.
This property is relevant only when Load_balancing_policy is either Lb_sticky or Lb_sticky_wild. In addition, Weak_affinity must be set to False (the default value).
This property is used only for scalable services.
Conditional/Optional
0
Anytime
The number of seconds between invocations of a quick fault probe of the resource. This property is only created by the RGM and available to the cluster administrator if this property is declared in the RTR file.
This property is optional if a default value is specified in the RTR file. If the Tunable attribute is not specified in the resource type file, the Tunable value for the property is When_disabled.
Conditional
See above
When disabled
The developer declares the resource type properties in the RTR file. The RTR file defines the initial configuration of the data service at the time the cluster administrator registers the data service with Sun Cluster. For information about the individual attributes you can set for extension properties, see property_attributes(5).
Conditional
No default
Depends on the specific property
Modifies the recovery actions that the RGM takes when a resource fails to start or to stop successfully, or when a resource monitor finds a resource to be unhealthy and consequently requests a restart or failover.
NONE, SOFT, or HARD (method failures)
These settings affect only failover behavior when a start or stop method (Prenet_start, Start, Monitor_stop, Stop, Postnet_stop) fails. Once the resource has started successfully, NONE, SOFT, and HARD have no effect on subsequent resource restart or giveover behavior that the resource monitor initiates with the scha_control command or the scha_control() function. See the scha_control(1HA) and the scha_control(3HA) man pages. NONE indicates that the RGM is not to take any recovery action when one of the previously listed start or stop methods fails. SOFT or HARD indicates that if a Start or Prenet_start method fails, the RGM is to relocate the resource's group to a different node. For Start or Prenet_start failures, SOFT and HARD are the same.
For failure of a stop method (Monitor_stop, Stop, or Postnet_stop), SOFT is the same as NONE. If Failover_mode is set to HARD when one of these stop methods fails, the RGM reboots the node to force the resource group offline. The RGM might then attempt to start the group on another node.
RESTART_ONLY or LOG_ONLY
Unlike NONE, SOFT, and HARD, which affect failover behavior when a start or stop method fails, RESTART_ONLY and LOG_ONLY affect all failover behavior. Failover behavior includes monitor-initiated (scha_control) restarts of resources and resource groups, and giveovers that are initiated by the resource monitor (scha_control). RESTART_ONLY indicates that the monitor can run scha_control to restart a resource or a resource group. The RGM allows Retry_count restarts within Retry_interval. If Retry_count is exceeded, no further restarts are permitted. If Failover_mode is set to LOG_ONLY, no resource restarts or giveovers are permitted. Setting Failover_mode to LOG_ONLY is the same as setting Failover_mode to RESTART_ONLY with Retry_count set to zero.
RESTART_ONLY or LOG_ONLY (method failures)
If a Prenet_start, Start, Monitor_stop, Stop, or Postnet_stop method fails, RESTART_ONLY and LOG_ONLY are the same as NONE. That is, the node is neither failed over nor rebooted.
Effect of Failover_mode settings on a data service
The effect that each setting for Failover_mode has on a data service depends on whether the data service is monitored or unmonitored and whether it is based on the Data Services Development Library (DSDL).
A data service is monitored if it implements a Monitor_start method and monitoring of the resource is enabled. The RGM starts a resource monitor by executing the Monitor_start method after starting the resource itself. The resource monitor probes the health of the resource. If the probes fail, the resource monitor might request a restart or a failover by calling the scha_control() function. For DSDL-based resources, probes might reveal partial failure (degradation) or a complete failure of the data service. Repeated partial failures accumulate to a complete failure.
A data service is unmonitored if it does not provide a Monitor_start method or monitoring of the resource has been disabled.
DSDL-based data services include those that are developed with Agent Builder, through the GDS, or by using the DSDL directly. Some data services, HA Oracle for example, were developed without using the DSDL.
NONE, SOFT, or HARD (probe failures)
If you set Failover_mode to NONE, SOFT, or HARD and the data service is a monitored DSDL-based service, and if the probe fails completely, the monitor calls the scha_control() function to request a restart of the resource. If probes continue to fail, the resource is restarted up to a maximum of Retry_count number of times within Retry_interval. If the probes fail again after the Retry_count number of restarts is reached, the monitor requests a failover of the resource's group to another node.
If you set Failover_mode to NONE, SOFT, or HARD and the data service is an unmonitored DSDL-based service, the only failure that is detected is the death of the resource's process tree. If the resource's process tree dies, the resource is restarted.
If the data service is a not a DSDL-based service, the restart or failover behavior depends on how the resource monitor is coded. For example, the Oracle resource monitor recovers by restarting the resource or the resource group, or by failing over the resource group.
RESTART_ONLY (probe failures)
If you set Failover_mode to RESTART_ONLY and the data service is a monitored DSDL-based service, and if the probe fails completely, the resource is restarted Retry_count times within Retry_interval. However, if Retry_count is exceeded, the resource monitor exits, sets the resource status to FAULTED, and generates the status message “Application faulted, but not restarted. Probe quitting.” At this point, although monitoring is still enabled, the resource is effectively unmonitored until it is repaired and restarted by the cluster administrator.
If you set Failover_mode to RESTART_ONLY and the data service is an unmonitored DSDL-based service, and if the process tree dies, the resource is not restarted.
If a monitored data service is not DSDL-based, the recovery behavior depends on how the resource monitor is coded. If you set Failover_mode to RESTART_ONLY, the resource or resource group can be restarted by a call to the scha_control() function Retry_count times within Retry_interval. If the resource monitor exceeds Retry_count, the attempt to restart fails. If the monitor calls the scha_control() function to request a failover, that request fails as well.
LOG_ONLY (probe failures)
If you set Failover_mode to LOG_ONLY for any data service, all scha_control() requests either to restart the resource or resource group or to fail over the group are precluded. If the data service is DSDL-based, a message is logged when a probe completely fails, but the resource is not restarted. If a probe fails completely more than Retry_count times within Retry_interval, the resource monitor exits, sets the resource status to FAULTED, and generates the status message “Application faulted, but not restarted. Probe quitting.” At this point, although monitoring is still enabled, the resource is effectively unmonitored until it is repaired and restarted by the cluster administrator.
If you set Failover_mode to LOG_ONLY and the data service is an unmonitored DSDL-based service, and if the process tree dies, a message is logged but the resource is not restarted.
If a monitored data service is not DSDL-based, the recovery behavior depends on how the resource monitor is coded. If you set Failover_mode to LOG_ONLY, all scha_control() requests either to restart the resource or resource group or to fail over the group fail.
Optional
NONE
Anytime
A string that defines the load-balancing policy in use. This property is used only for scalable services. The RGM automatically creates this property if the Scalable property is declared in the RTR file.
Load_balancing_policy can take the following values:
Lb_weighted (the default). The load is distributed among various nodes according to the weights set in the Load_balancing_weights property.
Lb_sticky. The set of ports is known at the time the application resources are configured. A given client (identified by the client's IP address) of the scalable service is always sent to the same node of the cluster.
Lb_sticky_wild. The port numbers are not known in advance but are dynamically assigned. A given client (identified by the client's IP address) that connects to an IP address of a wildcard sticky service is always sent to the same cluster node regardless of the port number to which that IP address is coming.
Conditional/Optional
Lb_weighted
At creation
For scalable resources only. The RGM automatically creates this property if the Scalable property is declared in the RTR file. The format is weight@node,weight@node..., where weight is an integer that reflects the relative portion of load distributed to the specified node. The fraction of load distributed to a node is the weight for this node divided by the sum of all weights. For example, 1@1,3@2 specifies that node 1 receives 1/4 of the load and node 2 receives 3/4. The empty string (“”), the default, sets a uniform distribution. Any node that is not assigned an explicit weight receives a default weight of 1. You can specify weight 0 to assign no load to a node.
If the Tunable attribute is not specified in the resource type file, the Tunable value for the property is Anytime. Changing this property revises the distribution for new connections only.
Conditional/Optional
Null
Anytime
A time lapse, in seconds, after which the RGM concludes that an invocation of the method has failed.
You cannot specify a maximum value for a method timeout (using the Max attribute). Likewise, you cannot specify a minimum value of zero (Min=0).
Conditional/Optional
3,600 (one hour) if the method itself is declared in the RTR file.
Anytime
You cannot directly set this property. Rather, it is set to Enabled or Disabled by the RGM if the cluster administrator enables or disables the monitor with an administrative utility. If disabled, the Monitor_start method will not be called on the resource until monitoring is enabled again. If the resource does not have a monitor callback method, this property evaluates to Disabled.
Query-only
Enabled if the resource type has monitoring methods; disabled otherwise.
See description
A list of logical host name or shared address network resources used by the resource. For scalable services, this property refers to shared address resources that usually are configured in a separate resource group. For failover services, this property refers to logical host name or shared address resources that might exist in the same resource group or in a different group. The RGM automatically creates this property if the Scalable property is declared in the RTR file. If the Scalable property is not declared in the RTR file, Network_resources_used is unavailable unless it is explicitly declared in the RTR file.
If the Tunable attribute is not specified in the RTR file, the Tunable value for the property is At_creation.
Conditional/Required
No default
At creation
You cannot directly set this property, which is set by the RGM to the number of scha_control Resource_restart or Resource_is_restarted calls that have been made for this resource on this node within the past n seconds, where n is the value of the Retry_interval property of the resource. The resource restart counter is reset to zero by the RGM whenever a scha_control giveover is executed by this resource, whether the giveover attempt succeeds or fails. scha_control is described in more detail in scha_control(1HA) or scha_control(3HA).
If a resource type does not declare the Retry_interval property, the Num_resource_restarts property is not available for resources of that type.
Query-only
No default
See description
You cannot directly set this property, which is set by the RGM to the number of scha_control Restart calls that have been made by this resource for the resource group to which it belongs on this node within the past n seconds, where n is the value of the Retry_interval property of the resource. If a resource type does not declare the Retry_interval property, the Num_rg_restarts property is not available for resources of that type.
Query-only
No default
See description
You cannot directly set this property. Rather, it is set to Enabled or Disabled by the RGM if the cluster administrator enables or disables the resource with an administrative utility. If disabled, a resource has no callbacks invoked until it is enabled again.
Query-only
Disabled
See description
A comma-separated list of port numbers on which the server is listening. Appended to each port number is a slash (/) followed by the protocol that is being used by that port, for example, Port_list=80/tcp or Port_list=80/tcp6,40/udp6.
Possible protocols that you can specify include tcp, for only TCP IPv4, tcp6, for both TCP IPv4 and TCP IPv6, udp, for only UDP IPv4, or udp6, for both UDP IPv4 and UDP IPv6.
If the Scalable property is declared in the RTR file, the RGM automatically creates Port_list. Otherwise, this property is unavailable unless it is explicitly declared in the RTR file.
Setting up this property for Apache is described in the Sun Cluster Data Service for Apache Guide for Solaris OS.
Conditional/Required
No default
Anytime
A brief description of the resource.
Optional
The empty string
Anytime
A list of resources in the same or in different groups upon which this resource has a strong dependency. This resource cannot be started if the start of any resource in the list fails. If this resource and one of the resources in the list start at the same time, the RGM waits until the resource in the list starts before the RGM starts this resource. If the resource in this resource's Resource_dependencies list does not start (for example, if the resource group for the resource in the list remains offline or if the resource in the list is in a Start_failed state), this resource also remains offline. If this resource remains offline because of a dependency on a resource in a different resource group that fails to start, this resource's group enters a Pending_online_blocked state.
If this resource is brought offline at the same time as those in the list, this resource stops before those in the list. However, if this resource remains online or fails to stop, a resource in the list that is in a different resource group stops anyway. Resources in the list cannot be disabled unless this resource is disabled first.
By default in a resource group, application resources have an implicit strong resource dependency on network address resources. Implicit_network_dependencies in rg_properties(5) contains more information.
Within a resource group, Prenet_start methods are run in dependency order before Start methods. Postnet_stop methods are run in dependency order after Stop methods. In different resource groups, the dependent resource waits for the depended-on resource to finish Prenet_start and Start before it runs Prenet_start. The depended-on resource waits for the dependent resource to finish Stop and Postnet_stop before it runs Stop.
Optional
The empty list
Anytime
A list of resources in the same or in different groups upon which this resource has a restart dependency. This resource cannot be started if the start of any resource in the list fails. If this resource and one of the resources in the list start at the same time, the RGM waits until the resource in the list starts before the RGM starts this resource.
If the resource in this resource's Resource_dependencies_restart list does not start (for example, if the resource group for the resource in the list remains offline or if the resource in the list is in a Start_failed state), this resource remains offline. If this resource remains offline because of a dependency on a resource in a different resource group that fails to start, this resource's group enters a Pending_online_blocked state.
If this resource is brought offline at the same time as those in the list, this resource stops before those in the list. However, if this resource remains online or fails to stop, a resource in the list that is in a different resource group stops anyway. Resources in the list cannot be disabled unless this resource is disabled first.
This property works just as Resource_dependencies does, except that, if any resource in the restart dependency list is restarted, this resource is restarted. The restart of this resource occurs after the resource in the list comes back online.
Within a resource group, Prenet_start methods are run in dependency order before Start methods. Postnet_stop methods are run in dependency order after Stop methods. In different resource groups, the dependent resource waits for the depended-on resource to finish Prenet_start and Start before it runs Prenet_start. The depended-on resource waits for the dependent resource to finish Stop and Postnet_stop before it runs Stop.
Optional
The empty list
Anytime
A list of resources in the same or in different groups upon which this resource has a weak dependency. A weak dependency determines the order of method calls within the group. The RGM calls the Start methods of the resources in this list before the Start method of this resource. The RGM calls the Stop methods of this resource before the Stop methods of those in the list. The resource can still start if those in the list fail to start or remain offline.
If this resource and a resource in its Resource_dependencies_weak list start concurrently, the RGM waits until the resource in the list starts before the RGM starts this resource. If the resource in the list does not start (for example, if the resource group for the resource in the list remains offline or the resource in the list is in a Start_failed state), this resource starts. This resource's resource group might enter a Pending_online_blocked state temporarily as resources in the this resource's Resource_dependencies_weak list start. When all resources in the list have started or failed to start, this resource starts and its group re-enters the Pending_online state.
If this resource is brought offline at the same time as those in the list, this resource stops before those in the list. However, if this resource remains online or fails to stop, a resource in the list that is in a different resource group stops anyway. Resources in the list cannot be disabled unless this resource is disabled first.
Within a resource group, Prenet_start methods are run in dependency order before Start methods. Postnet_stop methods are run in dependency order after Stop methods. In different resource groups, the dependent resource waits for the depended-on resource to finish Prenet_start and Start before it runs Prenet_start. The depended-on resource waits for the dependent resource to finish Stop and Postnet_stop before it runs Stop.
Optional
The empty list
Anytime
The name of the resource instance. Must be unique within the cluster configuration and cannot be changed after a resource has been created.
Required
No default
Never
The Solaris project name (see projects(1)) associated with the resource. Use this property to apply Solaris resource management features such as CPU shares and resource pools to cluster data services. When the RGM brings resources online, it launches the related processes under this project name. If this property is not specified, the project name will be taken from the RG_project_name property of the resource group that contains the resource (see rg_properties(5)). If neither property is specified, the RGM uses the predefined project name “default”. The specified project name must exist in the projects database(see projects(1) and System Administration Guide: Resource Management and Network Services).
This property is only supported starting in Solaris 9.
Changes to this property take affect the next time the resource is started.
Optional
Null
Anytime
Any valid Solaris project name, or Null
The RGM-determined state of the resource on each cluster node. Possible states include: Online, Offline, Start_failed, Stop_failed, Monitor_failed, Online_not_monitored, Starting, and Stopping.
The starting methods (Prenet_start, Start, and Monitor_start) have executed successfully on the resource on this node.
The resource has not yet started for the first time on this node, or the stopping methods (Monitor_stop, Stop, and Postnet_stop, as applicable to the particular resource) have executed successfully on the resource on this node.
A Prenet_start or Start method failed on the resource on this node. Failed means that the method exited with a nonzero exit status or timed out. The service that is represented by the resource might or might not actually have started on this node.
A Monitor_stop, Stop, or Postnet_stop method failed on the resource on this node. Failed means that the method exited with a nonzero exit status or timed out. The service that is represented by the resource might or might not actually have stopped on this node.
When a resource enters this state, the resource group state becomes Error_stop_failed and requires you to intervene. Error_stop_failed is described in more detail in rg_properties(5).
The resource successfully executed its Prenet_start or Start methods (as applicable to the specific resource type). However, the resources' Monitor_start method exited with a nonzero exit status or timed out. The resource monitor might or might not actually have started on this node.
The resource successfully executed its Prenet_start or Start methods (as applicable to the specific resource type). The Monitor_start method has not yet been executed on the resource. A resource that is unmonitored (that is, for which there is no Monitor_start method, or for which monitoring has been disabled) remains in this state when the resource group goes to Online state.
The resource is running the Prenet_start or Start method in an attempt to go online.
The resource is running the Start or Postnet_stop method in an attempt to go offline.
You cannot configure this property.
Query-only
No default
Never
The number of times a monitor attempts to restart a resource if it fails. If the Retry_count is exceeded, depending on the particular data service and the setting of the Failover_mode property, the monitor might do one of the following:
Allow the resource group to remain on the current primary, even though the resource is in a faulted state.
Request a failover of the resource group onto a different node.
This property is created by the RGM and is made available to the cluster administrator only if this property is declared in the RTR file. This property is optional if a default value is specified in the RTR file.
If the Tunable attribute is not specified in the resource type file, the Tunable value for the property is When_disabled.
If you specify a negative value for this property, the monitor attempts to restart the resource an unlimited number of times.
Conditional
See above
When disabled
The number of seconds in which to count attempts to restart a failed resource. The resource monitor uses this property in conjunction with Retry_count. This property is created by the RGM and made available to the cluster administrator only if it is declared in the RTR file. This property is optional if a default value is specified in the RTR file.
If the Tunable attribute is not specified in the resource type file, the Tunable value for the property is When_disabled.
If the Retry_interval property is not declared, the call to scha_resource_get (num_*_restarts) fails with exit 13 (SCHA_ERR_RT).
Conditional
See above
When disabled
Indicates whether the resource is scalable, that is, whether the resource uses the networking load balancing features of Sun Cluster.
If this property is declared in the RTR file, the RGM automatically creates the following scalable service properties for resources of that type: Affinity_timeout, Load_balancing_policy, Load_balancing_weights, Network_resources_used, Port_list, UDP_affinity, and Weak_affinity. These properties have their default values unless they are explicitly declared in the RTR file. The default for Scalable, when it is declared in the RTR file, is True.
If this property is declared in the RTR file, it is not permitted to be assigned a Tunable attribute other than At_creation.
If this property is not declared in the RTR file, the resource is not scalable, you cannot tune this property, and no scalable service properties are set by the RGM. However, you can explicitly declare the Network_resources_used and Port_list properties in the RTR file, if you want, because these properties can be useful in a non-scalable service as well as in a scalable service.
You use this resource property in combination with the Failover resource type property, as follows:
If Failover is |
If Scalable is |
Description |
---|---|---|
True |
True |
Do not specify this illogical combination. |
True |
False |
Specify this combination for a failover service. |
False |
True |
Specify this combination for a scalable service that uses a SharedAddress resource for network load balancing. The Sun Cluster Concepts Guide describes SharedAddress in more detail. |
False |
False |
Although it is an unusual combination, you can use this combination to configure a multi-master service that does not use network load balancing. |
The description for Failover in rt_properties(5) contains additional information.
Optional
See above
At creation
Set by the resource monitor. Possible values are: Online, Degraded, Faulted, Unknown, and Offline. The RGM sets the value to Online when the resource is started, if it is not already set by the Start (or Prenet_start) method, to Offline when the resource is stopped, if it is not already set by the Stop (or Postnet_stop) method.
Query-only
No default
Only by using scha_resource_setstatus(1HA)
Set by the resource monitor at the same time as the Status property. The RGM sets it to the empty string when the resource is brought Offline, if it was not already set by the Stop (or Postnet_stop) method.
Query-only
No default
Only by using scha_resource_setstatus(1HA)
The number of seconds between invocations of a high-overhead fault probe of the resource. This property is created by the RGM and available to the cluster administrator only if it is declared in the RTR file. This property is optional if a default value is specified in the RTR file.
If the Tunable attribute is not specified in the resource type file, the Tunable value for the property is When_disabled.
Conditional
No default
When disabled
An instance's resource type.
Required
No default
Never
Specifies which version of the resource type is currently associated with this resource. The RGM automatically creates this property, which cannot be declared in the RTR file. The value of this property is equal to the RT_version property of the resource's type. When a resource is created, the Type_version property is not specified explictly, though it may appear as a suffix of the resource type name. When a resource is edited, the Type_version may be changed to a new value.
See above
None
Its tunability is derived from:
The current version of the resource type
The #$upgrade_from directive in the resource type registration file (see rt_reg(4))
If true, all UDP traffic from a given client is sent to the same server node that currently handles all TCP traffic for the client.
This property is relevant only when Load_balancing_policy is either Lb_sticky or Lb_sticky_wild. In addition, Weak_affinity must be set to False (the default value).
This property is only used for scalable services.
Conditional/Optional
False
When disabled
If true, enable the weak form of the client affinity. This allows connections from a given client to be sent to the same server node except when a server listener starts (for example, due to a fault monitor restart, a resource failover or switchover, or a node rejoining a cluster after failing) or when load_balancing_weights for the scalable resource changes due to an administration action.
Weak affinity provides a low overhead alternative to the default form, both in terms of memory consumption and processor cycles.
This property is relevant only when Load_balancing_policy is either Lb_sticky or Lb_sticky_wild.
This property is only used for scalable services.
Conditional/Optional
False
When disabled
projects(1), scha_control(1HA), scha_resource_setstatus(1HA), scrgadm(1M), scha_control(3HA), rt_reg(4), property_attributes(5), rg_properties(5), rt_properties(5)
Sun Cluster Data Services Developer's Guide for Solaris OS, System Administration Guide: Resource Management and Network Services
NAME | DESCRIPTION | SEE ALSO