Sun Cluster Entwicklerhandbuch Datendienste für Solaris OS

Überprüfen der Zuverlässigkeit des Dienstes

Das Testsignal selbst besteht aus einer while-Endlosschleife aus nslookup-Befehlen. Vor der while-Schleife wird eine temporäre Datei für die nslookup-Antworten eingerichtet. Die Variablen probefail und retries werden auf 0 initialisiert .


# Temporäre Datei für nslookup-Antworten konfigurieren.
DNSPROBEFILE=/tmp/.$RESOURCE_NAME.probe
probefail=0
retries=0

Die while-Schleife selbst hat folgende Aufgaben:

Es folgt der while-Schleifencode.


while :
do
   # Das Intervall, in dem das Testsignal ausgeführt werden muss, wird in der
   # Eigenschaft THOROUGH_PROBE_INTERVAL angegeben. Daher wird das Ruhen
   # des Testsignals auf eine Dauer von THOROUGH_PROBE_INTERVAL eingestellt.
   sleep $PROBE_INTERVAL

   # nslookup-Befehl für die IP-Adresse des DNS ausführen.
   hatimerun -t $PROBE_TIMEOUT /usr/sbin/nslookup $DNS_HOST $DNS_HOST \
          > $DNSPROBEFILE 2>&1

      retcode=$?
      if [ $retcode -ne 0 ]; then
            probefail=1
      fi

   # Sicherstellen, dass die Antwort auf nslookup vom HA-DNS-
   # Server und nicht von einem anderen in der /etc/resolv.conf-Datei
   # genannten Namensserver stammt.
   if [ $probefail -eq 0 ]; then
# Namen des Servers abrufen,m der auf die nslookup-Abfrage geantwortet hat.
   SERVER=` awk ' $1=="Server:" { print $2 }' \
   $DNSPROBEFILE | awk -F. ' { print $1 } ' `
   if [ -z "$SERVER" ]; then
      probefail=1
      else
         if [ $SERVER != $DNS_HOST ]; then
            probefail=1
         fi
   fi
fi