Sun Cluster 3.1 Data Service Planning and Administration Guide

Appendix A Standard Properties

This appendix describe the standard resource type, resource group, and resource properties. This appendix also describes the resource property attributes available for changing system-defined properties and creating extension properties.

This appendix contains the following sections.


Note –

The property values, such as True and False, are not case sensitive.


Resource Type Properties

Table A–1 describes the resource type properties defined by Sun Cluster. The property values are categorized as follows.

Resource type properties are not updatable by administrative utilities with the exception of Installed_nodes, which cannot be declared in the RTR file and must be set by the administrator.

Table A–1 Resource Type Properties

Property Name 

Description 

API_version (integer)

The version of the resource management API used by this resource type implementation. 

Category: Optional

Default: 2

Tunable: Never

BOOT (string)

An optional callback method. The path to the program that the RGM starts on a node, which joins or rejoins the cluster when a resource of this type is already managed. This method is expected to initialize resources of this type similar to the INIT method.

Category: Conditional/Explicit

Default: No Default

Tunable: Never

Failover (Boolean)

True indicates that resources of this type cannot be configured in any group that can be online on multiple nodes at once.

Category: Optional

Default: False

Tunable: Never

FINI (string)

An optional callback method. The path to the program that the RGM starts when a resource of this type is removed from RGM management. 

Category: Conditional/Explicit

Default: No Default

Tunable: Never

INIT (string)

An optional callback method. The path to the program that the RGM starts when a resource of this type becomes managed by the RGM. 

Category: Conditional/Explicit

Default: No Default

Tunable: Never

Init_nodes (enum)

Indicates the nodes on which the RGM is to call the INIT, FINI, BOOT and VALIDATE methods. The values can be RG_primaries (just the nodes that can master the resource) or RT_installed_nodes (all nodes on which the resource type is installed).

Category: Optional

Default: RG_primaries

Tunable: Never

Installed_nodes (string array)

A list of the cluster node names that the resource type is allowed to be run on. The RGM automatically creates this property. The cluster administrator can set the value. You cannot declare this property in the RTR file. 

Category: Configurable by cluster administrator

Default: All cluster nodes

Tunable: Any time

Monitor_check (string)

An optional callback method. The path to the program that the RGM starts before performing a monitor-requested failover of a resource of this type. 

Category: Conditional/Explicit

Default: No Default

Tunable: Never

Monitor_start (string)

An optional callback method. The path to the program that the RGM activates to start a fault monitor for a resource of this type. 

Category: Conditional/Explicit

Default: No Default

Tunable: Never

Monitor_stop (string)

A callback method that is required if Monitor_start is set. The path to the program that the RGM activates to stop a fault monitor for a resource of this type.

Category: Conditional/Explicit

Default: No Default

Tunable: Never

Num_resource_restart on each cluster node (integer)

This property is set by the RGM to the number of scha_control RESTART calls that have been made for this resource in 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, then the Num_resource_restarts property is not available for resources of that type.

Pkglist (string array)

An optional list of packages that are included in the resource type installation. 

Category: Conditional/Explicit

Default: No Default

Tunable: Never

Postnet_stop (string)

An optional callback method. The path to the program that the RGM starts after calling the STOP method of any network-address resources (Network_resources_used) that a resource of this type is dependent on. This method is expected to do STOP actions that must be done after the network interfaces are configured down.

Category: Conditional/Explicit

Default: No Default

Tunable: Never

Prenet_start (string)

An optional callback method. The path to the program that the RGM starts before calling the START method of any network-address resources (Network_resources_used) that a resource of this type is dependent on. This method is expected to do START actions that must be done before network interfaces are configured up.

Category: Conditional/Explicit

Default: No Default

Tunable: Never

RT_basedir (string)

The directory path that is used to complete relative paths for callback methods. This path is expected to be set to the installation location for the resource type packages. It must be a complete path, that is, it must start with a forward slash (/). This property is not required if all the method path names are absolute.

Category: Required (unless all method path names are absolute)

Default: No Default

Tunable: Never

RT_description (string)

A brief description of the resource type. 

Category: Conditional

Default: The empty string

Tunable: Never

Resource_type (string)

The name of the resource type.  

To view the names of the currently registered resource types, use: 

scrgadm —p

Starting in Sun Cluster 3.1, a resource type name is of the form 

vendor_id.resource_type:version

The three components of the resource type name are properties specified in the RTR file as Vendor_id, Resource_type, and RT_version; the scrgadm command inserts the period and colon delimiters. The RT_version suffix of the resource type name is the same value as the RT_version property.

To ensure that the Vendor_id is unique, the recommended approach is the use the stock symbol for the company creating the resource type.

Resource type names created prior to Sun Cluster 3.1 continue to be of the form: 

vendor_id.resource_type

Category: Required

Default: The empty string

Tunable: Never

RT_version (string)

Starting with Sun Cluster 3.1, a required version of this resource type implementation. The RT_version is the suffix component of the full resource type name.

Category: Conditional/Explicit

Default: No Default

Tunable: Never

Single_instance (Boolean)

If True, indicates that only one resource of this type can exist in the cluster. Hence, the RGM allows only one resource of this type to run cluster-wide at one time.

Category: Optional

Default: False

Tunable: Never

START (string)

A callback method. The path to the program that the RGM activates to start a resource of this type. 

Category: Required (unless the RTR file declares a PRENET_START method)

Default: No Default

Tunable: Never

STOP (string)

A callback method. The path to the program that the RGM activates to stop a resource of this type. 

Category: Required (unless the RTR file declares a POSTNET_STOP method)

Default: No Default

Tunable: Never

UPDATE (string)

An optional callback method. The path to the program that the RGM starts when properties of a running resource of this type are changed. 

Category: Conditional/Explicit

Default: No Default

Tunable: Never

VALIDATE (string)

An optional callback method. The path to the program that will be invoked to check values for properties of resources of this type. 

Category: Conditional/Explicit

Default: No Default

Tunable: Never

Vendor_ID (string)

See the Resource_type property.

Category: Conditional

Default: No Default

Tunable: Never

Resource Properties

Table A–2 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. Resource property values are categorized as follows.

Table A–2 also lists whether and when resource properties are tunable, as follows.

None or False

Never. 

True or Anytime

Any time. 

At_creation

When the resource is added to a cluster. 

When_disabled

When the resource is disabled. 

Table A–2 Resource Properties

Property Name 

Description 

Affinity_timeout

(integer) 

Controls the number of seconds IP affinity lasts after a client closes all its connections to sticky scalable service. Before this timeout period expires, any new connection from the client will be forwarded to the same cluster node. A 0 value means affinity lasts for as long as there is a connection between a client and the scalable service. A -1 value means affinity lasts until the cluster node to which the client is bound crashes or reboots. A -1 value means no timeout period applies.

 

This property only applies to resources with Load_balancing_policy=LB_STICKY or LB_STICKYWILD.

Category: Optional

Default: 0

Tunable: Any time

Cheap_probe_interval (integer)

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

This property is required if the Default attribute is not specified in the property declaration in the RTR file.

Category: Conditional

Default: See above

Tunable: When disabled

Extension properties 

The developer declares the resource type properties in the initial configuration of the data service at the time the cluster administrator registers the data service with Sun Cluster. For information on the individual attributes you can set for extension properties. see Table A–4.

Category: Conditional

Default: No Default

Tunable: Depends on the specific property

Failover_mode (enum)

Possible settings are None, Soft, and Hard. Controls whether the RGM relocates a resource group or aborts a node in response to a failure of a START or STOP method call on the resource. None indicates that the RGM should just set the resource state on method failure and wait for operator intervention. Soft indicates that failure of a START method should cause the RGM to relocate the resource's group to a different node while failure of a STOP method should cause the RGM to set the resource state and wait for operator intervention. Hard indicates that failure of a START method should cause the relocation of the group and failure of a STOP method should cause the forcible stop of the resource by aborting the cluster node.

Category: Optional

Default: No Default

Tunable: Any time

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's IP address) of the scalable service is always sent to the same node of the cluster.

Lb_sticky_wild. A given client (identified by the client's IP address), who connects to an IP address of a wildcard sticky service, is always sent to the same cluster node regardless of the port number it is coming to.

Category: Conditional/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 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.

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.

Category: Conditional/Optional

Default: The empty string

Tunable: Any time

method_timeout for each callback method (integer)

A time lapse, in seconds, after which the RGM concludes that an invocation of the method has failed. 

Category: Conditional/Optional

Default: 3,600 (one hour) if the method itself is declared in the RTR file.

Tunable: Any time

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, the monitor does not have its START method called until it is enabled again. If the resource does not have a monitor callback method, this property does not exist.

Category: Query-only

Default: Enabled

Tunable: Never

Network_resources_used (string array)

A comma-separated list of logical host name or shared address network resources used by the resource. For scalable services, this property must refer to shared address resources that exist in a separate resource group. For failover services, this property refers to logical host name or shared address resources that exist in the same resource group. 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.

If the Tunable attribute is not specified in the RTR file, the Tunable value for the property is At_creation.

Category: Conditional/Required

Default: No Default

Tunable: At creation

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 has no callbacks invoked until it is enabled again.

Category: Query-only

Default: Disabled

Tunable: Never

Port_list (string array)

A comma-separated list of port numbers on which the server is listening. Appended to each port number is the protocol being used by that port, for example, Port_list=80/tcp. 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.

For specifics on setting up this property for Apache, see the Apache chapter in the Sun Cluster 3.1 Data Service Planning and Administration Guide.

Category: Conditional/Required

Default: No Default

Tunable: At creation

R_description (string)

A brief description of the resource. 

Category: Optional

Default: The empty string

Tunable: Any time

Resource_dependencies (string array)

A comma-separated list of resources in the same group that must be online in order for this resource to be online. This resource cannot be started if the start of any resource in the list fails. When bringing the group offline, this resource is stopped before those in the list. Resources in the list are not allowed to be disabled unless this resource is disabled first. 

Category: Optional

Default: The empty list

Tunable: Any time

Resource_dependencies_ weak (string array)

A list of resources in the same group that 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 and the stop methods of this resource before the stop methods of those in the list. The resource can still be online if those in the list fail to start or are disabled. 

Category: Optional

Default: The empty list

Tunable: Any time

Resource_name (string)

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

Category: Required

Default: No Default

Tunable: Never

Resource_project_name(string)

The Solaris project name 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. If neither property is specified, the RGM will use the predefined project name default. The specified project name must exist in the projects database (see appropriate SRM man page), and the user root must be configured as a member of the named project. This property is supported in Solaris 9 and later releases. For more information on Solaris project names, see System Administration Guide: Resource Management and Network Services.

 

Category: Optional

Default: see above

Tunable: Any time

Resource_state: on each cluster node (enum)

The RGM-determined state of the resource on each cluster node. Possible states are: ONLINE, OFFLINE, STOP_FAILED, START_FAILED, MONITOR_FAILED, and ONLINE_NOT_MONITORED.

This property is not user configurable. 

Category: Query-only

Default: No Default

Tunable: Never

Retry_count (integer)

The number of times a monitor attempts to restart a resource if it fails. This property is created by the RGM only and available to the administrator if it is declared in the RTR file. It 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.

This property is required if the Default attribute is not specified in the property declaration in the RTR file.

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 only and available to the administrator if it is declared in the RTR file. It 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.

This property is required if the Default attribute is not specified in the property declaration in the RTR file.

Category: Conditional

Default: See above

Tunable: When disabled

Scalable (Boolean)

Indicates whether the resource is scalable. If this property is declared in the RTR file, the RGM automatically creates the scalable service properties Network_resources_used, Port_list, Load_balancing_policy, and Load_balancing_weights for resources of that type. 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.

When this property is declared in RTR file, the Tunable attribute must be set to At_creation or resource creation fails.

If this property is not declared in the RTR file, the resource is not scalable, the cluster administrator 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 desired, because they can be useful in a non-scalable service as well as in a scalable service.

Category: Optional

Default: See above

Tunable: At creation

Status: on each cluster node (enum)

Set by the resource monitor. Possible values include OK, degraded, faulted, unknown, and offline. The RGM sets the value to unknown when the resource is brought online and to Offline when it is brought offline.

Category: Query-only

Default: No Default

Tunable: Never

Status_msg: on each cluster node (string)

Set by the resource monitor at the same time as the Status property. This property is tunable per resource per node. The RGM sets it to the empty string when the resource is brought offline.

Category: Query-only

Default: No Default

Tunable: Never

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 only and available to the administrator if it is declared in the RTR file. It 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.

This property is required if the Default attribute is not specified in the property declaration in the RTR file.

Category: Conditional

Default: No Default

Tunable: When disabled

Type (string)

An instance's resource type. 

Category: Required

Default: No Default

Tunable: Never

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

The RT_Version is used for upgrading from one version of a data service to another version of the data service.

Its tunability is derived from: 

  • The current version of the resource type

    The #$upgrade_from directive in the * RTR file

Udp_affinity

(Boolean) 

If TRUE, UDP packets from a given client are forwarded to the same cluster server node the same way TCP connections are forwarded. If a client's TCP connections are "stuck" with a server node, its UDP packets are sent to that node as well. If FALSE, this behavior is not maintained, and UDP packets from a given client could end up on a different node than TCP connections from that client. 

This property only applies to resources with Load_balancing_policy=LB_STICKY or LB_STICKYWILD.

Category: Optional

Default: False

Tunable: When disabled

Weak_affinity

(Boolean) 

Provides IP affinity for sticky scalable services, except it is subject to disruptions under the following cases: (1) When a server listener starts up, for example, due to a fault monitor restart, resource failover and switchover, or when a node rejoins the cluster after failover. (2) When load_balancing_weights for the scalable resource changes due to an administrative action. Provides a low overhead alternative to the default form of IP affinity in terms of memory consumption and processor cycles. Does not use the affinity timeout value. Weak_affinity lasts for as long as none of the above listed disruptions occurs.

This property only applies to resources with Load_balancing_policy=LB_STICKY or LB_STICKYWILD.

 

Category: Optional

Default: False

Tunable: When disabled

Resource Group Properties

Table A–3 describes the resource group properties defined by Sun Cluster.

Table A–3 Resource Group Properties

Property Name 

Description 

Auto_start_on_new_cluster (Boolean) 

This property controls whether the Resource Group Manager starts the resource group automatically when a new cluster is forming.  

The default is TRUE. If set to TRUE, the Resource Group Manager 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.

Category: Optional

Default: True

Tunable: Any time

Desired_primaries (integer)

The desired number of nodes that the group can run on simultaneously.  

The default is 1. 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.

Category: Optional

Default: 1, see above

Tunable: Any time

Failback (Boolean)

A Boolean value that indicates whether to recalculate the set of nodes where the group is online when the cluster membership changes. A recalculation can cause the RGM to bring the group offline on less preferred nodes and online on more preferred nodes. 

Category: Optional

Default: False

Tunable: Any time

Global_resources_used (string array)

Indicates whether cluster file systems are used by any resource in this resource group. Legal values that the administrator can specify are an asterisk (*) to indicate all global resources, and the empty string (“”) to indicate no global resources.

Category: Optional

Default: All global resources

Tunable: Any time

Implicit_network_ dependencies (Boolean)

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. 

Category: Optional

Default: True

Tunable: When disabled

Maximum_primaries (integer)

The maximum number of nodes where the group might be online at once. 

The default is 1. 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.

Category: Optional

Default: 1, see above

Tunable: Any time

Nodelist (string array)

A comma-separated list of cluster nodes where the group can be brought online in order of preference. These nodes are known as the potential primaries or masters of the resource group. 

Category: Optional

Default: The list of all cluster nodes in arbitrary order

Tunable: Any time

Pathprefix (string)

A directory in the cluster file system that resources in the group can write essential administrative files in. Some resources might require this property. Make Pathprefix unique for each resource group.

Category: Optional

Default: The empty string

Tunable: Any time

Pingpong_interval (integer)

A non-negative integer value (in seconds) used by the RGM to determine where to bring the resource group online in the event of a reconfiguration or as the result of an scha_control giveover command or function being executed.

In the event of a reconfiguration, if the resource group fails to come online more than once within the past Pingpong_interval seconds on a particular node (because the resource's START or PRENET_START method exited non-zero or timed out), that node is considered ineligible to host the resource group and the RGM looks for another master.

If a call to a resource's scha_control(1ha)(3ha) command or function causes the resource group to be brought offline on a particular node within the past Pingpong_interval seconds, that node is ineligible to host the resource group as the result of a subsequent call to scha_control originating from another node.

Category: Optional

Default: 3,600 (one hour)

Tunable: Any time

Resource_list (string array)

The list of resources that are contained in the group. The administrator does not set this property directly. Rather, the RGM updates this property when the administrator adds or removes resources from the resource group. 

Category: Query-only

Default: The empty list

Tunable: Never

RG_dependencies (string array)

A comma-separated list of resource groups that this group depends on. This list indicates a preferred order for bringing other groups online or offline on the same node. It has no effect if the groups are brought online on different nodes. 

Category: Optional

Default: The empty list

Tunable: Any time

RG_description (string)

A brief description of the resource group. 

Category: Optional

Default: The empty string

Tunable: Any time

RG_mode (enum)

Indicates whether the resource group is a failover or 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 have a value greater than 1, meaning the group can be mastered by multiple nodes simultaneously.

Note: The RGM does not allow a resource whose Failover property is True to be added to a resource group whose RG_mode is Scalable.

Category: Optional

Default: Failover if Maximum_primaries is 1

Scalable if Maximum_primaries is greater than 1.

Tunable: Never

RG_name (string)

The name of the resource group. This property is required and must be unique within the cluster. 

Category: Required

Default: No Default

Tunable: Never

RG_project_name

The Solaris project name associated with the resource group. Use this property to apply Solaris resource management features such as CPU shares and resource pools to cluster data services. When the RGM brings resource groups online, it launches the related processes under this project name for resources that do not have the Resource_project_name property set. The specified project name must exist in the projects database (see appropriate SRM man page), and the user root must be configured as a member of the named project. This property is supported in Solaris 9 and later releases. For more information on Solaris project names, see System Administration Guide: Resource Management and Network Services.

 

Category: Optional

Default: Default, see above

Tunable: Any time

RG_state: on each cluster node (enum)

Set by the RGM to Online, Offline, Pending_online, Pending_offline or Error_stop_failed to describe the state of the group on each cluster node. A group can also exist in an UNMANAGED state when it is not under the control of the RGM.

This property is not user configurable. 

Category: Query-only

Default: Offline

Tunable: Never

Resource Property Attributes

Table A–4 describes the resource property attributes that can be used to change system-defined properties or create extension properties.


Caution – Caution –

You cannot specify NULL or the empty string (“”) as the default value for boolean, enum, or int types.


Table A–4 Resource Property Attributes

Property 

Description 

Property

The name of the resource property. 

Extension

If used, indicates that the RTR file entry declares an extension property defined by the resource type implementation. Otherwise, the entry is a system-defined property.  

Description

A string annotation intended to be a brief description of the property. The description attribute cannot be set in the RTR file for system-defined properties. 

Type of the property 

Allowable types include string, boolean, int, enum, and stringarray. You cannot set the type attribute in an RTR file entry for system-defined properties. The type determines acceptable property values and the type-specific attributes that are allowed in the RTR file entry. An enum type is a set of string values.

Default

Indicates a default value for the property. 

Tunable

Indicates when the cluster administrator can set the value of this property in a resource. Can be set to None or False to prevent the administrator from setting the property. Values that allow administrator tuning include True or Anytime (at any time), At_creation (only when the resource is created), or When_disabled (when the resource is offline).

 

The default is True (Anytime).

Enumlist

For an enum type, a set of string values permitted for the property.

Min

For an int type, the minimal value permitted for the property.

Max

For an int type, the maximum value permitted for the property.

Minlength

For string and stringarray types, the minimum string length permitted.

Maxlength

For string and stringarray types, the maximum string length permitted.

Array_minsize

For stringarray type, the minimum number of array elements permitted.

Array_maxsize

For stringarray type, the maximum number of array elements permitted.