Sun Cluster Entwicklerhandbuch Datendienste für Solaris OS

Funktionsweise der Update-Methode

RGM führt die Update-Methode aus, um eine laufende Ressource darüber zu benachrichtigen, dass ihre Eigenschaften geändert wurden. RGM führt Update aus, nachdem ein Cluster-Administrator die Eigenschaften einer Ressource oder ihrer Gruppe erfolgreich ausführt. Diese Methode wird an Knoten ausgeführt, an denen die Ressource online ist.

Funktionsweise der Update-Methode

Die Update-Methode aktualisiert keine Eigenschaften. RGM aktualisiert Eigenschaften. Die Update-Methode benachrichtigt laufende Prozesse darüber, dass eine Aktualisierung stattgefunden hat. Der einzige Prozess des Beispieldatendienstes, der von einer Eigenschaftenaktualisierung beeinträchtigt wird, ist der Fehler-Monitor. Folglich ist der Fehler-Monitor-Prozess der Prozess, der von der Update-Methode gestoppt und neu gestartet wird.

Die Update-Methode muss prüfen, ob der Fehler-Monitor ausgeführt wird und ihn dann mit dem Befehl pmfadm beenden. Die Methode ruft den Speicherort des Testsignalprogramms ab, mit dem der Fehler-Monitor implementiert wird und startet es mit dem Befehl pmfadm neu.

Stoppen des Monitors mit Update

Die Update-Methode verwendet pmfadm -q, um zu prüfen, ob der Monitor ausgeführt wird. Ist dies der Fall, wird er mit pmfadm -s TERM beendet. Wenn der Monitor erfolgreich beendet wird, wird zu diesem Zweck eine Meldung an den Cluster-Administrator gesendet. Wenn der Monitor nicht gestoppt werden kann, wird Update mit einem Fehlerstatus beendet und eine Fehlermeldung an den Cluster-Administrator gesendet.

if pmfadm -q $RESOURCE_NAME.monitor; then

# Kill the monitor that is running already
pmfadm -s $PMF_TAG TERM
    if [ $? -ne 0 ]; then
       logger -p ${SYSLOG_FACILITY}.err \
              -t [$SYSLOG_TAG] \
                 "${ARGV0} Could not stop the monitor"
       exit 1
    else
    # could successfully stop DNS. Log a message.
       logger -p ${SYSLOG_FACILITY}.err \
              -t [$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME] \
                 "Monitor for HA-DNS successfully stopped"
    fi

Neustarten des Monitors

Um den Monitor neu zu starten, muss die Update-Methode das Skript finden, mit dem das Testsignalprogramm implementiert wird. Das Testprogramm befindet sich im Basisverzeichnis des Datendienstes, auf das mit der Eigenschaft RT_basedir verwiesen wird. Update ruft den Wert von RT_basedir ab und speichert ihn wie folgt in der RT_BASEDIR-Variablen.

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

Update verwendet den Wert von RT_BASEDIR mit pmfadm, um das dns_probe-Programm neu zu starten. Bei Erfolg wird Update mit Erfolg beendet und zu diesem Zweck eine Meldung an den Cluster-Administrator gesendet. Wenn pmfadm das Testsignalprogramm nicht starten kann, wird Update mit einem Fehlerstatus beendet und eine Fehlermeldung protokolliert.

Update-Beendigungsstatus

Ein Fehlschlagen der Update-Methode versetzt die Ressource in einen Zustand “Aktualisierung fehlgeschlagen”. Dieser Zustand hat keinerlei Auswirkung auf die RGM-Verwaltung der Ressource, weist jedoch die Verwaltungstools auf den Fehler der Aktualisierungsaktion über die Funktion syslog() hin.