Sun Cluster Entwicklerhandbuch Datendienste für Solaris OS

Agent Builder-Ausgabe

Quell- und Binärdateien

Der Resource Group Manager (RGM) verwaltet Ressourcengruppen und schließlich Ressourcen auf einem Cluster. Der RGM funktioniert auf einem Rückruf-Modell. Wenn bestimmte Ereignisse eintreten, zum Beispiel ein Knotenfehler, ruft der RGM die Ressourcentypmethoden für jede der Ressourcen, die auf dem betroffenen Knoten ausgeführt werden, 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 Ressourcengruppen-Manager-Modell, Rückmeldemethoden und unter rt_callbacks(1HA).

Zur Unterstützung dieses Modells generiert Agent Builder acht ausführbare C-Programme oder Korn-Shell-Skripts im Verzeichnis Installationsverzeichnis/RT-Name/bin. Diese Programme oder Shell-Skripts dienen als Rückruf-Methoden.


Hinweis –

Streng genommen ist das Programm RT-Name_probe, das einen Fehlermonitor implementiert, kein Rückrufprogramm. Der RGM ruft RT-Name_probe nicht direkt auf. Stattdessen ruft der RGM RT-Name_monitor_start und RT-Name_monitor_stop auf. Diese Methoden starten und stoppen den Fehlermonitor durch Aufrufen von RT-Name _probe.


Im Folgenden erhalten Sie eine Aufzählung der acht Methoden, die von Agent Builder generiert werden:

Spezielle Informationen zu den einzelnen Methoden finden Sie in der Online-Dokumentation zu rt_callbacks(1HA).

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

Agent Builder verbindet die Datei RT-Name.o mit jeder der .o-Methodendateien, um die ausführbaren Dateien im Verzeichnis Installationsverzeichnis/RT-Name/bin zu erstellen.

Für die Korn-Shell-Ausgabe sind die Verzeichnisse Installationsverzeichnis/RT-Name/bin und Installationsverzeichnis/RT-Name/src identisch. Jedes Verzeichnis enthält die acht ausführbaren Skripts, die den sieben Rückmeldemethoden und der Probe-Methode entsprechen.


Hinweis –

Die Korn-Shell-Ausgabe umfasst zwei kompilierte Dienstprogramme, gettime und gethostnames. Bestimmte Rückrufmethoden benötigen diese Methoden zum Abrufen der Uhrzeit und für das Testsignalverfahren.


Sie können den Quellcode bearbeiten und den Befehl make zum Neukompilieren des Codes ausführen. Anschließend führen Sie den Befehl make pkg 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. Weitere Informationen finden Sie unter Bearbeiten des generierten Quellcodes.

Von Sun Agent Builder erstellte Dienstpgrogrammskripts 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. Um eine Instanz abzurufen, müssen Sie Verwaltungsbefehle oder SunPlex Manager verwenden. Agent Builder generiert jedoch ein benutzerdefiniertes Dienstprogrammskript zu diesem Zweck sowie Skripts zum Stoppen und Entfernen einer Ressource vom Zielressourcentyp. Diese drei Skripts, die sich im Verzeichnis Installationsverzeichnis/RT-Name/util befinden, führen Folgendes aus:


Hinweis –

Sie können auch nur das Skript zum Entfernen für eine Ressource verwenden, die vom entsprechenden Start-Skript gestartet wurde, da diese drei Skripts interne Konventionen zur Benennung von 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 bietet im Verzeichnis Installationsverzeichnis/RT-Name/man/man1m eine Online-Dokumentation für jedes Dienstprogramm-Skript. Sie sollten diese Online-Dokumentation lesen, bevor Sie diese Skripts starten, da sie die Argumente dokumentieren, die Sie an das Skript übergeben müssen.

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


% 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 der Dienstprogrammskripts im Verzeichnis /opt/RT-Name/man abgelegt. Geben Sie zum Beispiel den folgenden Befehl ein, um die Online-Dokumentation startftp(1M) anzuzeigen:


% man -M /opt/SUNWftp/man startftp

Von Agent Builder erstellte Support-Dateien

Agent Builder legt Support-Dateien, wie z.B. pkginfo, postinstall, postremove und preremove im Verzeichnis Installationsverzeichnis/rt-name/etc ab. In diesem Verzeichnis befindet sich auch die RTR-Datei (Resource Type Registration, Ressourcentypregistrierung). Die RTR-Datei deklariert Ressourcen- und Ressourcentypeigenschaften, die für den Zielressourcentyp zur Verfügung stehen und initialisiert Eigenschaftswerte zu dem Zeitpunkt, zu dem eine Ressource mit 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 das Paket jedoch mit dem Befehl make pkg neu erstellen.

Von Agent Builder erstelltes Paketverzeichnis

Das Verzeichnis Installationsverzeichnis/RT-Name/pkg enthält ein Solaris-Paket. Der Name des Pakets ist eine Verkettung von Hersteller- und Anwendungsname, z.B. SUNWftp. Das Makefile im Verzeichnis Installationsverzeichnis/RT-Name/src unterstützt die Erstellung eines neuen Pakets. Wenn Sie z.B. Änderungen an den Quelldateien vornehmen und den Code neu kompilieren oder Sie die Paketdienstprogrammskripts ändern möchten, verwenden Sie den Befehl make pkg, um ein neues Paket zu erstellen.

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

Wenn pkgrm fehlschlägt, weil Sie versucht haben, ihn von mehreren Knoten gleichzeitig auszuführen, führen Sie den Befehl erneut von einem Knoten aus. Führen Sie den Befehl dann von den verbleibenden Knoten aus.

Die Datei rtconfig

Wenn Sie im Arbeitsverzeichnis C- oder Korn-Shell-Quellcode generieren, erstellt Agent Builder eine Konfigurationsdatei namens rtconfig. Diese Datei enthält die Informationen, die Sie in den Bildschirmen "Create" und "Configure" angegeben haben. Wenn Sie Agent Builder für einen bereits vorhandenen Ressourcentyp im Arbeitsverzeichnis starten, liest Agent Builder die Datei rtconfig. Agent Builder füllt die Bildschirme "Create" und "Configure" mit den Informationen, die Sie für den bereits vorhandenen Ressourcentyp angegeben haben. Agent Builder funktioniert ähnlich, wenn Sie einen bereits vorhandenen Ressourcentyp laden, indem Sie im Dropdown-Menü "File" die Option "Load Resource Type" wählen. Diese Funktion ist nützlich, wenn Sie einen vorhandenen Ressourcentyp klonen möchten. Weitere Informationen finden Sie unter Erneute Verwendung von mit Agent Builder erstelltem Code .