Sun Cluster Entwicklerhandbuch Datendienste für Solaris OS

Überprüfen der Konfiguration

DNS benötigt für die Ausführung Informationen aus der named.conf-Datei im Konfigurationsverzeichnis. Daher führt die Start-Methode einige Gesundheits-Checks aus, um zu überprüfen, ob auf das Verzeichnis und die Datei zugegriffen werden kann, bevor DNS gestartet wird.

Die Confdir-Erweiterungseigenschaft stellt den Pfad zum Konfigurationsverzeichnis bereit. Die Eigenschaft selbst ist in der RTR-Datei definiert. Den Speicherort gibt jedoch der Cluster-Verwalter beim Konfigurieren des Datendienstes an.

Im Beispieldatendienst ruft die Start-Methode den Speicherort des Konfigurationsverzeichnisses mithilfe der Funktion scha_resource_get() ab.


Hinweis –

Da Confdir eine Erweiterungseigenschaft ist, gibt scha_resource_get() sowohl den Typ als auch den Wert zurück. Der awk-Befehl ruft lediglich den Wert ab und legt ihn in einer Shell-Variablen ab, CONFIG_DIR.



# Den Wert von Confdir suchen, den der Cluster-Verwalter beim Hinzufügen
# der Ressource eingestellt hat.
config_info=`scha_resource_get -O Extension -R $RESOURCE_NAME \
-G $RESOURCEGROUP_NAME Confdir`

# scha_resource_get gibt sowohl den "Typ" als auch den "Wert" für die
# Erweiterungseigenschaften zurück. Nur den Wert der Erweiterungseigenschaft abrufen.
CONFIG_DIR=`echo $config_info | awk '{print $2}'`

Die Start-Methode verwendet dann den Wert von CONFIG_DIR, um zu überprüfen, ob das auf das Verzeichnis zugegriffen werden kann. Wenn kein Zugriff möglich ist, protokolliert Start eine Fehlermeldung und wird mit Fehlerstatus beendet. Weitere Informationen finden Sie unter Start-Beendigungsstatus.


# Prüfen, ob Zugriff auf $CONFIG_DIR möglich ist.
if [ ! -d $CONFIG_DIR ]; then
   logger -p ${SYSLOG_FACILITY}.err \
         -t [$SYSLOG_TAG] \
         "${ARGV0} Verzeichnis $CONFIG_DIR fehlt oder ist nicht eingehängt"
   exit 1
fi

Vor dem Starten des Anwendungsdämons führt diese Methode eine abschließende Prüfung durch, um zu überprüfen, ob die named.conf-Datei vorhanden ist. Wenn sie nicht vorhanden ist, protokolliert Start eine Fehlermeldung und wird im Fehlerstatus beendet.


# Wechsel zum $CONFIG_DIR-Verzeichnis, falls die
# Datendateien relative Pfadnamen enthalten.
cd $CONFIG_DIR

# Prüfen, ob die named.conf-Datei im $CONFIG_DIR-Verzeichnis vorhanden ist
if [ ! -s named.conf ]; then
   logger -p ${SYSLOG_FACILITY}.err \
         -t [$SYSLOG_TAG] \
         "${ARGV0} Datei $CONFIG_DIR/named.conf fehlt oder ist leer"
   exit 1
fi