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

Déclaration des variables PMF_TAG et SYSLOG_TAG

Tous les scripts de méthode, à l'exception de Validate, utilisent pmfadm pour démarrer ou arrêter le service de données ou le détecteur, en lui passant le nom de la ressource. Chaque script définit une variable, PMF_TAG, qui peut être passée à pmfadm pour identifier le service de données ou le détecteur.

De même, chaque script de méthode utilise la commande logger pour journaliser les messages dans le journal système. Chaque script définit une variable, SYSLOG_TAG, qui peut être passée à la commande logger avec l'option -t pour identifier le type, le nom et le groupe de ressource de la ressource pour laquelle le message est consigné.

Toutes les méthodes définissent SYSLOG_TAG de la même manière, comme cela est indiqué dans l'exemple de code suivant. Les méthodes dns_probe, dns_svc_start , dns_svc_stop, et dns_monitor_check définissent PMF_TAG comme suit (les commandes pmfadm et logger sont utilisées à partir de la méthode dns_svc_stop).

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

PMF_TAG=$RESOURCE_NAME.named

SYSLOG_TAG=$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME

   # Envoie un signal SIGTERM au service de données et attend pendant 80% de
   # la valeur de délai totale.
   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 dns_monitor_start, dns_monitor_stop et dns_update définissent PMF_TAG de la façon suivante (la commande pmfadm est utilisée à partir de la méthode dns_monitor_stop) :

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

PMF_TAG=$RESOURCE_NAME.monitor
SYSLOG_TAG=$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME
...
# Voir si le détecteur est en cours d'exécution et si oui, le tuer. 
if pmfadm -q $PMF_TAG.monitor; then
   pmfadm -s $PMF_TAG.monitor KILL