1. Overview of Resource Management
Description of a Resource Type
Description of a Resource Group
Data Service Development Library
Resource Group Manager Administrative Interface
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 Solaris Cluster system enables applications to be run and administered as highly available and scalable resources. The Resource Group Manager (RGM) provides the mechanism for high availability and scalability.
The following elements form the programming interface to this facility:
A set of callback methods that you write that enable the RGM to control an application in the cluster.
The Resource Management API (RMAPI), a set of low-level API commands and functions that you can use to write the callback methods. These APIs are implemented in the libscha.so library.
Process Monitor Facility (PMF) for monitoring and restarting processes in the cluster.
The Data Service Development Library (DSDL), a set of library functions that encapsulates the low-level API and process-management functionality at a higher level. The DSDL adds some additional functionality to ease the writing of callback methods. These functions are implemented in the libdsdev.so library.
The following figure shows the interrelationship of these elements.
Figure 1-1 Programming Architecture of the Solaris Cluster Application Environment
Solaris Cluster Agent Builder, which is described in Chapter 9, Solaris Cluster Agent Builder, is a tool in the Solaris Cluster package that automates the process of creating a data service. Agent Builder generates data service code in either C (by using DSDL functions to write the callback methods) or in the Korn (ksh) shell command language (by using low-level API commands to write the callback methods).
The RGM runs as a daemon on each cluster node and automatically starts and stops resources on selected Solaris host according to preconfigured policies. The RGM makes a resource highly available in the event of a node failure or reboot. The RGM does so by stopping the resource on the affected node and starting it on another node. The RGM also automatically starts and stops resource-specific monitors. These monitors detect resource failures and relocate failing resources onto other nodes or monitor other aspects of resource performance.
The RGM supports both failover resources and scalable resources. A failover resource can be online on only one node at a time. A scalable resource can be online on multiple nodes simultaneously. However, a scalable resource that uses a shared address to balance the service load between nodes can be online in only one node per Solaris host.