1. Overview of Resource Management
3. Resource Management API Reference
6. Data Service Development Library
8. Sample DSDL Resource Type Implementation
9. Solaris Cluster Agent Builder
12. Cluster Reconfiguration Notification Protocol
B. Sample Data Service Code Listings
C. DSDL Sample Resource Type Code Listings
E. Requirements for Non-Cluster Aware Applications
F. Document Type Definitions for the CRNP
The following information describes the resource type properties that are defined by the Oracle Solaris Cluster software.
The property values are categorized as follows:
Required. The property requires an explicit value in the Resource Type Registration (RTR) file. Otherwise, the object to which the property belongs cannot be created. A space 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 the property and the property is not available to administrative utilities. A space 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 or Explicit. To exist, the property must be declared in the RTR file with an explicit value. Otherwise, the RGM does not create the property and the property is not available to administrative utilities. A space or the empty string is not allowed.
Optional. The property can be declared in the RTR file. If the property is not declared in the RTR file, 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 was not declared in the RTR file.
Query-only – Cannot be set directly by an administrative tool.
Resource type properties cannot be updated by administrative utilities with the exception of Installed_nodes and RT_system. Installed_nodes cannot be declared in the RTR file and can only be set by the cluster administrator. RT_system can be assigned an initial value in the RTR file, and can also be set by the cluster administrator.
Property names are shown first, followed by a description.
Note - Resource type property names, such as API_version and Boot, are not case sensitive. You can use any combination of uppercase and lowercase letters when you specify property names.
The minimum version of the resource management API that is required to support this resource type implementation.
The following information summarizes the maximum API_version that is supported by each release of Sun Cluster or Oracle Solaris Cluster.
2
3
4
5
6
7
8
9
Declaring a value for API_version that is greater than 2 in the RTR file prevents that resource type from being installed on a version of Oracle Solaris Cluster that supports a lower maximum version. For example, if you declare API_version=7 for a resource type, that resource type cannot be installed on any version of Sun Cluster that was released before 3.2.
Note - If you do not declare this property or set this property to the default value (2), the data service can be installed on any version of Oracle Solaris Cluster starting with Sun Cluster 3.0.
Optional
2
NONE
An optional callback method that specifies the path to the Boot method program. The RGM runs the Boot method for each managed resource of this type, on a node that joins or rejoins the cluster.
The set of nodes on which Boot, Init, Fini, or Validate methods are run is determined by the setting of the resource types Init_nodes property. You can set the Init_nodes property to RG_PRIMARIES, which indicates the nodes that are specified in the resource type's Installed_nodes property.
Conditional or Explicit
No default
NONE
If you set this property to TRUE, resources of this type cannot be configured in any group that can be online on multiple nodes at the same time.
You use this resource-type property in combination with the Scalable resource property, as follows:
|
The description of Scalable in the r_properties(5) man page and Chapter 3, Key Concepts for System Administrators and Application Developers, in Oracle Solaris Cluster Concepts Guide contain additional information.
Optional
FALSE
NONE
An optional callback method that specifies the path to the Fini method program. The RGM runs the Fini method when a resource of this type is no longer managed by the RGM.
The Fini method usually undoes any initializations that were performed by the Init method.
The set of nodes on which Boot, Init, Fini, or Validate methods are run is determined by the setting of the resource types Init_nodes property. You can set the Init_nodes property to RG_PRIMARIES, which indicates the nodes that are specified in the resource type's Installed_nodes property.
The RGM executes Fini on each node on which the resource becomes unmanaged when the following situations arise:
The resource group that contains the resource is switched to an unmanaged state. In this case, the RGM executes the Fini method on all nodes in the node list.
The resource is deleted from a managed resource group. In this case, the RGM executes the Fini method on all nodes in the node list.
A node is deleted from the node list of the resource group that contains the resource. In this case, the RGM executes the Fini method on only the deleted node.
A “node list” is either the resource group's Nodelist or the resource type's Installed_nodes list. Whether “node list” refers to the resource group's Nodelist or the resource type's Installed_nodes list depends on the setting of the resource type's Init_nodes property. The Init_nodes property can be set to RG_primaries or RT_installed_nodes. For most resource types, Init_nodes is set to RG_primaries, the default. In this case, both the Init and Fini methods are executed on the nodes that are specified in the resource group's Nodelist.
The type of initialization that the Init method performs defines the type of cleanup that the Fini method that you implement needs to perform, as follows:
Cleanup of node-specific configuration.
Cleanup of cluster-wide configuration.
Conditional or Explicit
No default
NONE
A Boolean value that, if declared in the RTR file, indicates whether the methods of this resource type execute in the global zone, that is, either a zone-cluster node or a global-cluster non-voting node. If this property is set to TRUE, methods execute in the global zone even if the resource group that contains the resource runs in a non-global zone. Set this property to TRUE only for services that can be managed only from the global zone, such as network addresses and file systems.
![]() | Caution - Do not register a resource type for which the Global_zone property is set to TRUE unless the resource type comes from a known and trusted source. Resource types for which this property is set to TRUE circumvent zone isolation and present a risk. |
Optional
FALSE
ANYTIME
An optional callback method that specifies the path to the Init method program. The RGM runs the Init method when a resource of this type becomes managed by the RGM.
The set of nodes on which Boot, Init, Fini, or Validate methods are run is determined by the setting of the resource types Init_nodes property. You can set the Init_nodes property to RG_PRIMARIES, which indicates the nodes that are specified in the resource type's Installed_nodes property.
Conditional or Explicit
No default
NONE
Indicates the nodes on which the RGM is to call the Init, Fini, Boot, and Validate methods. You can set this property to RG_PRIMARIES (just the nodes that can master the resource) or RT_INSTALLED_NODES (all nodes on which the resource type is installed).
Optional
RG_PRIMARIES
NONE
A list of the cluster node names on which the resource type can be run. Specify an asterisk (*) to explicitly include all cluster nodes, which is the default.
The cluster administrator can configure this property
All cluster nodes
ANYTIME
TRUE indicates that this resource type is some version of the LogicalHostname resource type that manages failover Internet Protocol (IP) addresses.
Query-only
No default
NONE
TRUE indicates that this resource type is some version of the SharedAddress resource type that manages shared Internet Protocol (IP) addresses.
Query-only
No default
NONE
An optional callback method: the path to the program that the RGM runs before performing a monitor-requested failover of a resource of this type. If the monitor-check program exits with nonzero on a node, any attempt to fail over to that node as a result of calling scha_control with the GIVEOVER tag is prevented.
Conditional or Explicit
No default
NONE
An optional callback method: the path to the program that the RGM runs to start a fault monitor for a resource of this type.
Conditional or Explicit
No default
NONE
A callback method that is required if Monitor_start is set: the path to the program that the RGM runs to stop a fault monitor for a resource of this type.
Conditional or Explicit
No default
NONE
An optional list of packages that are included in the resource type installation.
Conditional or Explicit
No default
NONE
An optional callback method: the path to the program that the RGM runs after calling the Stop method of any network-address resources on which a resource of this type depends. After the network interfaces are configured down, this method must perform Stop actions.
Conditional or Explicit
No default
NONE
An optional callback method: the path to the program that the RGM runs before the RGM calls the Start method of any network-address resources on which a resource of this type depends. This method performs Start actions that must be performed before network interfaces are configured.
Conditional or Explicit
No default
NONE
A Boolean value that indicates whether a resource of this type is a proxy resource.
A proxy resource is an Oracle Solaris Cluster resource that imports the state of a resource from another cluster framework such as Oracle Cluster Ready Services (CRS). Oracle CRS, which is now known as Oracle Clusterware CRS, is a platform-independent set of system services for cluster environments.
A proxy resource type uses the Prenet_start method to start a daemon that monitors the state of the external (proxied) resource. The Postnet_stop method stops the monitoring daemon. The monitoring daemon issues the scha_control command with the CHANGE_STATE_ONLINE or the CHANGE_STATE_OFFLINE tag to set the proxy resource's state to Online or to Offline, respectively. The scha_control() function similarly uses the SCHA_CHANGE_STATE_ONLINE and SCHA_CHANGE_STATE_OFFLINE tags. See the scha_control(1HA) and scha_control(3HA) man pages for more information.
If set to TRUE, the resource is a proxy resource.
Optional
FALSE
NEVER
The list of all resources of the resource type. The cluster administrator does not set this property directly. Rather, the RGM updates this property when the cluster administrator adds or removes a resource of this type to or from any resource group.
Query-only
Empty list
NONE
The name of the resource type. To view the names of the currently registered resource types, use:
resourcetype show +
In Sun Cluster 3.1 and 3.2, a resource type name includes the version, which is mandatory:
vendor-id.resource-type:rt-version
The three components of the resource type name are properties that are specified in the RTR file as vendor-id, resource-type, and rt-version. The resourcetype 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, use the stock symbol of the company that is creating the resource type. Resource type names that were created before Sun Cluster 3.1 continue to use the syntax:
vendor-id.resource-type
Required
Empty string
NONE
The directory path that is used to complete relative paths for callback methods. This path must be set to the directory in which the resource type packages are installed. The path must be a complete path, that is, it must start with a forward slash (/).
Required unless all method path names are absolute
No default
NONE
A brief description of the resource type.
Conditional
Empty string
NONE
If the RT_system property is TRUE for a resource type, you cannot delete the resource type (resourcetype unregister resource-type-name) . This property prevents the accidental deletion of resource types, such as LogicalHostname, that are used to support the cluster infrastructure. However, you can apply the RT_system property to any resource type.
To delete a resource type whose RT_system property is set to TRUE, you must first set the property to FALSE. Use care when you delete a resource type whose resources support cluster services.
Optional
FALSE
ANYTIME
Starting with the Sun Cluster 3.1 release, a mandatory version string that identifies this resource type implementation. This property was optional in Sun Cluster 3.0. The RT_version is the suffix component of the full resource type name.
Conditional/Explicit or Required
No default
NONE
If TRUE, indicates that only one resource of this type can exist in the cluster.
Optional
FALSE
NONE
A callback method: the path to the program that the RGM runs to start a resource of this type.
Required unless the RTR file declares a Prenet_start method
No default
NONE
A callback method: the path to the program that the RGM runs to stop a resource of this type.
Required unless the RTR file declares a Postnet_stop method
No default
NONE
An optional callback method: the path to the program that the RGM runs when properties of a running resource of this type are changed.
Conditional or Explicit
No default
NONE
An optional callback method that specifies the path to the Validate method program. The RGM runs the Validate method to check values for properties of resources of this type.
The set of nodes on which Boot, Init, Fini, or Validate methods are run is determined by the setting of the resource types Init_nodes property. You can set the Init_nodes property to RG_PRIMARIES, which indicates the nodes that are specified in the resource type's Installed_nodes property.
Conditional or Explicit
No default
NONE
See the Resource_type property.
Conditional
No default
NONE