Sun Cluster Entwicklerhandbuch Datendienste für Solaris OS

Deklarieren der VariablenPMF_TAG und SYSLOG_TAG

Alle Methodenskripts mit Ausnahme von Validate verwenden pmfadm, um den Datendienst oder den Monitor zu starten oder zu stoppen und den Namen der Ressource zu übergeben. Jedes Skript definiert eine Variable, PMF_TAG, die an pmfadm übergeben werden kann, um entweder den Datendienst oder den Monitor zu identifizieren.

Auf ähliche Weise verwendet jedes Methodenskript den Befehl logger, um die Protokollmeldungen im Systemprotokoll aufzuzeichnen. Jedes Skript definiert eine Variable, SYSLOG_TAG, die an logger mit der Option -t übergeben werden kann, um den Ressourcentyp, den Ressourcennamen und die Ressourcengruppe der Ressource zu identifizieren, für die die Meldung protokolliert wird.

Alle Methoden definieren SYSLOG_TAG auf dieselbe Weise, wie im folgenden Beispielcode dargestellt. Die dns_probe-, dns_svc_start -, dns_svc_stop- und dns_monitor_check-Methoden definieren PMF_TAG wie folgt (die Verwendung von pmfadm und logger stammt von der Methode dns_svc_stop).

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

PMF_TAG=$RESOURCE_NAME.named

SYSLOG_TAG=$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME

   # Send a SIGTERM signal to the data service and wait for 80% of the
   # total timeout value.
   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”

Die dns_monitor_start-, dns_monitor_stop- und dns_update-Methoden definieren PMF_TAG wie folgt (die Verwendung von pmfadm stammt von der Methode dns_monitor_stop):

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

PMF_TAG=$RESOURCE_NAME.monitor
SYSLOG_TAG=$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME
...
# See if the monitor is running, and if so, kill it. 
if pmfadm -q $PMF_TAG.monitor; then
   pmfadm -s $PMF_TAG.monitor KILL