Sun Cluster Data Services Developer's Guide for Solaris OS
  Procure somente este livro
Exibir este livro em:
Fazer download desta apostila em PDF (1683 KB)

Chapter 11 DSDL API Functions

This chapter lists and briefly describes the Data Service Development Library (DSDL) API functions. See the individual 3HA man pages for a complete description of each DSDL function. The DSDL provides a C interface only. A script-based DSDL interface is not available.

This chapter covers the following topics:

General-Purpose Functions

The functions in this section provide a broad range of functionality.

These functions enable you to perform the following operations:

  • Initialize the DSDL environment

  • Retrieve resource type, resource, and resource group names, and extension property values

  • Fail over and restart a resource group, and restart a resource

  • Convert error strings to error messages

  • Execute a command under a timeout

Initialization Functions

The following functions initialize the calling method:

Retrieval Functions

The following functions retrieve information about zones, resource types, resources, resource groups, and extension properties:

The following function retrieves status information about the SUNW.HAStoragePlus resources that are used by a resource:

scds_hasp_check(3HA) – Retrieves status information about SUNW.HAStoragePlus resources that are used by a resource. This information is obtained from the state (online or otherwise) of all SUNW.HAStoragePlus resources on which the resource depends by using the Resource_dependencies or Resource_dependencies_weak system properties that are defined for the resource. See the SUNW.HAStoragePlus(5) man page for more information.

Failover and Restart Functions

The following functions fail over or restart a resource or resource group:

Execution Functions

The following functions execute a command under a timeout and convert an error code to an error message:

Property Functions

These functions provide convenience APIs for accessing specific properties of the relevant resource type, resource, and resource group, including some commonly used extension properties. The DSDL provides the scds_initialize() function to parse the command-line arguments. The library caches the various properties of the relevant resource type, resource, and resource group.

The scds_property_functions(3HA) man page describes these functions, which include the following:

  • scds_get_rt_property-name

  • scds_get_rs_property-name

  • scds_get_rg_property-name

  • scds_get_ext_property-name

Network Resource Access Functions

The functions listed in this section retrieve, print, and free the network resources that are used by resources and resource groups. The scds_get_ functions in this section provide a convenient way of retrieving network resources without using the RMAPI functions to query specific properties, such as Network_resources_used and Port_list. The scds_print_name() functions print values from the data structures that are returned by the scds_get_name() functions. The scds_free_name() functions free the memory that is allocated by the scds_get_name() functions.

Host Name Functions

The following functions handle host names:

Port List Functions

The following functions handle port lists:

Network Address Functions

The following functions handle network addresses:

Fault Monitoring Using TCP Connections

The functions in this section enable TCP-based monitoring. Typically, a fault monitor uses these functions to establish a simple socket connection to a service, read and write data to the service to ascertain its status, and disconnect from the service.

These functions include the following:

  • scds_fm_tcp_connect(3HA) – Establishes a TCP connection to a process that uses IPv4 addressing only.

  • scds_fm_net_connect(3HA) – Establishes a TCP connection to a process that uses either IPv4 or IPv6 addressing.

  • scds_fm_tcp_read(3HA) – Uses a TCP connection to read data from the process that is being monitored.

  • scds_fm_tcp_write(3HA) – Uses a TCP connection to write data to a process that is being monitored.

  • scds_simple_probe(3HA) – Probes a process by establishing and terminating a TCP connection to the process. This function handles only IPv4 addresses.

  • scds_simple_net_probe(3HA) – Probes a process by establishing and terminating a TCP connection to the process. This function handles either IPv4 or IPv6 addresses.

  • scds_fm_tcp_disconnect(3HA) – Terminates the connection to a process that is being monitored. This function handles only IPv4 addresses.

  • scds_fm_net_disconnect(3HA) – Terminates the connection to a process that is being monitored. This function handles either IPv4 or IPv6 addresses.

PMF Functions

These functions encapsulate the Process Monitor Facility (PMF) functionality. The DSDL model for monitoring through the PMF creates and uses implicit tag values for pmfadm. See the pmfadm(1M) man page for more information.

The PMF facility also uses implicit values for the Restart_interval, Retry_count, and action_script (the -t, -n, and -a options to pmfadm). Most important, the DSDL ties the process failure history, as determined by the PMF, into the application failure history as detected by the fault monitor to compute the restart or failover decision.

The set includes the following functions:

Fault Monitor Functions

The functions in this section provide a predetermined model of fault monitoring by keeping the failure history and evaluating it in conjunction with the Retry_count and Retry_interval properties.

This set includes the following functions:

Utility Functions

The following functions enable you to write messages and debugging messages to the system log: