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

Méthode Update

Le RGM appelle la méthode Update pour notifier à une ressource en cours d'exécution que ses propriétés ont changé. Le RGM appelle Update après la réussite d'une action de l'administrateur visant à définir les propriétés d'une ressource ou de son groupe. Cette méthode est appelée sur les nœuds lorsque la ressource est en ligne.

Présentation de la méthode Update

La méthode Update ne met pas les propriétés à jour, cette opération est effectuée par le RGM. Par contre, elle notifie la mise à jour aux processus. Le seul processus du service de données modèle affecté par une mise à jour des propriétés est le détecteur de pannes. C'est donc ce processus qu'arrête et que démarre la méthode Update.

La méthode Update doit vérifier que le détecteur de pannes tourne, puis le tuer à l'aide de la commande pmfadm. La méthode obtient l'emplacement du programme probe mettant en œuvre le détecteur de pannes, puis le redémarre à l'aide de pmfadm.

Arrêt du détecteur à l'aide de Update

La méthode Update utilise pmfadm -q pour vérifier que le détecteur tourne et, si c'est le cas, le tue à l'aide de la commande pmfadm -s TERM. Si le détecteur se ferme correctement, un message le signalant est envoyé à l'administrateur. Dans le cas contraire, Update se ferme en affichant un état d'échec et envoie un message d'erreur à l'administrateur.


if pmfadm -q $RESOURCE_NAME.monitor; then

# Arrêter le détecteur 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 DNS fructueux. 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 Update doit localiser le script mettant en œuvre le programme probe. Le programme d'analyse réside dans le répertoire de base du service de données, vers lequel pointe la propriété RT_basedir. La méthode de mise à jour récupère la valeur de la propriété RT_basedir et la stocke dans la variable RT_BASEDIR comme suit :


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

La méthode utilise ensuite la valeur de la variable avec la commande pmfadm afin de redémarrer le programme dns_probe. S'il y réussit, Update se ferme avec succès et envoie un message le signalant à l'administrateur. Si pmfadm ne peut pas lancer le programme de sonde, Update se ferme en affichant un état 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 n'affecte en rien la gestion RGM de la ressource, mais indique l'échec de l'opération de mise à jour aux outils d'administration par le biais de la fonction syslog.