El sistema Sun Cluster permite ejecutar y administrar las aplicaciones como recursos escalables y de alta disponibilidad. El recurso del clúster conocido como Gestor de grupos de recursos, o RGM, proporciona el mecanismo de alta disponibilidad y escalabilidad. Los elementos que componen la interfaz de programación de este recurso son los siguientes.
Un conjunto de métodos de rellamada que permiten que RGM controle una aplicación del clúster.
API de gestión de recursos (RMAPI), un conjunto de órdenes y funciones de API de bajo nivel que se pueden utilizar para escribir métodos de rellamada y que se implementan en la biblioteca libscha.so.
Los recursos de gestión de procesos para supervisar y reiniciar procesos en el clúster.
Biblioteca de desarrollo del servicio de datos (DSDL), un conjunto de funciones de biblioteca que encapsula la API de bajo nivel y la función de gestión de procesos a un nivel superior y agrega ciertas funciones adicionales para facilitar la escritura de los métodos de rellamada. Estas funciones se implementan en la biblioteca libdsdev.so.
La figura siguiente muestra las relaciones entre estos elementos.
En el paquete de Sun Cluster se incluye SunPlexTM Agent Builder, una herramienta que automatiza el proceso de creación de servicios de datos (consulte el Capítulo 9, Agent Builder de SunPlex). Agent Builder genera código de servicio de datos en C (se emplean las funciones de DSDL para escribir los métodos de rellamada) o en el shell Korn (ksh) (con comandos de API de bajo nivel para escribir los métodos de rellamada).
RGM se ejecuta como daemon en cada nodo del clúster e inicia y detiene automáticamente los recursos en los nodos seleccionados, de acuerdo con políticas preconfiguradas; hace que un recurso tenga una alta disponibilidad en caso de fallo de un nodo o reinicio, deteniendo el recurso del nodo afectado e iniciándolo en otro; además, inicia y detiene automáticamente supervisores específicos de recursos, que pueden detectar fallos de los recursos y reubicar éstos en otros nodos o pueden supervisar otros aspectos del rendimiento de los recursos.
RGM admite recursos a prueba de fallos, que pueden estar en línea en un sólo nodo en cada momento, y recursos escalables, que pueden estar en línea en varios nodos simultáneamente.