El sistema Sun Cluster permite ejecutar y administrar aplicaciones como recursos de alta disponibilidad o escalables. El Gestor de grupos de recursos (Resource Group Manager, RGM) proporciona los mecanismos para ofrecer alta disponibilidad y escalabilidad. Los siguientes elementos conforman la interfaz de programación de esta utilidad:
Un conjunto de métodos de rellamada que se pueden escribir para permitir el control de una aplicación del clúster por parte de RGM.
La API de administración de recursos (Resource Management API, RMAPI), conjunto de comandos y funciones de API de bajo nivel que sirven para escribir métodos de rellamada. Estas API se implementan en la biblioteca libscha.so.
La utilidad de supervisor de procesos (Process Monitor Facility) que permite la supervisión y el reinicio de los procesos del clúster.
La Biblioteca de desarrollo del servicio de datos (Data Service Development Library ,DSDL), un conjunto de funciones de biblioteca que encapsula la API de bajo nivel y la funcionalidad de administración de procesos a un nivel superior. DSDL agrega algunas funciones adicionales para facilitar la escritura de los métodos de rellamada. Estas funciones se implementan en la biblioteca libscha.so.
La siguiente figura muestra cómo se interrelacionan estos elementos.
Agent Builder de SunPlex, que se describe en el Capítulo 9, Agent Builder de SunPlex, es una herramienta del paquete de Sun Cluster que automatiza el proceso de creación de un servicio de datos. Agent Builder genera el código del servicio de datos en lenguaje de comandos C (mediante las funciones de DSDL que permiten escribir método de rellamada) o Korn (ksh) (mediante los comandos de la API de bajo nivel que permiten escribir métodos de rellamada).
RGM se ejecuta como daemon en cada nodo del clúster, e inicia y detiene los recursos en los nodos seleccionados en función de las directivas preconfiguradas. RGM permite que el recurso ofrezca alta disponibilidad en caso de producirse un fallo o un reinicio del nodo deteniendo el recurso en el nodo afectado e iniciándolo en otro. Además, inicia y detiene automáticamente los supervisores específicos del recurso. Estos supervisores detectan fallos en los recursos y los reubican en otros nodos, o supervisan otros aspectos del rendimiento del recurso.
RGM admite tanto recursos de recuperación ante fallos, que sólo pueden estar en línea en un nodo cada vez, o escalables, que puede estar en línea en varios nodos simultáneamente.