Le système Sun Cluster vous permet de gérer et d'administrer vos applications comme des ressources hautement disponibles ou évolutives. Le gestionnaire de groupes de ressources (Resource Group Manager, RGM) fournit la structure de base de la haute disponibilité et de l'évolutivité. Son interface de programmation est constituée des éléments suivants :
Un ensemble de méthodes de rappel à créer pour l'autoriser à contrôler une application du cluster.
L'interface de programmation d'application de gestion des ressources (Resource Management API, APIGR), ensemble de fonctions et de commandes API de bas niveau qui vous permet de créer les méthodes de rappel. Ces API sont mises en œuvre dans la bibliothèque libscha.so.
L'utilitaire de contrôle de processus (Process Monitor Facility, PMF), qui vous permet de contrôler et de redémarrer des processus du cluster.
La bibliothèque de développement de services de données (Data Service Development Library, DSDL), ensemble de fonctions de bibliothèque qui encapsule les API de bas niveau et la fonction de gestion de processus à un niveau plus élevé. La bibliothèque DSDL fournit quelques fonctions destinées à faciliter la création de méthodes de rappel. Ces fonctions sont mises en œuvre dans la bibliothèque libdsdev.so.
La figure ci-dessous illustre les relations entre ces éléments.
SunPlex Agent Builder (décrit au Chapitre 9, SunPlex Agent Builder) est un outil du package Sun Cluster qui automatise la création des services de données. Il génère du code de service de données en langage C (s'il utilise les fonctions de la bibliothèque DSDL pour écrire les commandes de rappel) ou Korn (ksh) (s'il utilise les commandes API de bas niveau).
Le gestionnaire RGM est exécuté, en tant que démon, sur chaque nœud du cluster ; il démarre et arrête automatiquement les ressources des nœuds sélectionnés suivant des règles préconfigurées. Il assure la haute disponibilité d'une ressource, en cas de défaillance ou de redémarrage d'un nœud, en arrêtant cette ressource sur le nœud affecté et en la redémarrant sur un autre nœud. Il démarre et arrête automatiquement les détecteurs spécifiques à chaque ressource, qui détectent les défaillances de ressources et réaffectent les ressources défectueuses à d'autres nœuds ou qui surveillent d'autres aspects des performances des ressources.
Le RGM prend en charge aussi bien les ressources de basculement (qui ne peuvent être connectées qu'à un seul nœud à la fois) que les ressources évolutives (qui peuvent être connectées à plusieurs nœuds à la fois).