Sun Cluster Entwicklerhandbuch Datendienste für Solaris OS

Steuerungs- und Initialisierungs-Rückmeldemethoden

Die primären Steuerungs- und Initialisierungs-Rückmeldemethoden starten und stoppen eine Ressource. Andere Methoden führen für eine Ressource Initialisierungs- und Beendigungscode aus.

Start

RGM führt diese Methode an einem Cluster-Knoten aus, wenn die Ressourcengruppe, die die Ressource enthält, an diesem Knoten online gebracht wird. Die Methode aktiviert die Ressource auf dem Knoten.

Eine Start-Methode sollte nicht beendet werden, bis die Ressource, die sie aktiviert, gestartet wurde und am lokalen Knoten verfügbar ist. Daher muss die Start-Methode vor Beendigung die Ressource abrufen, um festzustellen, ob sie gestartet wurde. Außerdem sollten Sie einen ausreichend langen Zeitüberschreitungswert für diese Methode festlegen. Bestimmte Ressourcen, z.B. Datenbankdämonen, benötigen mehr Zeit zum Starten. Deshalb sollte die Methode einen längeren Zeitüberschreitungswert aufweisen.

Die Reaktion von RGM auf einen Fehlschlag der Start-Methode hängt von der Einstellung der Failover_mode-Eigenschaft ab.

Die Start_timeout-Eigenschaft in der RTR-Datei (Resource Type Registration, Ressourcentypregistrierung) legt den Zeitüberschreitungswert für die Start-Methode einer Ressource fest.

Stop

RGM führt diese Methode an einem Cluster-Knoten aus, wenn die Ressourcengruppe, die die Ressource enthält, an diesem Knoten offline gebracht wird. Die Methode deaktiviert die Ressource, wenn sie aktiv ist.

Eine Stop-Methode sollte nicht beendet werden, bis die Ressource, die sie steuert, sämtliche Aktionen am lokalen Knoten eingestellt hat und alle Dateideskriptoren geschlossen sind. Andernfalls kann eine Datenbeschädigung auftreten, da RGM davon ausgeht, dass die Ressource gestoppt wurde, obwohl sie eigentlich noch aktiv ist. Der sicherste Weg, eine Datenbeschädigung zu vermeiden, besteht darin, alle Prozesse am lokalen, mit der Ressource verknüpften Knoten anzuhalten.

Die Stop-Methode muss vor der Beendigung die Ressource abrufen, um festzustellen, ob sie gestoppt wurde. Außerdem sollten Sie einen ausreichend langen Zeitüberschreitungswert für diese Methode festlegen. Bestimmte Ressourcen, z.B. Datenbankdämonen, benötigen mehr Zeit zum Stoppen. Deshalb sollte die Methode einen längeren Zeitüberschreitungswert aufweisen.

Die Art und Weise, in der RGM auf einen Fehler der Stop-Methode reagiert, richtet sich nach der Einstellung der Failover_mode-Eigenschaft. Weitere Informationen finden Sie im Abschnitt Ressourceneigenschaften.

Die Stop_timeout-Eigenschaft in der RTR-Datei legt den Zeitüberschreitungswert für die Stop-Methode einer Ressource fest.

Init

RGM führt diese optionale Methode zum Durchführen einer einmaligen Initialisierung der Ressource aus, sobald es sich um eine verwaltete Ressource handelt. RGM führt diese Methode aus, wenn ihre Ressourcengruppe von einem nicht verwalteten Zustand in einen verwalteten Zustand wechselt oder wenn die Ressource in einer Ressourcengruppe erstellt wird, die bereits verwaltet wird. Diese Methode wird an Knoten aufgerufen, die durch die Ressourceneigenschaft Init_nodes gekennzeichnet sind.

Fini

RGM führt diese optionale Methode aus, um nach der Ressource aufzuräumen, wenn sie zu einer verwalteten Ressource wird. RGM führt diese Methode aus, wenn ihre Ressourcengruppe in einen nicht verwalteten Zustand wechselt oder wenn die Ressource aus einer verwalteten Ressourcengruppe gelöscht wird. Diese Methode wird an Knoten aufgerufen, die durch die Ressourceneigenschaft Init_nodes gekennzeichnet sind.

Boot

RGM führt diese optionale Methode aus, die ähnlich ist wie Init , um die Ressourcen an den Knoten zu initialisieren, die dem Cluster beitreten, nachdem die Ressourcengruppe, die die Ressource enthält, bereits unter die Verwaltung von RGM gestellt wurde. Diese Methode wird an Knoten ausgeführt, die durch die Ressourceneigenschaft Init_nodes gekennzeichnet sind. Die Boot-Methode wird aufgerufen, wenn der Knoten dem Cluster beitritt oder erneut beitritt, nachdem er gebootet oder erneut gebootet wurde.


Hinweis –

Ein Fehler der Init-, Fini- oder Boot-Methoden führt dazu, dass die syslog()-Funktion eine Fehlermeldung generiert. Die Verwaltung der Ressource durch RGM ist anderweitig nicht beeinträchtigt.