Sun Cluster Entwicklerhandbuch Datendienste für Solaris OS

Update-Methode

RGM ruft die Update-Methode auf, um eine laufende Ressource darüber zu benachrichtigen, dass ihre Eigenschaften geändert wurden. RGM ruft Update auf, nachdem eine Verwaltungsaktion die Eigenschaften einer Ressource bzw. deren Gruppe erfolgreich eingestellt hat. Diese Methode wird auf den Knoten aufgerufen, auf denen die Ressource online ist.

Überblick über Update

Die Update-Methode aktualisiert keine Eigenschaften — das ist Aufgabe von RGM. Stattdessen benachrichtigt sie laufende Prozesse davon, dass eine Aktualisierung stattgefunden hat. Der einzige im Beispieldatendienst von einer Eigenschaftsaktualisierung betroffene Prozess ist der Fehler-Monitor. Daher wird dieser Prozess von der Update-Methode gestoppt und neu gestartet.

Die Update-Methode muss überprüfen, ob der Fehler-Monitor läuft und dann dessen Beenden mithilfe von pmfadm erzwingen. Die Methode ruft den Pfad des Testsignalprogramms ab, das den Fehler-Monitor implementiert, und startet ihn dann mithilfe von pmfadm neu.

Stoppen des Monitors mit Update

Die Update-Methode verwendet pmfadm -q, um zu überprüfen, ob der Monitor läuft. Wenn dies der Fall ist, erzwingt sie das Beenden mit pmfadm -s TERM. Wenn der Monitor erfolgreich beendet wurde, wird eine entsprechende Meldung an den Verwaltungsbenutzer gesendet. Wenn der Monitor nicht gestoppt werden kann, wird Update mit Fehlerstatus beendet und sendet eine Fehlermeldung an den Verwaltungsbenutzer.


if pmfadm -q $RESOURCE_NAME.monitor; then

# Beenden des bereits laufenden Monitors erzwingen
pmfadm -s $PMF_TAG TERM
    if [ $? -ne 0 ]; then
       logger -p ${SYSLOG_FACILITY}.err \
              -t [$SYSLOG_TAG] \
                 "${ARGV0} Monitor konnte nicht gestoppt werden"
       exit 1
    else
    # DNS konnte erfolgreich gestoppt werden. Meldung protokollieren.
       logger -p ${SYSLOG_FACILITY}.err \
              -t [$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME] \
                 "Monitor für HA-DNS erfolgreich gestoppt"
    fi

Neustarten des Monitors

Um den Monitor neu zu starten, muss die Update-Methode das Skript finden, mit dem das Testsignalprogramm implementiert wird. Das Testsignalprogramm residiert im Basisverzeichnis des Datendienstes, auf das die Rt_basedir-Eigenschaft zeigt. Update ruft den Wert von Rt_basedir ab und speichert ihn in der RT_BASEDIR-Variablen, wie im Folgenden gezeigt.


RT_BASEDIR=`scha_resource_get -O RT_BASEDIR -R $RESOURCE_NAME -G \
$RESOURCEGROUP_NAME`

Dann verwendet Update den Wert von RT_BASEDIR mit pmfadm, um das dns_probe-Programm neu zu starten. Wenn dieser Vorgang erfolgreich ist, wird Update mit Erfolg beendet und sendet eine entsprechende Meldung an den Verwaltungsbenutzer. Wenn pmfadm das Testsignalprogramm nicht starten kann,wird Update mit Fehlerstatus beendet und protokolliert eine Fehlermeldung.

Update-Beendigungsstatus

Ein Fehlschlagen der Update-Methode versetzt die Ressource in einen Zustand “Aktualisierung fehlgeschlagen”. Dieser Zustand hat keine Auswirkung auf die RGM-Verwaltung der Ressource, gibt jedoch den Fehlschlag der Aktualisierungsaktion über die syslog-Funktion an Verwaltungstools an.