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

Déclaration des variables PMF_TAG et SYSLOG_TAG

Tous les scripts de méthode (à l'exception de Validation) utilisent pmfadm pour lancer (ou arrêter) le service de données ou le détecteur, en transmettant le nom de la ressource. Chaque script définit une variable PMF_TAG pouvant être transmise à pmfadm pour identifier le service de données ou le détecteur.

De la même manière, chaque script de méthode a recours à la commande logger pour consigner des messages dans le journal système. Chaque script définit une variable SYSLOG_TAG pouvant être transmise à logger avec l'option -t pour identifier le type de ressource, le groupe de ressources ainsi que le nom de la ressource pour laquelle est consigné le message.

Toutes les méthodes définissent SYSLOG_TAG de la même manière, comme l'indique l'exemple suivant. Les méthodes de sonde_dns, de démarrage_svc_dns, d'arrêt_svc_dns et de contrôle_détecteur_dns définissent PMF_TAG comme suit (l'usage de pmfadm et de logger provient de la méthode arrêt_svc_dns ) :


#########################################################################
# MAIN
#########################################################################

PMF_TAG=$RESOURCE_NAME.named

SYSLOG_TAG=$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME

   # Envoi d'un signal SIGTERM au service de données et attente pendant 80 % du
   # délai total imparti.
   pmfadm -s $PMF_TAG.named -w $SMOOTH_TIMEOUT TERM
   if [ $? -ne 0 ]; then
      logger -p ${SYSLOG_FACILITY}.info \
          -t [$SYSLOG_TAG] \
          “${ARGV0} Failed to stop HA-DNS with SIGTERM; Retry with \
           SIGKILL”

Les méthodes de démarrage_détecteur_dns, d'arrêt_détecteur_dns et de mise_à_jour_dns définissent PMF_TAG comme suit (l'usage de pmfadm provient de la méthode arrêt_détecteur_dns) :


#########################################################################
# MAIN
#########################################################################

PMF_TAG=$RESOURCE_NAME.monitor
SYSLOG_TAG=$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME
...

# Voir si le détecteur tourne et, le cas échéant, le tuer.
if pmfadm -q $PMF_TAG.monitor; then
   pmfadm -s $PMF_TAG.monitor KILL