Sun Microsystems, Inc.
spacerspacer
spacer www.sun.com docs.sun.com |
spacer
black dot
 
 
  Previous   Contents   Next 
   
 
Appendix A

Standard Properties

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

This appendix includes the following major sections:


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


Resource Type Properties

The following table describes the resource type properties defined by Sun Cluster. The property values are categorized as follows (in the Category column):

  • Required -- The property requires an explicit value in the Resource Type Registration (RTR) file or the object to which it belongs cannot be created. A blank or the empty string is not allowed as a value.

  • Conditional -- To exist, the property must be declared in the RTR file; otherwise, the RGM does not create it and it is not available to administrative utilities. A blank or the empty string is allowed. If the property is declared in the RTR file but no value is specified, the RGM supplies a default value.

  • Conditional/Explicit -- To exist, the property must be declared in the RTR file with an explicit value; otherwise, the RGM does not create it and it is not available to administrative utilities. A blank or the empty string is not allowed.

  • Optional -- The property can be declared in the RTR file. If the property is not, the RGM creates it and supplies a default value. If the property is declared in the RTR file but no value is specified, the RGM supplies the same default value as if the property were not declared in the RTR file.

Resource type properties cannot be updated 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

Can Be Updated?

Category

Allow_hosts (string array)

Controls the set of clients that are allowed to register with the cl_apid daemon to receive cluster reconfiguration events. The general form of this property is ipaddress/masklength, which defines a subnet from which the clients are allowed to register. For example, the setting 129.99.77.0/24 allows clients on the subnet 129.99.77 to register for events. As another example, 192.9.84.231/32 allows only the client 192.9.84.231 to register for events. This property provides security to the CRNP. The cl_apid daemon is described in SUNW.Event(5).

In addition, the following special keywords are recognized. LOCAL refers to all clients that are located in directly connected subnets of the cluster. ALL allows all clients to register. Note that if a client matches an entry in both the Allow_hosts and the Deny_hosts property, that client is prevented from registering with the implementation.

The default is LOCAL.

N

Optional

API_version (integer)

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

The default for SC 3.1 is 2.

N

Optional

Boot (string)

An optional callback method: the path to the program that the RGM invokes on a node, which joins or rejoins the cluster when a resource of this type is already managed. This method is expected to do initialization actions for resources of this type similar to the Init method.

N

Conditional/ Explicit

Client_retry_count (integer)

Controls the number of attempts made by the cl_apid daemon while communicating with external clients. If a client fails to respond within Client_retry_count attempts, the client times out. The client is subsequently removed from the list of registered clients that are eligible to receive cluster reconfiguration events. The client must re-register in order to start receiving events again. See the description of the Client_retry_interval property to learn more about how often these retries are made by the implementation. The cl_apid daemon is described in SUNW.Event(5).

The default is 3.

Y

Optional

Client_retry_interval (integer)

Defines the time period (in seconds) used by the cl_apid daemon while communicating with unresponsive external clients. Up to Client_retry_count attempts are made during this interval to contact the client. The cl_apid daemon is described in SUNW.Event(5).

The default is 1800.

Y

Optional

Client_timeout (integer)

The time-out value (in seconds) that is used by the cl_apid daemon while communicating with external clients. However, the cl_apid daemon continues to attempt to contact the client for a tunable number of times. See the descriptions of the Client_retry_count and Client_retry_interval properties to learn more about the means that you can use to tune this property. The cl_apid daemon is described in SUNW.Event(5).

The default is 60.

Y

Optional

Deny_hosts (string array)

Controls the set of clients that are prevented from registering to receive cluster reconfiguration events. To determine access, the settings of this property take precedence over those in the Allow_hosts list. The format of this property is the same as the format that is defined in the Allow_hosts property. This property provides security to the CRNP.

The default is NULL.

Y

Optional

Failover (Boolean)

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

N

Optional

Fini (string)

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

N

Conditional/ Explicit

Init (string)

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

N

Conditional/ Explicit

Init_nodes (enum)

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). Indicates the nodes on which the RGM is to call the Init, Fini, Boot and Validate methods.

The default value is RG_primaries.

N

Optional

Installed_nodes (string array)

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

The default is all cluster nodes.

Y

Can be configured by the cluster administrator

Max_clients (integer)

Controls the maximum number of clients that can register with the cl_apid daemon to receive notification of cluster events. Attempts by additional clients to register for events are rejected by your application. Since each client registration uses resources on the cluster, tuning this property allows users to control resource usage on the cluster by external clients. The cl_apid daemon is described in SUNW.Event(5).

The default is 1000.

Y

Optional

Monitor_check (string)

An optional callback method: the path to the program that the RGM invokes before doing a monitor-requested failover of a resource of this type.

N

Conditional/ Explicit

Monitor_start (string)

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

N

Conditional/ Explicit

Monitor_stop (string)

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

N

Conditional/ Explicit

Num_resource_restarts 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 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, then the Num_resource_restarts property is not available for resources of that type.

N

Query-only

Pkglist (string array)

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

N

Conditional/ Explicit

Postnet_stop (string)

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

N

Conditional/ Explicit

Prenet_start (string)

An optional callback method: the path to the program that the RGM invokes 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.

N

Conditional/ Explicit

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 to 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
The default is the empty string.

N

Required

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.

N

Required unless all method path names are absolute

RT_description (string)

A brief description of the resource type.

The default is the empty string.

N

Conditional

RT_version (string)

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

N

Conditional/ Explicit

Single_instance (Boolean)

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

The default value is False.

N

Optional

Start (string)

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

N

Required unless the RTR file declares a Prenet_start method

Stop (string)

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

N

Required unless the RTR file declares a Postnet_stop method

Update (string)

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

N

Conditional/ Explicit

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.

N

Conditional/ Explicit

Vendor_ID (string)

See the Resource_type property.

N

Conditional

Resource Properties

Table A-2 describes the resource properties defined by Sun Cluster. The property values are categorized as follows (in the Category column):

  • Required -- The administrator must specify a value when creating a resource with an administrative utility.

  • Optional -- If the administrator does not specify a value when creating a resource group, the system supplies a default value.

  • Conditional -- 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 system administrators. 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.

  • Query-only -- Cannot be set directly by an administrative tool.

Table A-2 also lists whether and when you can update resource properties (in the Can Be Updated? column), 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

Can Be Updated?

Category

Affinity_timeout (integer)

Length of time in seconds during which connections from a given client IP address for any service in the resource will be sent to the same server node.

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.

Any time

Optional

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.

When disabled

Conditional

Extension properties

Extension properties as declared in the RTR file of the resource's type. The implementation of the resource type defines these properties. For information on the individual attributes you can set for extension properties, see Table A-4.

Depends on the specific property

Conditional

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, Stop, or Monitor_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 or Monitor_stop method should cause the RGM to set the resource to STOP_FAILED state and the resource group to ERROR_STOP_FAILED state and wait for operator intervention. For Stop or Monitor_stop failures, the None and Soft settings are equivalent. Hard indicates that failure of a Start method should cause the relocation of the group and failure of a Stop or Monitor_stop method should cause the forcible stop of the resource by aborting the cluster node.

The default is None.

Any time

Optional

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 (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 it is coming to.

The default value is Lb_weighted.

At creation

Conditional/ Optional

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.

The default value is the empty string ("").

Any time

Conditional/ Optional

method_timeout for each callback method in the Type (integer)

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

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

Any time

Conditional/

Optional

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.

The default is Enabled.

Never

Query-only

Network_resources_used (string array)

A 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 resource type file, the Tunable value for the property is At_creation.

At creation

Conditional/ Required

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.

The default is Disabled.

Never

Query-only

Port_list (string array)

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

Setting up this property for Apache is described in the Sun Cluster 3.1 Data Service for Apache Guide.

At creation

Conditional/

Required

R_description (string)

A brief description of the resource.

The default is the empty string.

Any time

Optional

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.

Never

Required

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 (see rg_properties (5)). If neither property is specified, the RGM will use the predefined project name default. The specified project name must exist in the projects database and the user root must be configured as a member of the named project. This property is only supported starting in Solaris 9.


Note - Changes to this property take effect after the resource has been restarted.


The default is null.

Any time

Optional

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.

Never

Query-only

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.

When disabled

Conditional

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.

When disabled

Conditional

Scalable (Boolean)

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

At creation

Optional

Status on each cluster node (enum)

Set by the resource monitor. Possible values are: 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.

Never

Query-only

Status_msg on each cluster node (string)

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

Never

Query-only

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.

When disabled

Conditional

Type (string)

The resource type of which this resource is an instance.

Never

Required

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

Its tunability is derived from:

  • The current version of the resource type

  • The #$upgrade_from directive in the RTR file

See description

See description

UDP_affinity (Boolean)

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.

When disabled

Optional

Weak_affinity (Boolean)

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 up, for example, due to a fault monitor restarts, a resource failover or switchover, or a node rejoining a cluster after failing.

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

When disabled

Optional

 
 
 
  Previous   Contents   Next