Sun Cluster Data Services Planning and Administration Guide for Solaris OS

Resource Properties

This section describes the resource properties that are defined by the Sun Cluster software.

The property values are categorized as follows:

The Tunable attribute, which is described in Resource Property Attributes, lists whether and when you can update resource properties, as follows:

FALSE or NONE

Never

TRUE or ANYTIME

Any time

AT_CREATION

When the resource is added to a cluster

WHEN_DISABLED

When the resource is disabled

Property names are shown first, followed by a description.

Affinity_timeout (integer)

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

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.

This property is used only for scalable services.

Category:

Optional

Default:

No default

Tunable:

ANYTIME

Boot_timeout for each callback method in the Type (integer)

A time lapse, in seconds, after which the RGM concludes that an invocation of this method has failed. For a given resource type, timeout properties are defined only for those methods that are declared in the RTR file.

Category:

Conditional or Optional

Default:

3600 (one hour), if the method itself is declared in the RTR file

Tunable:

ANYTIME

Cheap_probe_interval (integer)

The number of seconds between invocations of a quick fault probe of the resource. This property is created by the RGM and is 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 RTR file, the Tunable value for the property is WHEN_DISABLED.

Category:

Conditional

Default:

No default

Tunable:

WHEN_DISABLED

Extension properties

Extension properties as declared in the RTR file of the resource's type. The implementation of the resource type defines these properties. Resource Property Attributes contains information about the individual attributes that you can set for extension properties.

Category:

Conditional

Default:

No default

Tunable:

Depends on the specific property

Failover_mode (enum)

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. The RESTART_ONLY and LOG_ONLY settings can also affect whether the resource monitor can initiate the execution of 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 or zone. 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 or zone to force the resource group offline. The RGM might then attempt to start the group on another node or zone.

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.


Note –

A negative value of Retry_count, which is permitted by some but not all resource types, specifies an unlimited number of resource restarts. A more dependable way to specify unlimited restarts is to do the following:

  • Set Retry_interval to a small value such as 1 or 0.

  • Set Retry_count to a large value such as 1000.

If the resource type does not declare the Retry_count and Retry_interval properties, an unlimited number of resource restarts is 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 or zone 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 or zone.

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.

Category:

Optional

Default:

NONE

Tunable:

ANYTIME

Fini_timeout for each callback method in the Type (integer)

A time lapse, in seconds, after which the RGM concludes that an invocation of this method has failed. For a given resource type, timeout properties are defined only for those methods that are declared in the RTR file.

Category:

Conditional or Optional

Default:

3600 (one hour), if the method itself is declared in the RTR file

Tunable:

ANYTIME

Init_timeout for each callback method in the Type (integer)

A time lapse, in seconds, after which the RGM concludes that an invocation of this method has failed. For a given resource type, timeout properties are defined only for those methods that are declared in the RTR file.

Category:

Conditional or Optional

Default:

3600 (one hour), if the method itself is declared in the RTR file

Tunable:

ANYTIME

Load_balancing_policy (string)

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. A given client (identified by the client IP address) of the scalable service is always sent to the same node of the cluster.

Lb_sticky_wild. A given 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 the IP address is coming.

Category:

Conditional or Optional

Default:

Lb_weighted

Tunable:

AT_CREATION

Load_balancing_weights (string_array)

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 that is distributed to the specified node. The fraction of load that is 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 one-fourth of the load and node 2 receives three-fourths of the load. The empty string (“”), the default, sets a uniform distribution. Any node that is not assigned an explicit weight receives a default weight of 1.

If the Tunable attribute is not specified in the RTR file, the Tunable value for the property is ANYTIME. Changing this property revises the distribution for new connections only.

Category:

Conditional or Optional

Default:

The empty string (“”)

Tunable:

ANYTIME

Monitor_check_timeout for each callback method in the Type (integer)

A time lapse, in seconds, after which the RGM concludes that an invocation of this method has failed. For a given resource type, timeout properties are defined only for those methods that are declared in the RTR file.

Category:

Conditional or Optional

Default:

3600 (one hour), if the method itself is declared in the RTR file

Tunable:

ANYTIME

Monitor_start_timeout for each callback method in the Type (integer)

A time lapse, in seconds, after which the RGM concludes that an invocation of this method has failed. For a given resource type, timeout properties are defined only for those methods that are declared in the RTR file.

Category:

Conditional or Optional

Default:

3600 (one hour), if the method itself is declared in the RTR file

Tunable:

ANYTIME

Monitor_stop_timeout for each callback method in the Type (integer)

A time lapse, in seconds, after which the RGM concludes that an invocation of this method has failed. For a given resource type, timeout properties are defined only for those methods that are declared in the RTR file.

Category:

Conditional or Optional

Default:

3600 (one hour), if the method itself is declared in the RTR file

Tunable:

ANYTIME

Monitored_switch (enum)

Set to Enabled or Disabled by the RGM if the cluster administrator enables or disables the monitor with an administrative utility. If Disabled, monitoring on the resource is stopped, although the resource itself remains online. The Monitor_start method is not called until monitoring is re-enabled. If the resource does not have a monitor callback method, this property does not exist.

Category:

Query-only

Default:

No default

Tunable:

NONE

Network_resources_used (string_array)

A list of logical-hostname or shared-address network resources on which the resource has a dependency. This list contains all network-address resources that appear in the properties Resource_dependencies, Resource_dependencies_weak, Resource_dependencies_restart, or Resource_dependencies_offline_restart.

The RGM automatically creates this property if the Scalable property is declared in the RTR file. If Scalable is not declared in the RTR file, Network_resources_used is unavailable unless it is explicitly declared in the RTR file.

This property is updated automatically by the RGM, based on the setting of the resource-dependencies properties. You do not need to set this property directly. However, if you add a resource name to this property, the resource name is automatically added to the Resource_dependencies property. In addition, if you delete a resource name from this property, the resource name is automatically deleted from any resource-dependencies property in which the resource also appears.

Category:

Conditional or Optional

Default:

The empty list

Tunable:

ANYTIME

Num_resource_restarts on each cluster node or zone (integer)

The number of restart requests that have occurred on this resource within the past n seconds, where n is the value of the Retry_interval property.

A restart request is any of the following calls:

  • The scha_control(1HA) command with the RESOURCE_RESTART argument.

  • The scha_control(3HA) function with the SCHA_RESOURCE_RESTART argument.

  • The scha_control command with the RESOURCE_IS_RESTARTED argument.

  • The scha_control() function with the SCHA_RESOURCE_IS_RESTARTED argument.

The RGM resets the restart counter to zero for a given resource on a given node or zone whenever that resource executes one of the following:

  • The scha_control command with the GIVEOVER argument.

  • The scha_control() function with the SCHA_GIVEOVER argument.

The counter is reset whether the giveover attempt succeeds or fails.

If a resource type does not declare the Retry_interval property, the Num_resource_restarts property is not available for resources of that type.

Category:

Query-only

Default:

No default

Tunable:

See description

Num_rg_restarts on each cluster node or zone (integer)

The number of resource group restart requests that have occurred for this resource within the past n seconds, where n is the value of the Retry_interval property.

A resource group restart request is either of the following calls:

If a resource type does not declare the Retry_interval property, the Num_rg_restarts property is not available for resources of that type.

Category:

Query-only

Default:

No default

Tunable:

See description

On_off_switch (enum)

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 is brought offline and has no callbacks run until it is re-enabled.

Category:

Query-only

Default:

No default

Tunable:

NONE

Port_list (string_array)

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

You can specify the following protocol values:

  • tcp, for TCP IPv4

  • tcp6, for TCP IPv6

  • udp, for UDP IPv4

  • udp6, for 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.

Category:

Conditional or Required

Default:

No default

Tunable:

ANYTIME

Postnet_stop_timeout for each callback method in the Type (integer)

A time lapse, in seconds, after which the RGM concludes that an invocation of this method has failed. For a given resource type, timeout properties are defined only for those methods that are declared in the RTR file.

Category:

Conditional or Optional

Default:

3600 (one hour), if the method itself is declared in the RTR file

Tunable:

ANYTIME

Prenet_start_timeout for each callback method in the Type (integer)

A time lapse, in seconds, after which the RGM concludes that an invocation of this method has failed. For a given resource type, timeout properties are defined only for those methods that are declared in the RTR file.

Category:

Conditional or Optional

Default:

3600 (one hour), if the method itself is declared in the RTR file

Tunable:

ANYTIME

Proxied_service_instances

Includes information about the SMF services to be proxied by the resource. Its value is the path to a file that contains all the proxied SMF services. Each line in the file is dedicated to one SMF service and specifies svc fmri and the path to the corresponding service manifest file.

For example, if the resource has to manage two services, restarter_svc_test_1:default and restarter_svc_test_2:default, the file should include the following two lines:

<svc:/system/cluster/restarter_svc_test_1:default>,svc:/system/cluster/\
restarter_svc_test_1:default>,</var/svc/manifest/system/cluster/\
restarter_svc_test_1.xml>

<svc:/system/cluster/restarter_svc_test_2:default>,</var/svc/manifest/\
system/cluster/restarter_svc_test_2.xml>

Default: ""

Tunable: When_disabled

R_description (string)

A brief description of the resource.

Category:

Optional

Default:

The empty string

Tunable:

ANYTIME

Resource_dependencies (string_array)

A list of resources on which the resource has a strong dependency. A strong dependency determines the order of method calls.

A resource with resource dependencies, referred to as the dependent resource, cannot be started if any resource in the list, referred to as the depended-on resource, is not online. If the dependent resource and one of the depended-on resources in the list start at the same time, the RGM waits to start the dependent resource until the depended-on resource in the list starts. If the depended-on resource does not start, the dependent resource remains offline. The depended-on resource might not start because the resource group for the depended-on resource in the list remains offline or is in a Start_failed state. If the dependent resource remains offline because of a dependency on a depended-on resource in a different resource group that fails to start or is disabled or offline, the dependent resource's group enters a Pending_online_blocked state. If the dependent resource has a dependency on a depended-on resource in the same resource group that fails to start or is disabled or offline, the resource group does not enter a Pending_online_blocked state.

By default in a resource group, application resources have an implicit strong resource dependency on network address resources. Implicit_network_dependencies in Resource Group Properties 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.

To specify the scope of a dependency, append the following qualifiers, including the braces ({}), to the resource name when you specify this property.

{LOCAL_NODE}

Limits the specified dependency to a per-node or per-zone basis. The behavior of the dependent is affected by the depended-on resource only on the same node or zone. The dependent resource waits for the depended-on resource to start on the same node or zone. The situation is similar for stopping and restarting and enabling and disabling.

{ANY_NODE}

Extends the specified dependency to any node or zone. The behavior of the dependent is affected by the depended-on resource on any node or zone. The dependent resource waits for the depended-on resource to start on at least one primary node or zone before it starts itself. The situation is similar for stopping and restarting and enabling and disabling.

The dependency remains ANY_NODE, even if the dependent resource's resource group has a positive affinity for the depended-on resource's resource group.

{FROM_RG_AFFINITIES}

Specifies that the dependency is LOCAL_NODE or ANY_NODE, based on the RG_affinities relationship of the resource groups of the resources.

If the dependent resource's group has a positive affinity for the depended-on resource's group, and they are starting or stopping on the same node, then the dependency is considered to be LOCAL_NODE. If no such positive affinity exists, or if the groups are starting on different nodes, then the dependency is considered to be ANY_NODE.

If you do not specify a qualifier, the FROM_RG_AFFINITIES qualifier is used by default.

Resource dependencies between two resources in the same resource group are always LOCAL_NODE.

Category:

Optional

Default:

The empty list

Tunable:

ANYTIME

Resource_dependencies_offline_restart (string_array)

A list of resources on which the resource has an offline-restart dependency. An offline-restart dependency determines the order of method calls.

This property works as Resource_dependencies does, with one addition. If any resource in the offline-restart dependency list, referred to as a depended-on resource, goes offline, the RGM triggers a restart of the resource with resource dependencies, referred to as the dependent resource. The dependent resource immediately stops and remains offline until the depended-on resource is restarted. After the depended-on resource in the list comes back online, the RGM restarts the dependent resource. This restart behavior occurs when the resource groups that contain the dependent and depended-on resources remain online.

The dependent resource cannot be started if any depended-on resource is not online. If the dependent resource and one of the depended-on resources in the list start at the same time, the RGM waits to start the dependent resource until the depended-on resource in the list starts. If the depended-on resource does not start, the dependent resource remains offline. The depended-on resource might not start because the resource group for the depended-on resource in the list remains offline or is in a Start_failed state. If the dependent resource remains offline because a depended-on resource in a different resource group fails to start or is disabled or offline, the dependent resource's group enters a Pending_online_blocked state. If a depended-on resource in the same resource group fails to start or is disabled or offline, the resource group does not enter a Pending_online_blocked state.

To specify the scope of a dependency, append the following qualifiers, including the braces ({}), to the resource name when you specify this property.

{LOCAL_NODE}

Limits the specified dependency to a per-node or per-zone basis. The behavior of the dependent is affected by the depended-on resource only on the same node or zone. The dependent resource waits for the depended-on resource to start on the same node or zone. The situation is similar for stopping and restarting and enabling and disabling.

{ANY_NODE}

Extends the specified dependency to any node or zone. The behavior of the dependent is affected by the depended-on resource on any node or zone. The dependent resource waits for the depended-on resource to start on at least one primary node or zone before it starts itself. The situation is similar for stopping and restarting and enabling and disabling.

The dependency remains ANY_NODE, even if the dependent resource's resource group has a positive affinity for the depended-on resource's resource group.

{FROM_RG_AFFINITIES}

Specifies that the dependency is LOCAL_NODE or ANY_NODE, based on the RG_affinities relationship of the resource groups of the resources.

If the dependent resource's group has a positive affinity for the depended-on resource's group, and they are starting or stopping on the same node, then the dependency is considered to be LOCAL_NODE. If no such positive affinity exists, or if the groups are starting on different nodes, then the dependency is considered to be ANY_NODE.

If you do not specify a qualifier, the FROM_RG_AFFINITIES qualifier is used by default.

Resource dependencies between two resources in the same resource group are always LOCAL_NODE.

Category:

Optional

Default:

The empty list

Tunable:

ANYTIME

Resource_dependencies_restart (string_array)

A list of resources on which the resource has a restart dependency. A restart dependency determines the order of method calls.

This property works as Resource_dependencies does, with one addition. If any resource in the restart dependency list, referred to as a depended-on resource, is restarted, the resource with resource dependencies, referred to as the dependent resource, is restarted. After the depended-on resource in the list comes back online, the RGM stops and restarts the dependent resource. This restart behavior occurs when the resource groups that contain the dependent and depended-on resources remain online.

A resource with resource dependencies, referred to as the dependent resource, cannot be started if any resource in the list, referred to as the depended-on resource, is not online. If the dependent resource and one of the depended-on resources in the list start at the same time, the RGM waits to start the dependent resource until the depended-on resource in the list starts. If the depended-on resource does not start, the dependent resource remains offline. The depended-on resource might not start because the resource group for the depended-on resource in the list remains offline or is in a Start_failed state. If the dependent resource remains offline because of a dependency on a depended-on resource in a different resource group that fails to start or is disabled or offline, the dependent resource's group enters a Pending_online_blocked state. If the dependent resource has a dependency on a depended-on resource in the same resource group that fails to start or is disabled or offline, the resource group does not enter a Pending_online_blocked state.

To specify the scope of a dependency, append the following qualifiers, including the braces ({}), to the resource name when you specify this property.

{LOCAL_NODE}

Limits the specified dependency to a per-node or per-zone basis. The behavior of the dependent is affected by the depended-on resource only on the same node or zone. The dependent resource waits for the depended-on resource to start on the same node or zone. The situation is similar for stopping and restarting and enabling and disabling.

{ANY_NODE}

Extends the specified dependency to any node or zone. The behavior of the dependent is affected by the depended-on resource on any node or zone. The dependent resource waits for the depended-on resource to start on at least one primary node or zone before it starts itself. The situation is similar for stopping and restarting and enabling and disabling.

The dependency remains ANY_NODE, even if the dependent resource's resource group has a positive affinity for the depended-on resource's resource group.

{FROM_RG_AFFINITIES}

Specifies that the dependency is LOCAL_NODE or ANY_NODE, based on the RG_affinities relationship of the resource groups of the resources.

If the dependent resource's group has a positive affinity for the depended-on resource's group, and they are starting or stopping on the same node, then the dependency is considered to be LOCAL_NODE. If no such positive affinity exists, or if the groups are starting on different nodes, then the dependency is considered to be ANY_NODE.

If you do not specify a qualifier, the FROM_RG_AFFINITIES qualifier is used by default.

Resource dependencies between two resources in the same resource group are always LOCAL_NODE.

Category:

Optional

Default:

The empty list

Tunable:

ANYTIME

Resource_dependencies_weak (string_array)

A list of resources on which the resource has a weak dependency. A weak dependency determines the order of method calls.

The RGM calls the Start methods of the resources in this list, referred to as the depended-on resources, before the Start method of the resource with resource dependencies, referred to as the dependent resource. The RGM calls the Stop methods of the dependent resource before the Stop methods of the depended-on resources. The dependent resource can still start if the depended-on resources fail to start or remain offline.

If the dependent resource and a depended-on resource in its Resource_dependencies_weak list start concurrently, the RGM waits to start the dependent resource until the depended-on resource in the list starts. If the depended-on resource in the list does not start, for example, if the resource group for the depended-on resource in the list remains offline or the depended-on resource in the list is in a Start_failed state, the dependent resource starts. The dependent resource's resource group might enter a Pending_online_blocked state temporarily as resources in the dependent resource's Resource_dependencies_weak list start. When all depended-on resources in the list have started or failed to start, the dependent resource starts and its group reenters the Pending_online state.

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.

To specify the scope of a dependency, append the following qualifiers, including the braces ({}), to the resource name when you specify this property.

{LOCAL_NODE}

Limits the specified dependency to a per-node or per-zone basis. The behavior of the dependent is affected by the depended-on resource only on the same node or zone. The dependent resource waits for the depended-on resource to start on the same node or zone. The situation is similar for stopping and restarting and enabling and disabling.

{ANY_NODE}

Extends the specified dependency to any node or zone. The behavior of the dependent is affected by the depended-on resource on any node or zone. The dependent resource waits for the depended-on resource to start on at least one primary node or zone before it starts itself. The situation is similar for stopping and restarting and enabling and disabling.

The dependency remains ANY_NODE, even if the dependent resource's resource group has a positive affinity for the depended-on resource's resource group.

{FROM_RG_AFFINITIES}

Specifies that the dependency is LOCAL_NODE or ANY_NODE, based on the RG_affinities relationship of the resource groups of the resources.

If the dependent resource's group has a positive affinity for the depended-on resource's group, and they are starting or stopping on the same node, then the dependency is considered to be LOCAL_NODE. If no such positive affinity exists, or if the groups are starting on different nodes, then the dependency is considered to be ANY_NODE.

If you do not specify a qualifier, the FROM_RG_AFFINITIES qualifier is used by default.

Resource dependencies between two resources in the same resource group are always LOCAL_NODE.

Category:

Optional

Default:

The empty list

Tunable:

ANYTIME

Resource_name (string)

The name of the resource instance. This name must be unique within the cluster configuration and cannot be changed after a resource has been created.

Category:

Required

Default:

No default

Tunable:

NONE

Resource_project_name (string)

The Solaris project name that is 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 starts the related processes under this project name. If this property is not specified, the project name is taken from the RG_project_name property of the resource group that contains the resource (see the rg_properties(5) man page). If neither property is specified, the RGM uses the predefined project name default. The specified project name must exist in the projects database(see the projects(1) man page and System Administration Guide: Solaris Containers-Resource Management and Solaris Zones).

This property is supported starting with the Solaris 9 OS.


Note –

Changes to this property take effect the next time that the resource is started.


Category:

Optional

Default:

Null

Tunable:

ANYTIME

Resource_state on each cluster node or zone (enum)

The RGM-determined state of the resource on each cluster node or zone. Possible states are Online, Offline, Start_failed, Stop_failed, Monitor_failed, Online_not_monitored, Starting, and Stopping.

You cannot configure this property.

Category:

Query-only

Default:

No default

Tunable:

NONE

Retry_count (integer)

The number of times that 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 perform one of the following actions:

  • Allow the resource group to remain on the current primary node or zone, even though the resource is in a faulted state

  • Request a failover of the resource group onto a different node or zone

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 RTR file, the Tunable value for the property is WHEN_DISABLED.


Note –

If you specify a negative value for this property, the monitor attempts to restart the resource an unlimited number of times.

However, some resource types do not allow you to set Retry_count to a negative value. A more dependable way to specify unlimited restarts is to do the following:

  • Set Retry_interval to a small value such as 1 or 0.

  • Set Retry_count to a large value such as 1000.


Category:

Conditional

Default:

See above

Tunable:

WHEN_DISABLED

Retry_interval (integer)

The number of seconds over 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 is 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 RTR file, the Tunable value for the property is WHEN_DISABLED.

Category:

Conditional

Default:

No default (see above)

Tunable:

WHEN_DISABLED

Scalable (boolean)

Indicates whether the resource is scalable, that is, whether the resource uses the networking load-balancing features of the Sun Cluster software.


Note –

You can configure a scalable resource group (which uses network load-balancing) to run in a non-global zone. However, you can run such a scalable resource group in only one zone per physical node.


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 cannot 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. These properties can be useful in a nonscalable service as well as in a scalable service.

Using this resource property in combination with the Failover resource type property is described in more detail in the r_properties(5) man page.

Category:

Optional

Default:

No default

Tunable:

AT_CREATION

Start_timeout for each callback method in the Type (integer)

A time lapse, in seconds, after which the RGM concludes that an invocation of this method has failed. For a given resource type, timeout properties are defined only for those methods that are declared in the RTR file.

Category:

Conditional or Optional

Default:

3600 (one hour), if the method itself is declared in the RTR file

Tunable:

ANYTIME

Status on each cluster node or zone (enum)

Set by the resource monitor with the scha_resource_setstatus command or the scha_resource_setstatus() or scha_resource_setstatus_zone() functions. Possible values are OK, DEGRADED, FAULTED, UNKNOWN, and OFFLINE. When a resource is brought online or offline, the RGM automatically sets the Status value if the Status value is not set by the resource's monitor or methods.

Category:

Query-only

Default:

No default

Tunable:

NONE

Status_msg on each cluster node or zone (string)

Set by the resource monitor at the same time as the Status property. When a resource is brought online or offline, the RGM automatically resets this property to the empty string if this property is not set by the resource's methods.

Category:

Query-only

Default:

No default

Tunable:

NONE

Stop_timeout for each callback method in the Type (integer)

A time lapse, in seconds, after which the RGM concludes that an invocation of this method has failed. For a given resource type, timeout properties are defined only for those methods that are declared in the RTR file.

Category:

Conditional or Optional

Default:

3600 (one hour), if the method itself is declared in the RTR file

Tunable:

ANYTIME

Thorough_probe_interval (integer)

The number of seconds between invocations of a high-overhead fault probe of the resource. This property is created by the RGM and is 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 RTR file, the Tunable value for the property is WHEN_DISABLED.

Category:

Conditional

Default:

No default

Tunable:

WHEN_DISABLED

Type (string)

The resource type of which this resource is an instance.

Category:

Required

Default:

No default

Tunable:

NONE

Type_version (string)

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 explicitly, though it might appear as a suffix of the resource type name. When a resource is edited, the Type_version property can be changed to a new value.

The tunability of this property is derived from the following sources:

  • The current version of the resource type

  • The #$upgrade_from directive in the RTR file

Category:

See description

Default:

No default

Tunable:

See description

UDP_affinity (boolean)

If this property is set to TRUE, sends all UDP traffic from a given client 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.

This property is only used for scalable services.

Category:

Optional

Default:

No default

Tunable:

WHEN_DISABLED

Update_timeout for each callback method in the Type (integer)

A time lapse, in seconds, after which the RGM concludes that an invocation of this method has failed. For a given resource type, timeout properties are defined only for those methods that are declared in the RTR file.

Category:

Conditional or Optional

Default:

3600 (one hour), if the method itself is declared in the RTR file

Tunable:

ANYTIME

Validate_timeout for each callback method in the Type (integer)

A time lapse, in seconds, after which the RGM concludes that an invocation of this method has failed. For a given resource type, timeout properties are defined only for those methods that are declared in the RTR file.

Category:

Conditional or Optional

Default:

3600 (one hour), if the method itself is declared in the RTR file

Tunable:

ANYTIME

Weak_affinity (boolean)

If this property is set to TRUE, this property enables the weak form of the client affinity.

The weak form of the client affinity allows connections from a given client to be sent to the same server node except when the following conditions occur:

  • A server listener starts in response to, for example, a fault monitor's restarting, a resource's failing over or switching over, or a node's rejoining a cluster after failing

  • Load_balancing_weights for the scalable resource changes because the cluster administrator performed an administrative 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.

Category:

Optional

Default:

No default

Tunable:

WHEN_DISABLED