The Oracle 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:
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.
Figure 1 Programming Architecture of the Oracle Solaris Cluster Application Environment
The Oracle Solaris Cluster Agent Builder, which is described in Chapter 9, Oracle Solaris Cluster Agent Builder, is a tool in the Oracle 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). Agent Builder also has an option to generate a set of driving scripts to be used with the Generic Data Service (GDS).
The RGM runs as a daemon on each cluster node and automatically starts and stops resources on selected Oracle Solaris hosts 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.