Sun Cluster Entwicklerhandbuch Datendienste für Solaris OS

Ausgabe

Dieser Abschnitt beschreibt die von Agent Builder generierte Ausgabe.

Quell- und Binärdateien

Ressourcentyp-Manager (RGM)—der Ressourcengruppen und damit auch Ressourcen auf einem Cluster verwaltet—arbeitet mit einem Rückmeldemodell. Wenn spezifische Ereignisse auftreten, wie zum Beispiel ein Knotenversagen, ruft RGM die Ressourcentypmethoden für jede der auf dem betroffenen Knoten ausgeführten Ressourcen auf. RGM ruft zum Beispiel die Stop-Methode auf, um eine auf dem betroffenen Knoten ausgeführte Ressource zu stoppen. Dann ruft das Programm die Start-Methode der Ressource auf, um sie auf einem anderen Knoten neu zu starten. (Weitere Informationen zu diesem Modell finden Sie unter RGM-Modell, Rückmeldemethoden und der Online-Dokumentation unter rt_callbacks( 1HA).

Zur Unterstützung dieses Modells generiert Agent Builder im Verzeichnis Installationsverzeichnis/RT_Name/bin acht ausführbare Programme (C) bzw. Skripts (ksh), die als Rückmeldemethoden dienen.


Hinweis –

Streng genommen ist das Programm RT_Name_probe, das einen Fehler-Monitor implementiert, kein Rückmeldeprogramm. RGM ruft RT_Name_probe nicht direkt auf, sondern ruft RT_Name_monitor_start und RT_Name_monitor_stop, auf, um den Fehler-Monitor durch Aufrufen von RT_Name_probe zu starten und zu stoppen.


Die acht von Agent Builder generierten Methoden sind folgende:

Spezifische Informationen zu jeder dieser Methoden finden Sie in der Online-Dokumentation unter rt_callbacks( 1HA).

Im Verzeichnis Installationsverzeichnis/RT_Name/src (C-Ausgabe) generiert Agent Builder die folgenden Dateien:

Agent Builder verknüpft die RT_Name.o-Datei mit jeder der .o-Dateien der Methode, um die ausführbaren Dateien im Verzeichnis Installationsverzeichnis/RT_Name/bin zu erstellen.

Für ksh-Ausgabe sind die Installationsverzeichnis /Rt_Name/bin- und Installationsverzeichnis/Rt_Name/src-Verzeichnisse identisch—beide enthalten die acht ausführbaren Skripts, die den sieben Rückmeldemethoden und der PROBE-Methode entsprechen.


Hinweis –

Die ksh-Ausgabe enthält zwei kompilierte Dienstprogramme (gettime und gethostnames), die von bestimmten Rückmeldemethoden zum Abrufen der Zeit und zum Testen benötigt werden.


Sie können den Quellcode bearbeiten und den make-Befehl zum Neukompilieren des Codes ausführen. Anschließend führen Sie den make pkg-Befehl aus, um ein neues Paket zu generieren. Als Unterstützung für die Änderung des Quellcodes bettet Agent Builder Kommentare an denjenigen Stellen im Quellcode ein, an denen Code hinzugefügt werden kann. Siehe Bearbeiten des generierten Quellcodes.

Dienstprogrammskripts und Online-Dokumentation

Nach dem Generieren eines Ressourcentyps und Installieren des entsprechenden Pakets auf einem Cluster müssen Sie noch eine Instanz (Ressource) des Ressourcentyps auf einem Cluster ausführen können. Hierzu werden gewöhnlich Verwaltungsbefehle oder SunPlex-Manager eingesetzt. Zur Vereinfachung generiert Agent Builder jedoch ein angepasstes Dienstprogrammskript für diesen Zweck (das Start-Skript), sowie Skripts zum Stoppen und Entfernen einer Ressource aus dem Zielressourcentyp. Diese drei Skripts befinden sich im Verzeichnis Installationsverzeichnis/RT_Name/util und führen folgende Aufgaben aus:


Hinweis –

Sie können das Remove-Skript nur für eine Ressource verwenden, die mit dem entsprechenden Start-Skript gestartet wurde, da diese Skripts interne Konventionen für die Namensgebung für Ressourcen und Ressourcengruppen verwenden.


Agent Builder benennt diese Skripts, indem der Anwendungsname an den Skriptnamen angehängt wird. Wenn der Anwendungsname zum Beispiel ftp lautet, heißen die Skripts startftp, stopftp und removeftp.

Agent Builder stellt im Verzeichnis Installationsverzeichnis/RT_Name/man/man1m Online-Dokumentation für jedes der Dienstprogrammskripts bereit. Lesen Sie diese Online-Dokumentation vor dem Starten der Skripts, da sie die Parameter enthält, die Sie in das Skript übertragen müssen.

Zum Anzeigen der Online-Dokumentation geben Sie den Pfad zum man-Verzeichnis an, indem Sie die Option -M mit dem man-Befehl verwenden. Wenn zum Beispiel SUNW der Hersteller und ftp der Anwendungsname ist, verwenden Sie folgenden Befehl, um die startftp(1M)-Online-Dokumentation anzuzeigen:


man -M Installationsverzeichnis/SUNWftp/man startftp

Die Dienstprogrammskripts der Online-Dokumentation stehen auch dem Cluster-Verwalter zur Verfügung. Wenn ein von Agent Builder generiertes Paket auf einem Cluster installiert ist, wird die Online-Dokumentation für die Dienstprogrammskripts im Verzeichnis /opt/RT_Name/man abgelegt. Verwenden Sie z. B. folgenden Befehl, um die Online-Dokumentation zu startftp(1M) anzuzeigen:


man -M /opt/SUNWftp/man startftp

Unterstützungsdateien

Agent Builder legt Unterstützungsdateien, wie pkginfo, postinstall, postremove und preremove im Verzeichnis Installationsverzeichnis/RT_Name/etc ab. Dieses Verzeichnis enthält auch die Ressourcentyp-Registrierungsdatei (RTR-Datei), welche die Ressourcen- und Ressourcentypeigenschaften deklariert, die dem Zielressourcentyp zur Verfügung stehen, und Eigenschaftswerte initialisiert, wenn eine Ressource bei einem Cluster registriert wird (weitere Informationen finden Sie unter Einstellen der Ressourcen- und Ressourcentypeigenschaften). Die RTR-Datei erhält den Namen Herstellername.Ressourcentypname—z. B. SUNW.ftp.

Sie können diese Datei mit einem Standard-Textverarbeitungsprogramm bearbeiten und Änderungen vornehmen, ohne den Quellcode neu zu kompilieren. Sie müssen jedoch das Paket mit dem make pkg-Befehl neu zusammenstellen.

Paketverzeichnis

Das Verzeichnis Installationsverzeichnis/RT_Name/pkg enthält ein Solaris-Paket. Der Paketname ist eine Verkettung des Herstellernamens mit dem Anwendungsnamen, zum Beispiel SUNWftp. Das Makefile im Verzeichnis Installationsverzeichnis/RT_Name/src unterstützt die Erstellung eines neuen Pakets. Wenn Sie zum Beispiel Änderungen an den Quelldateien vornehmen und den Code neu kompilieren, oder wenn Sie Änderungen an den Paket-Dienstprogrammskripts vornehmen, verwenden Sie den make pkg-Befehl, um ein neues Paket zu erstellen.

Wenn Sie ein Paket aus einem Cluster entfernen, kann der pkgrm-Befehl fehlschlagen, wenn Sie versuchen, den Befehl auf mehr als einem Knoten aus gleichzeitig auszuführen. Sie können dieses Problem auf zwei Arten lösen:

Wenn pkgrm fehlschlägt, weil Sie die Ausführung auf mehreren Knoten gleichzeitig versuchen, führen Sie den Befehl noch einmal auf einem Knoten und dann auf den restlichen Knoten aus.

Die rtconfig-Datei

Wenn Sie C- oder ksh-Quellcode generieren, generiert Agent Builder eine Konfigurationsdatei rtconfig, welche die an den Bildschirmen “Create” und “Configure” eingegebenen Informationen enthält. Wenn Sie Agent Builder vom Arbeitsverzeichnis für einen vorhandenen Ressourcentyp aus starten bzw. wenn Sie einen vorhandenen Ressourcentyp im Menü “File” über den Befehl Load Resource Type laden, liest Agent Builder die rtconfig-Datei und füllt die Bildschirme “Create” und “Configure” mit den für den vorhandenen Ressourcentyp bereitgestellten Informationen aus. Diese Funktion ist nützlich, wenn Sie einen vorhandenen Ressourcentyp klonen möchten (siehe Klonen eines vorhandenen Ressourcentyps).