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

Méthode de Mise_à_jour

Le RGM appelle la méthode de Mise_à_jour pour notifier à une ressource en cours d'exécution que ses propriétés ont changé. Le RGM appelle Mise_à_jour 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 noeuds lorsque la ressource est en ligne.

Présentation de Mise_à_jour

La méthode de Mise_à_jour 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 de Mise_à_jour.

La méthode de Mise_à_jour 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 de sonde mettant en oeuvre le détecteur de pannes, puis le redémarre à l'aide de pmfadm.

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

La méthode de Mise_à_jour 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, Mise_à_jour se ferme en affichant un état d'échec et envoie un message d'erreur à l'administrateur.


if pmfadm -q $RESOURCE_NAME.monitor; then

# Tuer 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 de Mise_à_jour doit localiser le script mettant en oeuvre le programme de sonde. Le programme de sonde réside dans le répertoire de base du service de données, vers lequel pointe la propriété Rép_base_TR. Mise_à_jour récupère la valeur de Rép_base_TR et l'enregistre dans la variable RÉP_BASE_TR , de la manière suivante :


RÉP_BASE_TR=`scha_resource_get -O RÉP_BASE_TR -R $RESOURCE_NAME -G \
$RESOURCEGROUP_NAMÈ

Mise_à_jour utilise alors la valeur de RÉP_BASE_TR avec la commande pmfadm pour redémarrer le programme de sonde_dns. S'il y réussit, Mise_à_jour se ferme avec succès et envoie un message le signalant à l'administrateur. Si pmfadm ne peut pas lancer le programme de sonde, Mise_à_jour se ferme en affichant un état d'échec et consigne un message d'erreur.

État de Mise_à_jour à la fermeture

L'échec de la méthode de Mise_à_jour 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.