Guide du développeur de services de données Sun Cluster pour SE Solaris

Fonctionnement de la méthode Update

Le RGM exécute la méthode de Mise_à_jour pour notifier à une ressource en cours d'exécution que ses propriétés ont changé. Le RGM exécute Update après que l'administrateur du cluster ait fini de définir les propriétés d'une ressource ou de son groupe. Cette méthode est appelée sur les noeuds sur lesquels la ressource est en ligne.

Action de la méthode Update

La méthode Update ne met pas à jour les propriétés. C'est le rôle du RGM. La méthode Update notifie certains processus en cours d'exécution qu'une mise à jour a été effectuée. Le seul processus, dans le service de données modèle, affecté par une mise à jour de propriété est le détecteur de pannes. Par conséquent, la méthode Update arrête et redémarre le processus du détecteur de pannes.

La méthode Update doit vérifier que le détecteur de pannes est en cours d'exécution, puis le tuer à l'aide de la commande pmfadm. La méthode obtient l'emplacement du programme de sonde qui met en oeuvre le détecteur de pannes, et le redémarre par l'intermédiaire de la commande pmfadm.

Arrêt du détecteur à l’aide de la méthode Update

La méthode Update utilise pmfadm -q pour vérifier que le détecteur fonctionne et, si tel est le cas, le tue avec pmfadm -s TERM. Si le détecteur se termine correctement, un message en ce sens est envoyé à l'administrateur du cluster. Si le détecteur ne peut être arrêté, Update se termine avec un code d'échec et envoie un message d'erreur à l'administrateur du cluster.

if pmfadm -q $RESOURCE_NAME.monitor; then

# Tuer le détecteur déjà en cours d'exécution
pmfadm -s $PMF_TAG TERM
    if [ $? -ne 0 ]; then
       logger -p ${SYSLOG_FACILITY}.err \
              -t [$SYSLOG_TAG] \
                 "${ARGV0} Could not stop the monitor"
       exit 1
    else
    # arrêt du détecteur réussi. Consigner un message.
       logger -p ${SYSLOG_FACILITY}.err \
              -t [$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME] \
                 "Monitor for HA-DNS successfully stopped"
    fi

Redémarrage du détecteur

Pour redémarrer le détecteur, la méthode Mise_à_jour doit localiser le script mettant en oeuvre le programme de sonde. Le programme de sonde se trouve dans le répertoire de base du service de données, vers lequel pointe la propriété RT_basedir. Update récupère la valeur de RT_basedir et l'enregistre dans la variable RT_BASEDIR, de la manière suivante :

RT_BASEDIR=`scha_resource_get -O RT_basedir -R $RESOURCE_NAME -G \
$RESOURCEGROUP_NAME`

Update utilise la valeur de RT_BASEDIR avec pmfadm pour redémarrer le programme dns_probe. En cas de succès, Update se termine avec un code de succès et envoie un message en ce sens à l'administrateur du cluster. Si pmfadm ne parvient pas à démarrer le programme de sonde, Update se termine avec un code d'échec et consigne un message d'erreur.

État de Update à la fermeture

L'échec de la méthode Update entraîne le passage de son état à “update failed” (“échec de la mise à jour”). Cet état est sans effet sur la gestion de la ressource par le RGM, mais indique l'échec de l'action de mise à jour aux outils d'administration via la fonction syslog().