NAME | DESCRIPTION | EXAMPLES | ATTRIBUTES | SEE ALSO
The Generic Data Service (GDS) is a mechanism that enables you to make simple network-aware and non-network aware applications highly available or scalable by plugging them into the Sun Cluster Resource Group Manager (RGM) framework.
The GDS contains a fully functional Sun Cluster resource type, complete with callback methods (rt_callbacks(1HA)) and a Resource Type Registration (RTR) file (rt_reg(4)).
For a network-aware application, if this property is omitted, the application needs to listen on all addresses. This property need not be specified unless the application binds to one or more specific addresses. r_properties(5) contains more detail.
Before creating the network-aware, GDS resource, a LogicalHostname or SharedAddress resource must already have been configured in the same resource group as the GDS resource.
Optional
Null
When disabled
List of port numbers that the application listens on. r_properties(5) contains more detail.
Required (only if the application is network-aware)
No default
At creation
This property specifies the timeout value, in seconds, for the start command.
Optional
300 seconds
Any time
This property specifies the timeout value, in seconds, for the stop command.
Optional
300 seconds
Any time
The start command starts the application. This command must be a complete command line that can be passed directly to a shell to start the application.
Required
No default
When disabled
The stop command for the application. This command must be a complete command line that can be passed directly to a shell to stop the application. If this property is omitted, the GDS stops the application by using signals.
Optional
Null
When disabled
The probe command periodically checks the health of a network aware or non-network aware application. It must be a complete command line that can be passed directly to a shell to probe the application. The probe command returns with an exit status of 0 if the application is running correctly.
The exit status of the probe command is used to determine the severity of the failure of the application. This exit status, called probe status, is an integer between 0 (for success) and 100 (for complete failure). The probe status can also be 201, which causes the application to fail over unless Failover_enabled is set to False.
The probe status is used within the GDS probing algorithm to decide whether to restart the application locally or to fail over the application to another node. If the probe command is omitted, the GDS provides its own simple probe that connects to the application on the network resource. If the connect succeeds, the GDS disconnects immediately. If both connect and disconnect succeed, the application is deemed to be running correctly.
The GDS does not provide “default” probing behavior for non-network aware applications. However, a non-network aware application is started under the Process Monitor Facility (PMF), which monitors the application and restarts the application if it fails to remain alive. The pmfadm(1M) man page contains more information.
Optional
Null
When disabled
This property specifies the timeout value, in seconds, for the probe command.
Optional
30 seconds
Any time
This property provides control over the processes that are monitored through the Process Monitor Facility (PMF). This property denotes the level to which the forked children processes are monitored. Omitting this property or setting this property to the default value is the same as omitting the -C option for pmfadm(1M): all children (and their descendents) are monitored.
Optional
-1
At creation
This property allows the resource to fail over. If this property is set to False, failover of the resource is disabled. You can use this property to prevent the application resource from initiating a failover of the resource group.
Optional
True
When disabled
This property specifies the signal that is to stop the application. The values of this property are the same as those defined in signal(3HEAD).
Optional
15
When disabled
This property specifies the level, or type, of diagnostic messages that are logged by GDS. You can specify None, Info, or Err for this property. When you specify None, diagnostic messages are not logged by GDS. When you specify Info, both information and error messages are logged. When you specify Err, only error messages are logged.
Optional
Info
Any time
This property specifies whether an application uses the network.
Optional
True
At creation
The following examples show how to use GDS to make an application named app highly available. You can also use SunPlex Agent Builder (scdsbuilder(1HA)) to create scripts that contain these commands.
This example shows how to register the SUNW.gds resource type, create a resource group for the application, create the LogicalHostname resource for the logical host name hhead, create the application resource, and then use scswitch(1M) to manage the resource group, enable all the resources, and bring the resources online.
At this point, the application is up and running in a highly available fashion and is being monitored by the simple probe that is provided by GDS. You can now use scstat(1M) to check the status of the application.
# scrgadm -a -t SUNW.gds # scrgadm -a -g rg1 # scrgadm -a -L -g rg1 -l hhead # scrgadm -a -t SUNW.gds -g rg1 -j app-rs \ -x Start_command="/usr/local/app/bin/start" \ -y Port_list="1234/tcp" # scswitch -Z -g rg1 # scstat -g |
This example shows how to register the SUNW.gds resource type, create a resource group for the application, create the LogicalHostname resource for the logical host name hhead, create the application resource, log error messages only, and then use scswitch to manage the resource group, enable all the resources, and bring the resources online.
At this point, the application is up and running in a highly available fashion and is being monitored by the fault monitor that is specified by Probe_command. You can now use scstat to check the status of the application.
# scrgadm -a -t SUNW.gds # scrgadm -a -g rg1 # scrgadm -a -L -g rg1 -l hhead # scrgadm -a -t SUNW.gds -g rg1 -j app-rs \ -x Start_command="/usr/local/app/bin/start" \ -x Stop_command="/usr/local/app/bin/stop" \ -x Probe_command="/usr/local/app/bin/probe" \ -x stop_signal=9 -x failover_enabled=false \ -y Start_timeout=120 -y Stop_timeout=180 \ -y Port_list="1234/tcp" -x Probe_timeout=60 \ -x Log_level=Err # scswitch -Z -g rg1 # scstat -g |
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE |
ATTRIBUTE VALUE |
---|---|
Availability |
SUNWscgds |
rt_callbacks(1HA), scdsbuilder(1HA), scha_resource_get(1HA), hatimerun(1M), pmfadm(1M), scrgadm(1M), scstat(1M), scswitch(1M), signal(3HEAD), rt_reg(4), attributes(5), r_properties(5), scalable_service(5)
NAME | DESCRIPTION | EXAMPLES | ATTRIBUTES | SEE ALSO