Guide des développeurs pour les services de données Sun Cluster pour SE Solaris

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.

Start

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

Une méthode Start ne doit pas se fermer avant que la ressource qu'elle active ait été démarrée et soit disponible sur le nœud local. Par conséquent, avant sa fermeture, la méthode Start 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 Start dépend du paramètre de la propriété Failover_mode.

La propriété START_TIMEOUT du fichier d'enregistrement du type de ressource définit la valeur du délai imparti pour une méthode de Start de ressource.

Stop

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

Une méthode Stop ne doit pas se fermer avant que la ressource qu'elle contrôle ait complètement arrêté toute activité sur le nœud 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 nœud local associé à la ressource.

Avant sa fermeture, la méthode Stop 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 pour s'arrêter et requièrent donc une méthode prévoyant un délai plus long.

La réponse du RGM face à l'échec de la méthode Stop, dépend du paramétrage de la propriété Failover_mode (voir la rubrique Propriétés des ressources).

La propriété STOP_TIMEOUT du fichier d'enregistrement du type de ressource définit la valeur du délai imparti pour une méthode Stop 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 nœuds déterminés par la propriété de ressource Init_nodes.

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 nœuds déterminés par la propriété de ressource Init_nodes.

Boot

Cette méthode facultative, analogue à Init, est appelée pour initialiser la ressource sur des nœuds 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 nœuds déterminés par la propriété de ressource Init_nodes. La méthode Boot est appelée lorsque le nœud adhère à un cluster à la suite d'une initialisation ou d'une réinitialisation.


Remarque –

un échec des méthodes Init, Fini ou Boot 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.