Guide des développeurs pour les services de données Sun Cluster 3.1 10/03

Méthodes de rappel de contrôle et d'initialisation

Les principales méthodes de rappel de contrôle et d'initialisation démarrent et arrêtent les ressources. Les autres méthodes exécutent un code d'initialisation et d'arrêt sur les ressources.

Démarrage

Cette méthode requise est exécutée sur un noeud du cluster lorsque le groupe contenant la ressource est mis en ligne sur ce noeud. Cette méthode active la ressource sur ce noeud.

Une méthode de Démarrage ne doit pas se fermer avant que la ressource qu'elle active ait été démarrée et soit disponible sur le noeud local. Par conséquent, avant sa fermeture, la méthode de Démarrage doit interroger la ressource afin de déterminer si elle a démarré. Par ailleurs, vous devez définir un délai imparti suffisamment long pour cette méthode. Par exemple, certaines ressources, telles que les démons de base de données, prennent plus de temps au démarrage et ont donc besoin d'une méthode prévoyant un délai plus long.

La manière dont le RGM réagit à l'échec de la méthode de Démarrage dépend du paramètre de la propriété Mode_basculement.

La propriété DÉLAI_DÉMARRAGE du fichier d'enregistrement du type de ressource définit la valeur du délai imparti pour une méthode de Démarrage de ressource.

Arrêt

Cette méthode requise est appelée sur un noeud du cluster lorsque le groupe contenant la ressource est mis hors ligne sur ce noeud. Cette méthode désactive la ressource si elle est active.

Une méthode d'Arrêt ne doit pas se fermer avant que la ressource qu'elle contrôle ait complètement arrêté toute activité sur le noeud local et ait fermé tous les descripteurs de fichier. Dans le cas contraire, comme le RGM suppose que la ressource est arrêtée alors qu'elle est toujours active, une corruption de données peut avoir lieu. La manière la plus sûre d'éviter une corruption de données consiste à mettre un terme à tous les processus sur le noeud local associé à la ressource.

Avant sa fermeture, la méthode d'Arrêt doit interroger la ressource afin de déterminer si elle est arrêtée. Par ailleurs, vous devez définir un délai imparti suffisamment long pour cette méthode. Par exemple, certaines ressources, telles que les démons de base de données, prennent plus de temps à l'arrêt et ont donc besoin d'une méthode prévoyant un délai plus long.

La manière dont le RGM réagit à l'échec de la méthode d'Arrêt dépend du paramètre de la propriété Mode_basculement (reportez-vous au Tableau A–2).

La propriété DÉLAI_ARRÊT du fichier d'enregistrement du type de ressource définit la valeur du délai imparti pour une méthode d'Arrêt de ressource.

Init

Cette méthode optionnelle est appelée pour effectuer une initialisation unique de la ressource lorsque celle-ci est gérée, soit quand le groupe de ressources auquel elle appartient passe d'un état non géré à un état géré soit lorsque la ressource est créée dans un groupe de ressources déjà géré. La méthode est appelée sur les noeuds déterminés par la propriété de ressource Noeuds_init.

Fini

Cette méthode facultative est appelée pour faire le ménage lorsque la ressource n'est plus gérée, soit quand le groupe auquel elle appartient n'est plus géré soit quand elle est supprimée d'un groupe de ressources géré. La méthode est appelée sur des noeuds déterminés par la propriété de ressource Noeuds_init.

Initialisation

Cette méthode facultative, analogue à Init, est appelée pour initialiser la ressource sur des noeuds rejoignant le cluster après que le groupe contenant la ressource a déjà été placé sous le contrôle du RGM. La méthode est appelée sur des noeuds déterminés par la propriété de ressource Noeuds_init. La méthode d'Initialisation est appelée lorsque le noeud adhère à un cluster à la suite d'une initialisation ou d'une réinitialisation.


Remarque :

un échec des méthodes Init, Fini ou Initialisation entraîne la génération, par la fonction syslog(), d'un message d'erreur, mais n'affecte en rien la gestion de la ressource par le RGM.