Sun Cluster Entwicklerhandbuch Datendienste für Solaris OS

Deklarieren der Variablen PMF_TAG und SYSLOG_TAG

Alle Methoden-Skripts mit Ausnahme von Validate verwenden pmfadm zum Starten bzw. Stoppen des Datendienstes oder des Monitors, indem sie den Ressourcennamen übergeben. Jedes Skript definiert eine Variable, PMF_TAG, die an pmfadm übergeben werden kann, um entweder den Datendienst oder den Monitor zu identifizieren.

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

Alle Methoden definieren SYSLOG_TAG auf die gleiche Art und Weise, wie im folgenden Beispiel gezeigt. Die dns_probe-, dns_svc_start-, dns_svc_stop- und dns_monitor_check-Methoden definieren PMF_TAG wie folgt, wobei die Verwendung von pmfadm und logger der dns_svc_stop-Methode entnommen wird:


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

PMF_TAG=$RESOURCE_NAME.named

SYSLOG_TAG=$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME

   # SIGTERM-Signal an den Datendienst senden und  80% des
   # gesamten Zeitüberschreitungswerts warten.
   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, wobei die Verwendung von pmfadm der dns_monitor_stop-Methode entnommen wird:


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

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

# Feststellen, ob der Monitor läuft, und ggf. Beenden erzwingen.
if pmfadm -q $PMF_TAG.monitor; then
   pmfadm -s $PMF_TAG.monitor KILL