JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Solaris Cluster Data Services Developer's Guide     Oracle Solaris Cluster 4.0
search filter icon
search icon

Document Information


1.  Overview of Resource Management

2.  Developing a Data Service

3.  Resource Management API Reference

4.  Modifying a Resource Type

5.  Sample Data Service

6.  Data Service Development Library

DSDL Overview

Managing Configuration Properties

Starting and Stopping a Data Service

Implementing a Fault Monitor

Accessing Network Address Information

Debugging the Resource Type Implementation

Enabling Highly Available Local File Systems

7.  Designing Resource Types

8.  Sample DSDL Resource Type Implementation

9.  Oracle Solaris Cluster Agent Builder

10.  Generic Data Service

11.  DSDL API Functions

12.  Cluster Reconfiguration Notification Protocol

A.  Sample Data Service Code Listings

B.  DSDL Sample Resource Type Code Listings

C.  Requirements for Non-Cluster-Aware Applications

D.  Document Type Definitions for the CRNP

E. Application


Starting and Stopping a Data Service

A Start method performs the actions that are required to start a data service on a cluster node. Typically, these actions include retrieving the resource properties, locating application-specific executable and configuration files, and starting the application with the correct command-line arguments.

The scds_initialize() function retrieves the resource configuration. The Start method can use property convenience functions to retrieve values for specific properties, such as Confdir_list, that identify the configuration directories and files for the application to start.

A Start method can call scds_pmf_start() to start an application under control of the Process Monitor Facility (PMF). The PMF enables you to specify the level of monitoring to apply to the process and provides the ability to restart the process in case of failure. See xfnts_start Method for an example of a Start method that is implemented with the DSDL.

A Stop method must be idempotent so that the Stop method exits with success even if it is called on a node when the application is not running. If the Stop method fails, the resource that is being stopped is set to the STOP_FAILED state, which can cause the cluster to perform a hard reboot.

To avoid putting the resource in the STOP_FAILED state, the Stop method must make every effort to stop the resource. The scds_pmf_stop() function provides a phased attempt to stop the resource. This function first attempts to stop the resource by using a SIGTERM signal, and if this fails, uses a SIGKILL signal. See the scds_pmf_stop(3HA) man page for more information.