Sun Cluster Entwicklerhandbuch Datendienste für Solaris OS

Kapitel 9 SunPlex Agent Builder

In diesem Kapitel wird SunPlex Agent Builder und das Cluster Agent-Modul für Agent Builder beschrieben. Mit beiden Tools wird die Erstellung von Ressourcentypen oder Datendiensten automatisiert, die unter dem Resource Group Manager (RGM) ausgeführt werden sollen. Ein Ressourcentyp ist ein Wrapper um eine Anwendung. Dadurch kann die Anwendung in einer Cluster-Umgebung unter der Steuerung von RGM ausgeführt werden.

Dieses Kapitel behandelt die folgenden Themen:

Agent Builder Überblick

Agent Builder stellt eine Benutzeroberfläche für die Eingabe von Informationen zur Anwendung und zum zu erstellenden Ressourcentyp bereit. Agent Builder unterstützt Anwendungen mit Netzwerkunterstützung und Anwendungen ohne Netzwerkunterstützung. Anwendungen mit Netzwerkunterstützung verwenden das Netzwerk zur Kommunikation mit Clients. Anwendungen ohne Netzwerkunterstützung sind eigenständige Anwendungen.


Hinweis –

Wenn die GUI-Version von Agent Builder nicht aufgerufen werden kann, können Sie Agent Builder über eine Befehlszeilenschnittstelle aufrufen. Weitere Informationen finden Sie unter So verwenden Sie die Befehlszeilenversion von Agent Builder .


Basierend auf den von Ihnen angegebenen Informationen erstellt Agent Builder die folgende Software:

Mit Agent Builder können Sie auch einen Ressourcentyp für eine Anwendung generieren, die mehrere unabhängige Prozessbaumstrukturen aufweist, welche PMF (Process Monitor Facility) einzeln überwachen und neu starten muss.

Vor der Verwendung von Agent Builder

Vor der Verwendung von Agent Builder müssen Sie wissen, wie Ressourcentypen mit mehreren unabhängigen Prozessbäumen erstellt werden.

Agent Builder kann Ressourcentypen für Anwendungen erstellen, die mehr als einen unabhängigen Prozessbaum aufweisen können. Diese Prozessbäume sind in dem Sinne unabhängig, dass sie von PMF einzeln überwacht und gestartet werden. PMF startet jeden Prozessbaum mit seinem eigenem Tag.


Hinweis –

Mithilfe von Agent Builder können Sie Ressourcentypen mit mehreren unabhängigen Prozessbäumen nur dann erstellen, wenn der angegebene generierte Quellcode C- oder GDS-Code darstellt. Für die Korn-Shell können diese Ressourcentypen nicht mit Agent Builder erstellt werden. Um diese Ressourcentypen für die Korn-Shell zu erstellen, müssen Sie den Code manuell schreiben.


Im Fall einer Basisanwendung mit mehreren unabhängigen Prozessbaumstrukturen können Sie keinen einzelnen Befehl für das Starten der Anwendung angeben. Stattdessen muss eine Textdatei erstellt werden, in der jede Zeile den vollständigen Pfad zum Start-Befehl für eine der Prozessbaumstrukturen der Anwendung enthält. Diese Datei darf keine leeren Zeilen beinhalten. Sie können diese Textdatei im Textfeld "Start Command" im Bildschirm "Configure" von Agent Builder angeben.

Wenn sichergestellt ist, dass diese Datei keine Berechtigungen zum Ausführen hat, kann Agent Builder diese Datei unterscheiden. Der Zweck dieser Datei besteht darin, mehrere Prozessbäume aus einem einzigen ausführbaren Skript heraus zu starten, das mehrere Befehle enthält. Wenn diese Textdatei Berechtigungen zum Ausführen erhält, werden die Ressourcen ohne Probleme oder Fehler auf einem Cluster aufgerufen. Es werden jedoch alle Befehle unter einem PMF-Tag gestartet. Folglich kann PMF die Prozessbäume nicht einzeln überwachen und neu starten.

Verwenden von Agent Builder

In diesem Abschnitt wird die Verwendung von Agent Builder beschrieben. Außerdem enthält dieser Abschnitt Aufgaben, die Sie vor der Verwendung von Agent Builder durchführen müssen. Der Abschnitt erläutert auch, auf welche Arten Agent Builder nach dem Generieren des Ressourcentypcodes eingesetzt werden kann.

Folgende Themen werden behandelt:

Analysieren der Anwendung

Vor der Verwendung von Agent Builder müssen Sie bestimmen, ob die Anwendung, die Sie hoch verfügbar oder skalierbar machen möchten, den erforderlichen Kriterien entspricht. Agent Builder kann diese Analyse nicht ausführen, die lediglich auf den Laufzeiteigenschaften der Anwendung basiert. Analysieren der Eignung einer Anwendung bietet weitere Informationen zu diesem Thema.

Agent Builder kann eventuell nicht immer einen vollständigen Ressourcentyp für Ihre Anwendung erstellen. In den meisten Fällen bietet Agent Builder jedoch zumindest eine Teillösung. Für ausgereiftere Anwendungen ist zum Beispiel zusätzlicher Code erforderlich, der von Agent Builder nicht standardmäßig generiert wird. Beispiele für zusätzlichen Code ist Code, der Validierungsprüfungen für zusätzliche Eigenschaften hinzufügt oder der Parameter optimiert, die Agent Builder nicht offen legt. In diesen Fällen müssen Sie Änderungen an dem generierten Quellcode oder an der RTR-Datei vornehmen. Agent Builder wird so entwickelt, dass genau diese Art der Flexibilität vorhanden ist.

Agent Builder setzt an bestimmten Stellen im generierten Quellcode Kommentare, an denen Sie Ihren eigenen Ressourcentypcode hinzufügen können. Nachdem Sie den Quellcode geändert haben, können Sie das von Agent Builder generierte Makefile verwenden, um den Quellcode neu zu kompilieren und das Ressourcentyppaket neu zu generieren.

Selbst wenn Sie den gesamten Ressourcentypcode selbst schreiben und keinen von Agent Builder generierten Code verwenden, können Sie das von Agent Builder bereitgestellte Makefile und die Struktur zum Erstellen eines Solaris-Pakets für Ihren Ressourcentyp nutzen.

Installieren und Konfigurieren von Agent Builder

Agent Builder muss nicht eigens installiert werden. Agent Builder ist im SUNWscdev-Paket enthalten, das standardmäßig bei der Installation der Sun Cluster-Software installiert wird. Das Sun Cluster Handbuch Softwareinstallation für Solaris OS enthält weitere Informationen.

Prüfen Sie vor der Verwendung von Agent Builder die folgenden Voraussetzungen:


Hinweis –

Sie können mit Agent Builder einen anderen Compiler als den cc-Standardcompiler verwenden. Um einen anderen Compiler zu verwenden, erstellen Sie eine symbolische Verknüpfung in $PATH von cc auf einen anderen Compiler, z.B. gcc. Es kann auch die Compiler-Spezifikation im Makefile (aktuell CC=cc) in den vollständigen Pfad für einen anderen Compiler geändert werden. Ändern Sie zum Beispiel im von Agent Builder generierten Makefile den Eintrag CC=cc in CC=Pfadname/gcc. In diesem Fall können Sie Agent Builder nicht direkt ausführen. Stattdessen müssen Sie die make- und make pkg-Befehle zum Generieren des Datendienstcodes und des Pakets verwenden.


Bildschirme in Agent Builder

Agent Builder ist ein Assistent, der zwei Arbeitsschritte mit jeweils einem Bildschirm umfasst. Agent Builder verfügt über zwei Bildschirme, die Sie durch die Erstellung eines neuen Ressourcentyps führen:

  1. Bildschirm "Create". In diesem Bildschirm geben Sie grundlegende Informationen über den zu erstellenden Ressourcentyp, z.B. seinen Namen und das Arbeitsverzeichnis für die generierten Dateien an. Im Arbeitsverzeichnis wird die Ressourcentypvorlage erstellt und konfiguriert. Außerdem geben Sie die folgenden Informationen an:

    • Die Art der zu erstellenden Ressource (skalierbar oder Failover)

    • Ob die Basisanwendung netzwerkbasiert ist (d.h., ob sie das Netzwerk für die Kommunikation mit deren Clients verwendet)

    • Den zu generierenden Code (C, Korn Shell (ksh) oder GDS)

    Weitere Informationen über GDS finden Sie in Kapitel 10, Generische Datendienste. In diesem Bildschirm müssen Sie alle Informationen angeben und "Create" auswählen, um die entsprechende Ausgabe zu generieren. Anschließend können Sie den Bildschirm "Configure" anzeigen.

  2. Bildschirm "Configure". In diesem Bildschirm müssen Sie die vollständige Befehlszeile angeben, die an eine UNIX-Shell übergeben werden kann, um die Basisanwendung zu starten. Optional können Sie auch Befehle zum Stoppen und Testen der Anwendung angeben. Wenn Sie diese beiden Befehle nicht angeben, verwendet die generierte Ausgabe Signale zum Stoppen der Anwendung und bietet einen Standardtestsignalmechanismus. Eine Beschreibung des Testsignalbefehls finden Sie unter Verwenden des Bildschirms "Configure". Im Bildschirm "Configure" können Sie auch die Zeitüberschreitungswerte für diese drei Befehle ändern: start, stop, probe.

Starten von Agent Builder


Hinweis –

Wenn die GUI-Version von Agent Builder nicht aufgerufen werden kann, können Sie Agent Builder über eine Befehlszeilenschnittstelle aufrufen. Weitere Informationen finden Sie unter So verwenden Sie die Befehlszeilenversion von Agent Builder .


Wenn Sie Agent Builder im Arbeitsverzeichnis für einen bereits vorhandenen Ressourcentyp starten, initialisiert Agent Builder die Bildschirme "Create" und "Configure" für die Werte des bereits vorhandenen Ressourcentyps.

Starten Sie Agent Builder, indem Sie folgenden Befehl eingeben:


% /usr/cluster/bin/scdsbuilder

Der Bildschirm "Create" wird angezeigt.

Abbildung 9–1 Bildschirm "Create" für Agent Builder

Dialogfeld mit dem Titel "SunPlex Agent Builder", das den Hauptbildschirm von Agent Builder anzeigt

Navigieren in Agent Builder

Sie geben in den Bildschirmen "Create" und "Configure" Informationen ein, indem Sie die folgenden Operationen durchführen:

Mit den Schaltflächen unten auf jedem Bildschirm können Sie die Aufgabe beenden, zum nächsten bzw. vorherigen Bildschirm gehen oder Agent Builder beenden. Agent Builder markiert diese Felder nach Bedarf oder blendet sie aus.

Wenn Sie zum Beispiel die Felder ausgefüllt und die gewünschten Optionen auf dem Bildschirm "Create" aktiviert haben, klicken Sie unten im Bildschirm auf "Create". Die Schaltflächen "Previous" und "Next" sind abgeblendet dargestellt, da kein vorheriger Bildschirm vorhanden ist und Sie nicht zum nächsten Schritt weitergehen können, bevor dieser Schritt beendet ist.

Unterer Fensterbereich, in dem die Befehle "Create", "Previous", "Next" und "Cancel" zu sehen sind

Agent Builder zeigt Fortschrittsmeldungen im Bereich "Output Log" unten im Bildschirm an. Sobald Agent Builder beendet wurde, wird eine Erfolgsmeldung oder eine Warnmeldung angezeigt. Die Option "Next" ist hervorgehoben. Falls es sich um den letzten Bildschirm handelt, ist jedoch nur "Cancel" hervorgehoben.

Sie können jederzeit auf "Cancel" klicken, um Agent Builder zu beenden.

Der Befehl "Browse"

In einige Agent Builder-Felder können Sie Informationen eingeben. In anderen Feldern können Sie auf "Browse" klicken, um eine Verzeichnisstruktur zu durchsuchen und eine Datei oder ein Verzeichnis auszuwählen.

Der Befehl "Browse"

Wenn Sie auf "Browse" klicken, wird ein Bildschirm ähnlich der folgenden Abbildung angezeigt.

Bildschirm "Browse" mit einer Dateiliste

Doppelklicken Sie auf einen Ordner, um ihn zu öffnen. Wenn Sie den Cursor auf eine Datei bewegen, wird der Name der Datei im Feld "File Name" angezeigt. Klicken Sie auf "Select", wenn Sie die gewünschte Datei gefunden haben und mit dem Cursor darauf zeigen.


Hinweis –

Wenn Sie nach einem Verzeichnis suchen, zeigen Sie mit dem Cursor auf das gewünschte Verzeichnis und klicken Sie dann auf "Open". Wenn keine Unterverzeichnisse vorhanden sind, schließt Agent Builder das Suchfenster und setzt den Namen des markierten Verzeichnisses in das entsprechende Feld. Wenn das Verzeichnis Unterverzeichnisse hat, klicken Sie auf "Close", um das Suchfenster zu schließen und zum vorherigen Bildschirm zurückzukehren. Agent Builder setzt den Namen des markierten Verzeichnisses in das entsprechende Feld.


Die Symbole in der oberen rechten Ecke des Bildschirms "Browse" übernehmen folgende Aufgaben:

Symbol 

Aufgabe 

Symbol mit Pfeil nach oben

Dieses Symbol führt Sie in der Verzeichnisstruktur eine Ebene nach oben. 

Home-Symbol

Dieses Symbol führt Sie zum Home-Ordner zurück. 

Symbol Neuer Ordner

Dieses Symbol erstellt einen neuen Ordner unter dem aktuell ausgewählten Ordner. 

Symbol zum Wechseln der Ansicht

Dieses Symbol, das zum Umschalten zwischen verschiedenen Ansichten dient, wird für spätere Verwendung vorbehalten.  

Agent Builder-Menüs

Agent Builder enthält die Dropdown-Menüs "File" und "Edit".

Agent Builder-Menü "File"

Das Menü "File" enthält zwei Optionen:

Agent Builder-Menü "Edit"

Das Menü "Edit" enthält die folgenden zwei Optionen:

Verwenden des Bildschirms "Create"

Als ersten Schritt für die Erstellung eines Ressourcentyps muss der Bildschirm "Create" ausgefüllt werden. Dieser Bildschirm wird beim Starten von Agent Builder angezeigt. In der folgenden Abbildung ist der Bildschirm "Create" nach Eingabe von Informationen in den Feldern dargestellt.

Abbildung 9–2 Create-Bildschirm von Agent Builder, nach Eingabe von Informationen

Dialogfeld, das den Bildschirm "Create" nach Eingabe von Informationen anzeigt

Der Bildschirm "Create" enthält die folgenden Felder, Optionsfelder und Kontrollkästchen:


Hinweis –

Wenn der cc-Compiler nicht in der $PATH-Variable angegeben ist, blendet Agent Builder die C-Optionsschaltfläche aus und ermöglicht Ihnen die Auswahl des ksh-Optionsfeldes. Um einen anderen Compiler anzugeben, lesen Sie den Hinweis am Ende von Installieren und Konfigurieren von Agent Builder.


Klicken Sie nach Angabe der erforderlichen Informationen auf "Create". Das Ausgabeprotokoll unten im Bildschirm zeigt an, welche Aktionen Agent Builder ausführt. Sie können im Menü "Edit" den Befehl "Save Output Log" verwenden, um die Informationen im Ausgabeprotokoll zu speichern.

Nach Abschluss des Vorgangs zeigt Agent Builder entweder eine Erfolgsmeldung oder eine Warnmeldung an.


Hinweis –

Obwohl sich der Prozess zum Generieren eines vollständigen Ressourcentyps aus zwei Schritten zusammensetzt, können Sie Agent Builder nach Beenden des ersten Schritts ("Create)" verlassen, ohne die eingegebenen Informationen oder die von Agent Builder geleistete Arbeit zu verlieren. Weitere Informationen finden Sie unter Erneute Verwendung von mit Agent Builder erstelltem Code .


Verwenden des Bildschirms "Configure"

Der Bildschirm "Configure", in der folgenden Abbildung dargestellt, wird angezeigt, nachdem Agent Builder die Erstellung des Ressourcentyps beendet hat und Sie im Bildschirm "Create" auf "Next" klicken. Auf den Bildschirm "Configure" kann erst dann zugegriffen werden, wenn der Ressourcentyp erstellt worden ist.

Abbildung 9–3 Bildschirm "Configure" für Agent Builder

Dialogfeld, das den Bildschirm "Configure" zeigt

Der Bildschirm "Configure" enthält folgende Felder:

Verwenden der Korn Shell-basierten $hostnames-Variable von Agent Builder

Für viele Anwendungen, insbesondere netzwerkbasierte Anwendungen, muss der Hostname, an dem die Anwendung Kundenanforderungen abhört und bedient, an die Anwendung in der Befehlszeile übergeben werden. Daher ist der Hostname in vielen Fällen ein Argument, das für Start-, Stopp- und Testsignal-Befehle für den Zielressourcentyp angegeben werden muss (im Bildschirm "Configure"). Der Name des Hosts, auf dem eine Anwendung Anforderungen empfängt, ist jedoch Cluster-spezifisch. Der Hostname wird ermittelt, wenn die Ressource auf einem Cluster ausgeführt wird. Der Hostname kann nicht ermittelt werden, wenn Agent Builder den Ressourcentypcode generiert.

Um dieses Problem zu lösen, bietet Agent Builder die $hostnames-Variable, die Sie in der Befehlszeile für die Start-, Stopp- und Testsignal-Befehle angeben können.


Hinweis –

Die $hostnames-Variable wird ausschließlich für die Verwendung mit Korn-Shell-basierten Diensten unterstützt. Für die Verwendung mit C- und GDS-basierten Diensten wird die $hostnames-Variable nicht unterstützt.


Sie geben die $hostnames-Variable genau so an, wie Sie dies mit einem tatsächlichen Hostnamen tun würden, zum Beispiel:


% /opt/network_aware/echo_server -p Port-Nummer -l $hostnames

Wenn eine Ressource des Zielressourcentyps auf einem Cluster ausgeführt wird, wird der LogicalHostname- oder SharedAddress-Hostname, der für diese Ressource konfiguriert wird, durch den Wert der $hostnames-Variable ersetzt. Der Hostname wird für diese Ressource in der Ressourceneigenschaft Network_resources_used der Ressource konfiguriert.

Wenn Sie die Eigenschaft Network_resources_used mit mehreren Hostnamen konfigurieren, enthält die $hostnames-Variable alle Hostnamen, jeweils getrennt durch ein Komma.

Verwenden von Eigenschaftsvariablen

Sie können mithilfe von Eigenschaftsvariablen auch die Werte der ausgewählten Sun Cluster-Ressourcentyp-, Ressourcen- und Ressourcengruppeneigenschaften vom RGM-Framework abrufen. Agent Builder durchsucht Ihre Start-, Testsignal- oder Stopp-Befehlszeichenketten nach den Eigenschaftsvariablen und ersetzt diese Variablen durch ihre Werte, bevor Agent Builder den Befehl ausführt.


Hinweis –

Eigenschaftsvariablen werden nicht für die Verwendung mit Korn-Shell-basierten Diensten unterstützt.


Liste der Eigenschaftsvariablen

Dieser Abschnitt enthält eine Liste der Eigenschaftsvariablen, die Sie verwenden können. Die Sun Cluster-Ressourcentyp-, Ressourcen- und Ressourcengruppeneigenschaften werden in Anhang A, Standardeigenschaften beschrieben.

Ressourceneigenschaftsvariablen

Ressourcentypeigenschaftsvariablen

Ressourcengruppeneigenschaftsvariablen

Syntax der Eigenschaftsvariablen

Vor einem Eigenschaftsnamen fügen Sie ein Prozentzeichen (%) ein, um eine Eigenschaftsvariable, wie in diesem Beispiel dargestellt, auszuweisen:

/opt/network_aware/echo_server -t %RS_STOP_TIMEOUT -n %RG_NODELIST

Unter Berücksichtigung des zuvor dargestellten Beispiels kann Agent Builder diese Eigenschaftsvariablen eventuell interpretieren und das echo_server-Skript mit den folgenden Werten starten:

/opt/network_aware/echo_server -t 300 -n phys-node-1,phys-node-2,phys-node-3

So ersetzt Agent Builder Eigenschaftsvariablen

Agent Builder interpretiert die Typen von Eigenschaftsvariablen wie folgt:

Erneute Verwendung von mit Agent Builder erstelltem Code

Agent Builder bietet mehrere Möglichkeiten zur weiteren Nutzung bereits fertig gestellter Arbeiten:

ProcedureSo klonen Sie einen bestehenden Ressourcentyp

Befolgen Sie dieses Verfahren, um einen bereits vorhandenen, von Agent Builder generierten Ressourcentyp zu klonen.

Schritte
  1. Laden Sie einen bestehenden Ressourcentyp mithilfe einer der folgenden Methoden in Agent Builder:

    • Starten Sie Agent Builder für einen bereits vorhandenen Ressourcentyp im Arbeitsverzeichnis, das Sie mit Agent Builder erstellt haben. Stellen Sie sicher, dass das Arbeitsverzeichnis die Datei rtconfig enthält. Agent Builder lädt die Werte für diesen Ressourcentyp in die Bildschirme "Create" und "Configure".

    • Verwenden Sie die Option "Load Resource" im Dropdown-Menü "File".

  2. Ändern Sie das Arbeitsverzeichnis im Bildschirm "Create".

    Wählen Sie mithilfe von "Browse" ein Verzeichnis aus. Die Eingabe eines neuen Verzeichnisnamens ist nicht ausreichend. Nachdem Sie ein Verzeichnis ausgewählt haben, aktiviert Agent Builder wieder die Schaltfläche "Create".

  3. Nehmen Sie am bereits vorhandenen Ressourcentyp die gewünschten Änderungen vor.

    Unter Umständen möchten Sie den Codetyp ändern, der für den Ressourcentyp generiert wird. Wenn Sie zum Beispiel zunächst eine Korn-Shell-Version eines Ressourcentyps erstellen, jedoch im Laufe der Zeit eine C-Version benötigen, können Sie wie folgt vorgehen:

    • Laden Sie den bereits vorhandenen Korn-Shell-Ressourcentyp.

    • Ändern Sie die Sprache für die Ausgabe zu C.

    • Klicken Sie auf "Create", damit Agent Builder eine C-Version des Ressourcentyps erstellt.

  4. Erstellen Sie den geklonten Ressourcentyp.

    1. Klicken Sie auf "Create", um den Ressourcentyp zu erstellen.

    2. Klicken Sie auf "Next", um den Bildschirm "Configure" anzuzeigen.

    3. Klicken Sie zur Konfiguration des Ressourcentyps auf "Configure" und dann zur Fertigstellung auf "Cancel".

Bearbeiten des generierten Quellcodes

Um den Prozess des Erstellens eines Ressourcentyps zu vereinfachen, beschränkt Agent Builder die Informationsmenge, die Sie angeben können, was notwendigerweise den Umfang des generierten Ressourcentyps beschränkt. Um also weitere ausgereifte Funktionen hinzuzufügen, müssen Sie den generierten Quellcode bzw. die RTR-Datei ändern. Beispiele für zusätzliche Funktionen ist Code, der Validierungsprüfungen für zusätzliche Eigenschaften hinzufügt oder Parameter optimiert, die Agent Builder nicht offen legt.

Die Quelldateien befinden sich im Verzeichnis Installationsverzeichnis/RT-Name/src. Agent Builder bettet Kommentare in den Quellcode ein, in den Sie Code hinzufügen können. Diese Kommentare haben für C-Code folgende Form:

/* User added code -- BEGIN vvvvvvvvvvvvvvv */
/* User added code -- END   ^^^^^^^^^^^^^^^ */

Hinweis –

Diese Kommentare sind im Korn-Shell-Quellcode identisch, außer dass das Kommentarzeichen (#) den Anfang eines Kommentars angibt.


So deklariert zum Beispiel RT-Name.h alle Dienstprogrammfunktionen, die von den verschiedenen Programmen verwendet werden. Am Ende der Deklarationenliste befinden sich Kommentare, mit denen Sie weitere Funktionen deklarieren können, die Sie einem der Codes hinzugefügt haben können.

Agent Builder generiert auch das Makefile im Verzeichnis Installationsverzeichnis/RT-Name/src mit entsprechenden Zielen. Verwenden Sie den Befehl make, um den Quellcode neu zu kompilieren. Verwenden Sie den Befehl make pkg, um das Ressourcentyppaket neu zu generieren.

Die RTR-Datei befindet sich im Verzeichnis Installationsverzeichnis/RT-Name/etc. Sie können die RTR-Datei mit einem Standardtexteditor bearbeiten. Weitere Informationen über die RTR-Datei finden Sie unter Einstellen der Ressourcen- und Ressourcentypeigenschaften. Weitere Informationen über Eigenschaften finden Sie in Anhang A, Standardeigenschaften.

ProcedureSo verwenden Sie die Befehlszeilenversion von Agent Builder

Die Befehlszeilenversion von Agent Builder folgt demselben grundlegenden Prozess wie die GUI. Anstatt jedoch Informationen in der GUI anzugeben, übergeben Sie Argumente an die Befehle scdscreate und scdsconfig. Weitere Informationen finden Sie in der Online-Dokumentation unter scdscreate(1HA) und scdsconfig(1HA).

Befolgen Sie diese Schritte, um die Befehlszeilenversion von Agent Builder zu verwenden.

Schritte
  1. Erstellen Sie mit dem Befehl scdscreate eine Sun Cluster-Ressourcentypvorlage, um eine Anwendung mit hoher Verfügbarkeit oder Skalierbarkeit auszustatten.

  2. Verwenden Sie scdsconfig, um die mit scdscreate erstellte Ressourcentypvorlage zu konfigurieren.

    Sie können auch Eigenschaftsvariablen festlegen. Die Eigenschaftsvariablen werden im Abschnitt Verwenden von Eigenschaftsvariablen beschrieben.

  3. Ändern Sie die Verzeichnisse in das pkg-Unterverzeichnis im Arbeitsverzeichnis.

  4. Verwenden Sie den Befehl pkgadd zur Installation der mit scdscreate erstellten Pakete.

    • Geben Sie für Solaris 10 OS in einer Zonenumgebung als globaler Administrator in der globalen Zone den folgenden Befehl ein:


      # pkgadd -G -d . Paketname
      

      Das von Ihnen angegebene Paket wird zur globalen Zone hinzugefügt, vorausgesetzt, der Inhalt des Pakets wirkt sich nicht auf einen Bereich der globalen Zone aus, die mit einer nicht-globalen Zone gemeinsam genutzt wird.

    • Für jede andere Version von Solaris OS oder Solaris 10 OS in einer Umgebung ohne Zonen geben Sie folgenden Befehl ein:


      # pkgadd -d . Paketname
      
  5. (Optional) Bearbeiten Sie den generierten Quellcode.

  6. Führen Sie das Start-Skript aus.

Von Agent Builder erstellte Verzeichnisstruktur

Agent Builder erstellt eine Verzeichnisstruktur, in der sich alle Dateien befinden, die für den Zielressourcentyp generiert werden. Das Arbeitsverzeichnis wird im Bildschirm "Create" angegeben. Sie müssen für jeden weiteren entwickelten Ressourcentyp ein eigenes Installationsverzeichnis angeben. Unter dem Arbeitsverzeichnis erstellt Agent Builder ein Unterverzeichnis, dessen Name eine Verkettung aus dem Herstellernamen und dem Ressourcentypnamen ist. Wenn Sie zum Beispiel SUNW als Herstellernamen angeben und einen Ressourcentyp mit dem Namen ftp erstellen, erstellt Agent Builder ein Verzeichnis mit dem Namen SUNWftp unter dem Arbeitsverzeichnis.

Unter diesem Unterverzeichnis erstellt Agent Builder die Verzeichnisse, die in der folgenden Tabelle aufgelistet sind.

Verzeichnisname 

Inhalt 

bin

Für C-Ausgabe; enthält die Binärdateien, die aus den Quelldateien kompiliert werden. Für Korn-Shell-Ausgabe; enthält dieselben Dateien wie das src-Verzeichnis.

etc

Enthält die RTR-Datei. Agent Builder verkettet den Herstellernamen mit dem Anwendungsnamen, getrennt durch einen Punkt (.), um den RTR-Dateinamen zu bilden. Wenn der Herstellername zum Beispiel SUNW lautet und der Name des Ressourcentyps ftp, lautet der Name der RTR-Datei SUNW.ftp.

man

Enthält eine angepasste Online-Dokumentation zu den Dienstprogrammskripts start, stop und remove, z.B. startftp(1M), stopftp(1M) und removeftp(1M).

 

Zum Anzeigen dieser Online-Dokumentation geben Sie den Pfad mit der Option man -M an. Beispiel:


% man -M Installationsverzeichnis/SUNWftp/man removeftp

pkg

Enthält das endgültige Solaris-Paket mit dem erstellten Datendienst. 

src

Enthält die von Agent Builder generierten Quelldateien. 

util

Enthält die Dienstprogrammskripts start, stop und remove, die von Agent Builder generiert werden. Siehe Von Sun Agent Builder erstellte Dienstpgrogrammskripts und Online-Dokumentation. Agent Builder hängt den Anwendungsnamen an die einzelnen Skriptnamen an, z.B. startftp, stopftp und removeftp.

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 .

Cluster Agent Module für Agent Builder

Das Cluster Agent-Modul für Agent Builder ist ein NetBeansTM-Modul. Diese Modul bietet eine GUI, mit der Sie Ressourcentypen für die Sun Cluster-Software über das Sun Java Studio-Produkt (früher Sun ONE Studio) erstellen können.


Hinweis –

Die Sun Java Studio-Dokumentation enthält Informationen über die Einrichtung, Installation und Verwendung des Sun Java Studio-Produkts. Diese Dokumentation finden Sie auf der Website http://wwws.sun.com/software/sundev/jde/documentation/index.html.


ProcedureSo wird das Cluster Agent Modul installiert und eingerichtet

Das Cluster Agent-Modul wird während der Installation der Sun Cluster-Software installiert. Das Sun Cluster-Installationstool legt das Cluster Agent-Modul scdsbuilder.jar im Verzeichnis /usr/cluster/lib/scdsbuilder ab. Um Cluster Agent Module zusammen mit der Sun Java Studio-Software zu verwenden, müssen Sie eine symbolische Verknüpfung zu dieser Datei erstellen.


Hinweis –

Die Sun Cluster- und Sun Java Studio-Produkte sowie Java 1.4 müssen auf dem System, auf dem Cluster Agent Module ausgeführt werden soll, installiert und verfügbar sein.


Schritte
  1. Aktivieren Sie alle Benutzer oder nur sich selbst für die Verwendung des Cluster Agent Module.

    • Um alle Benutzer zu aktivieren, müssen Sie als Superbenutzer angemeldet sein bzw. eine äquivalente Rolle haben und die symbolische Verknüpfung im globalen Modulverzeichnis erstellen:


      # cd /opt/s1studio/ee/modules
      # ln -s /usr/cluster/lib/scdsbuilder/scdsbuilder.jar
      

      Hinweis –

      Wenn Sie die Sun ONE Studio-Software in einem anderen Verzeichnis als /opt/s1studio/ee installiert haben, müssen Sie diesen Verzeichnispfad durch den von Ihnen verwendeten Pfad ersetzen.


    • Wenn Sie nur sich selbst als Benutzer aktivieren möchten, erstellen Sie die symbolische Verknüpfung in Ihrem modules-Unterverzeichnis:


      % cd ~Ihr Stammverzeichnis/ffjuser40ee/modules
      % ln -s /usr/cluster/lib/scdsbuilder/scdsbuilder.jar
      
  2. Stoppen Sie die Sun Java Studio-Software und starten Sie sie erneut.

ProcedureSo starten Sie das Cluster Agent Module

Die folgenden Schritte beschreiben, wie Cluster Agent Module über die Sun Java Studio-Software gestartet wird.


Hinweis –

Die Sun Java Studio-Dokumentation enthält Informationen über die Einrichtung, Installation und Verwendung des Sun Java Studio-Produkts. Diese Dokumentation finden Sie auf der Website http://wwws.sun.com/software/sundev/jde/documentation/index.html.


Schritte
  1. Wählen Sie im Menü "File" von Sun Java Studio die Option "New" oder klicken Sie auf der Symbolleiste auf das entsprechende Symbol.

    Abbildung des Symbols "New" auf der Symbolleiste in der Sun Java Studio-Software

    Der Bildschirm "New Wizard" wird angezeigt.

    Dialogfeld, das den Bildschirm "New Wizard" zeigt
  2. Führen Sie im Fenster "Select a Template" gegebenenfalls einen Bildlauf nach unten aus und klicken Sie auf den Schlüssel neben dem Ordner "Other":

    Abbildung des Schlüssels für den Ordner "Other"

    Der Ordner "Other" wird geöffnet.

    Abbildung des erweiterten Menüs für "Other"
  3. Wählen Sie "Sun Cluster Agent Builder" im Ordner "Other" aus und klicken Sie auf "Next".

    Cluster Agent Module für Sun Java Studio wird gestartet. Der erste Bildschirm "New Wizard - Sun Cluster Agent Builder" wird angezeigt.

    Dialogfeld mit dem ersten Bildschirm "New Wizard Sun Cluster Agent Builder"

Verwenden von Cluster Agent Module

Cluster Agent Module wird genauso wie die Agent Builder-Software verwendet. Die Benutzeroberflächen sind identisch. Die folgende Abbildung zeigt, dass zum Beispiel der Bildschirm "Create" in der Agent Builder-Software und der erste Bildschirm "New Wizard - Sun Cluster Agent Builder" im Cluster Agent Module die gleichen Felder und die gleiche Auswahl enthalten.

Abbildung 9–4 Bildschirm "Create" in der Agent Builder-Software

Dialogfeld, das den Bildschirm "Create" nach Eingabe von Informationen anzeigt

Abbildung 9–5 Bildschirm "New Wizard - Sun Cluster Agent Builder" in Cluster Agent Module

Dialogfeld mit dem Bildschirm "New Wizard Sun Cluster Agent Builder" nach Dateneingabe

Unterschiede zwischen Cluster Agent Module und Agent Builder

Trotz der Ähnlichkeiten zwischen dem Cluster Agent-Modul und Agent Builder, bestehen einige kleine Unterschiede: