Sun Cluster Entwicklerhandbuch Datendienste für Solaris OS

Kapitel 9 SunPlex Agent Builder

Dieses Kapitel beschreibt SunPlex Agent Builder und Cluster Agent Module für Agent Builder. Beides sind Tools, welche die Erstellung von Ressourcentypen bzw. Datendiensten automatisieren, die unter der Steuerung des Ressourcengruppen-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.

In diesem Kapitel werden die folgenden Themen behandelt:

Agent Builder Überblick

Agent Builder stellt eine bildschirmbasierte Benutzeroberfläche für die Eingabe von Informationen zur Anwendung und zum zu erstellenden Ressourcentyp bereit.


Hinweis –

Wenn die grafische Benutzeroberfläche von Agent Builder nicht verfügbar ist, können Sie über eine Befehlszeilenoberfläche auf Agent Builder zugreifen. Siehe So verwenden Sie die Befehlszeilenversion von Agent Builder.


Ausgehend von den Informationen, die Sie eingeben, generiert Agent Builder die folgende Software:

Agent Builder unterstützt Anwendungen mit Netzwerkunterstützung (Anwendungen, die über das Netzwerk mit den Clients kommunizieren) sowie Anwendungen ohne Netzwerkunterstützung (eigenständige Anwendungen). 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. Siehe Erstellen von Ressourcentypen mit mehreren unabhängigen Prozessbaumstrukturen.

Vor der Verwendung von Agent Builder

Der folgende Abschnitt enthält Informationen, die Sie vor der Verwendung von Agent Builder lesen sollten.

Erstellen von Ressourcentypen mit mehreren unabhängigen Prozessbaumstrukturen

Agent Builder kann Ressourcentypen für Anwendungen erstellen, die mehr als einen unabhängigen Prozessbaum aufweisen können. Diese Prozessbaumstrukturen sind unabhängig in dem Sinn, dass sie PMF-Monitoren einzeln starten und anhalten. PMF startet jede dieser Prozessbaumstrukturen mit ihrer eigenen Markierung.


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. Der Code zum Erstellen dieser Ressourcentypen für die Korn-Shell muss manuell geschrieben werden.


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 Leerzeilen enthalten. Sie können diese Textdatei im Textfeld "Start Command" im Bildschirm "Configure" angeben.

Wenn sichergestellt ist, dass diese Datei nicht über Ausführungsberechtigungen verfügt, kann Agent Builder die Datei, die dem Starten von mehreren Prozessbaumstrukturen dient, von einem einfachen ausführbaren Skript mit mehreren Befehlen unterscheiden. Wenn die Textdatei Ausführungsberechtigungen enthält, werden zwar die Ressourcen auf einem Cluster ohne Probleme oder Fehler hochgeladen. Alle Befehle werden jedoch unter einer einzigen PMF-Markierung gestartet, was die Möglichkeit ausschließt, die Prozessbaumstrukturen einzeln mit PMF zu überwachen und neu zu starten.

Verwenden von Agent Builder

Dieser Abschnitt beschreibt, wie Agent Builder verwendet wird, einschließlich der Aufgaben, die vor dem Einsatz von Agent Builder ausgeführt werden 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

Bevor Sie Agent Builder verwenden, müssen Sie entscheiden, ob die Anwendung den Kriterien für hohe Verfügbarkeit bzw. Skalierbarkeit entspricht. Agent Builder kann diese Analyse nicht ausführen, die lediglich auf den Laufzeiteigenschaften der Anwendung basiert. Analysieren der Eignung einer Anwendung enthält weitere Informationen zu diesem Thema.

Agent Builder ist möglicherweise nicht immer in der Lage, einen vollständigen Ressourcentyp für Ihre Anwendung zu erstellen. In den meisten Fällen kann Agent Builder jedoch zumindest eine Teillösung liefern. Kompliziertere Anwendungen benötigen zum Beispiel eventuell zusätzlichen Code, den Agent Builder nicht standardmäßig generiert, wie Code zum Hinzufügen von Validierungsprüfungen für zusätzliche Eigenschaften oder zum Einstellen von Parametern, die Agent Builder nicht vorgibt. In diesen Fällen müssen Sie Änderungen an dem generierten Quellcode oder an der RTR-Datei vornehmen. Agent Builder ist für diese flexible Arbeitsweise besonders geeignet.

Agent Builder fügt an bestimmten Stellen des generierten Quellcodes Kommentare ein. Hier können Sie Ihren eigenen spezifischen Ressourcentypcode hinzufügen. 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 im Rahmen einer Standardinstallation der Sun Cluster Software standardmäßig installiert wird. Weitere Informationen hierzu finden Sie im Sun Cluster Handbuch Softwareinstallation für Solaris OS.

Vor der Verwendung von Agent Builder sollte Folgendes überprüft werden.


Hinweis –

Mit Agent Builder kann auch ein anderer Compiler als der cc-Standard-Compiler verwendet werden. Zur Verwendung eines anderen Compilers müssen Sie in $PATH von cc eine symbolische Verknüpfung zu einem anderen Compiler wie gcc erstellen. 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, sondern müssen die Befehle make und make pkg ausführen, um Datendienstcode und ein Paket zu generieren.


Bildschirme in Agent Builder

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

  1. Create. In diesem Bildschirm geben Sie grundlegende Informationen über den zu erstellenden Ressourcentyp wie dessen Namen und das Arbeitsverzeichnis für die erzeugten Dateien ein. Im Arbeitsverzeichnis wird die Ressourcentypvorlage erstellt und konfiguriert. Hier wird auch festgelegt, welche Art Ressource erstellt wird (Scalable oder Failover), ob die Basisanwendung Netzwerkunterstützung hat (das heißt, ob sie das Netzwerk für die Kommunikation mit den Clients verwendet), sowie der zu generierende Codetyp (C, Korn-Shell (ksh) oder GDS). Informationen zum GDS finden Sie unter Kapitel 10, Generische Datendienste. Sie müssen alle erforderlichen Informationen in diesen Bildschirm eingeben und dann auf "Create" klicken, um die entsprechende Ausgabe zu erzeugen. Anschließend können Sie den Bildschirm "Configure" anzeigen.

  2. Configure. In diesem Bildschirm müssen Sie die vollständige Befehlszeile angeben, die zum Starten Ihrer Basisanwendung an eine UNIX®-Shell übergeben werden soll. Optional können Sie auch Befehle zum Stoppen und Testen der Anwendung angeben. Wenn Sie diese Befehle nicht angeben, verwendet die erzeugte Ausgabe Signale zum Stoppen der Anwendung und stellt einen Standardtestmechanismus bereit. Eine Beschreibung des Befehls "Probe" finden Sie unter Verwenden des Bildschirms "Configure". Über diesen Bildschirm können auch die Zeitüberschreitungswerte für jeden dieser drei Befehle geändert werden.

Starten von Agent Builder


Hinweis –

Wenn die grafische Benutzeroberfläche von Agent Builder nicht verfügbar ist, können Sie über eine Befehlszeilenoberfläche auf Agent Builder zugreifen. Siehe So verwenden Sie die Befehlszeilenversion von Agent Builder.



Hinweis –

Wenn Sie Agent Builder vom Arbeitsverzeichnis für einen vorhandenen Ressourcentyp aus starten, initialisiert Agent Builder die Bildschirme "Create" und "Configure" mit den Werten des vorhandenen Ressourcentyps.


Agent Builder wird durch die Eingabe des folgenden Befehls gestartet:


% /usr/cluster/bin/scdsbuilder

Der Bildschirm "Create" wird angezeigt.

Abbildung 9–1 Bildschirm "Create"

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

Navigieren in Agent Builder

In die Bildschirme "Create" und "Configure" können Informationen auf folgende Weisen eingegeben werden:

Mit den Optionen unten auf jedem Bildschirm können Sie die Aufgabe beenden, zum nächsten bzw. vorherigen Bildschirm gehen oder Agent Builder beenden. Agent Builder kennzeichnet die jeweils verfügbaren Optionen durch Hervorhebung. Nicht verfügbare Optionen werden abgeblendet dargestellt.

Wenn Sie zum Beispiel die Felder ausgefüllt und die gewünschten Optionen im 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 Ausgabeprotokollbereich unten auf dem Bildschirm an. Wenn Agent Builder die Ausführung fertig gestellt hat, wird eine Erfolgsmeldung angezeigt, bzw. eine Warnmeldung, die zum Einsehen des Ausgabeprotokolls auffordert. Die Option "Next" ist hervorgehoben. Falls es sich um den letzten Bildschirm handelt, ist jedoch nur "Cancel" hervorgehoben.

Sie können jederzeit "Cancel" wählen, um Agent Builder zu beenden.

Auswählen

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

Der Befehl "Browse"

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

Bildschirm "Browse" mit einer Dateiliste

Doppelklicken Sie auf einen Ordner, um ihn zu öffnen. Wenn Sie mit dem Cursor auf eine Datei zeigen, 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 Verzeichnisses, auf dem sich der Cursor befindet, 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 Verzeichnisses, auf dem sich der Cursor befindet, in das entsprechende Feld.


Die Symbole in der oberen rechten Ecke des Bildschirms haben folgende Funktionen:

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. 

Menüs

Agent Builder verfügt über die Pulldown-Menüs "File" und "Edit".

Menü "File"

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

Menü "Edit"

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

Verwenden des Bildschirms "Create"

Bildschirm "Create"

Als erster Schritt für die Erstellung eines Ressourcentyps muss der Bildschirm "Create" ausgefüllt werden. Dieser Bildschirm wird beim Starten von Agent Builder angezeigt. Die folgende Abbildung zeigt den Bildschirm "Create" nach der Eingabe von Informationen in die Felder.

Abbildung 9–2 Bildschirm "Create"

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

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


Hinweis –

Wenn sich der cc-Compiler nicht in Ihrem $PATH befindet, wird das Optionsfeld "C" abgeblendet dargestellt und Sie können das Optionsfeld "ksh" auswählen. Informationen zum Angeben eines anderen Compilers finden Sie im Hinweis am Ende von Installieren und Konfigurieren von Agent Builder.


Klicken Sie nach Eingabe der erforderlichen Informationen auf "Create". Das Ausgabeprotokollfenster 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) beenden, ohne die eingegebenen Informationen oder die von Agent Builder geleistete Arbeit zu verlieren. Siehe Wiederverwenden fertiger Arbeiten.


Verwenden des Bildschirms "Configure"

Bildschirm "Configure"

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

Abbildung 9–3 Bildschirm "Configure"

Dialogfeld, das den Bildschirm "Configure" zeigt

Der Bildschirm "Configure" enthält folgende Felder:

Verwenden der Korn-Shell-basierten $hostnames-Variablen in Agent Builder

Bei zahlreichen Anwendungen, besonders bei Anwendungen mit Netzwerkunterstützung, muss der Name des Hosts, auf dem die Anwendung Kundenanforderungen empfängt und beantwortet, an die Anwendung in der Befehlszeile übergeben werden. Daher ist der Hostname in vielen Fällen ein Parameter, der 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 bestimmt, wenn die Ressource in einem Cluster ausgeführt wird, und kann nicht bestimmt werden, wenn Agent Builder Ihren Ressourcentypcode erzeugt.

Zum Beheben dieses Problems stellt Agent Builder die $hostnames-Variable bereit, die Sie an 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, ersetzt der für diese Ressource konfigurierte LogicalHostname bzw. SharedAddress-Hostname für die Ressource (in der Ressourceneigenschaft Network_resources_used der Ressource) den Wert der $hostnames-Variablen.

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

Eigenschaftsvariablen

Durch Verwendung von Eigenschaftsvariablen können Sie die Werte von ausgewählten Sun Cluster-Ressourcen-, Ressourcentyp- und Ressourcengruppeneigenschaften aus dem RGM-Framework abrufen. Agent Builder durchsucht Ihr Start-, Testsignal- oder Stopp-Skript nach Eigenschaftsvariablen und ersetzt diese Variablen durch ihre Werte, bevor das Skript gestartet wird.


Hinweis –

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


Liste der Eigenschaftsvariablen

Die folgende Liste enthält die Eigenschaftsvariablen, die Sie in Ihren Skripts verwenden können. Eine Beschreibung der Sun Cluster-Ressourcen-, Ressourcentyp- und Ressourcengruppeneigenschaften finden Sie unter Anhang A, Standardeigenschaften.

Die folgende Liste enthält die verfügbaren Ressourceneigenschaftsvariablen:

Die folgende Liste enthält die verfügbaren Ressourcentyp-Eigenschaftsvariablen:

Die folgende Liste enthält die verfügbaren Ressourcengruppen-Eigenschaftsvariablen:

Syntax der Eigenschaftsvariablen

Eigenschaftsvariablen werden durch Einfügen eines Prozentzeichens (%) vor einem Eigenschaftsnamen angegeben, wie im folgenden Beispiel dargestellt.


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

Agent Builder kann diese Eigenschaftsvariablen interpretieren und das Skript starten. In diesem Beispiel wird das echo_server-Skript mit den folgenden Werten gestartet:


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

So ersetzt Agent Builder Eigenschaftsvariablen

In der folgenden Liste wird beschrieben, wie Agent Builder die verschiedenen Eigenschaftsvariablen interpretiert:

Wiederverwenden fertiger Arbeiten

In Agent Builder können Sie erstellte Elemente auf folgende Weisen wieder verwenden:

So klonen Sie einen bestehenden Ressourcentyp

Führen Sie dieses Verfahren aus, um einen von Agent Builder erstellten vorhandenen Ressourcentyp zu klonen.

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

    • Starten Sie Agent Builder über das Arbeitsverzeichnis (das die Datei rtconfig enthält) für einen bestehenden Ressourcentyp (der mit Agent Builder erstellt wurde). Agent Builder lädt die Werte für diesen Ressourcentyp in die Bildschirme "Create" und "Configure".

    • Verwenden Sie die Option "Load Resource Type" im Pulldown-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 Änderungen vor.

    Mit diesem Verfahren können Sie den für den Ressourcentyp generierten Codetyp ändern. Wenn Sie beispielsweise ursprünglich eine Korn-Shell-Version eines Ressourcentyps erstellt haben, nun aber eine C-Version benötigen, können Sie den bestehenden Korn-Shell-Ressourcentyp laden, die Sprache für die Ausgabe in "C" ändern und dann eine C-Version des Ressourcentyps erzeugen lassen.

  4. Erstellen Sie den geklonten Ressourcentyp.

    Klicken Sie auf "Create", um den Ressourcentyp zu erstellen. Klicken Sie auf "Next", um den Bildschirm "Configure" anzuzeigen. Klicken Sie auf "Configure", um den Ressourcentyp zu konfigurieren, und klicken Sie dann zum Beenden auf "Cancel".

Bearbeiten des generierten Quellcodes

Um den Prozess für die Erstellung eines Ressourcentyps einfach zu halten, beschränkt Agent Builder die Anzahl der Eingaben. Dadurch werden natürlich auch die Einsatzmöglichkeiten für den generierten Ressourcentyp eingeschränkt. Um daher komplexere Funktionen wie zum Beispiel Validierungsprüfungen für zusätzliche Eigenschaften hinzuzufügen oder von Agent Builder nicht vorgegebene Parameter einzustellen, müssen Sie den generierten Quellcode oder die RTR-Datei ändern.

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


/* Vom Benutzer hinzugefügter Code -- BEGIN vvvvvvvvvvvvvvv */
/* Vom Benutzer hinzugefügter Code -- END   ^^^^^^^^^^^^^^^ */


Hinweis –

Diese Kommentare sind im Korn-Shell-Quellcode identisch, jedoch wird der Beginn eines Kommentars durch ein Rautezeichen (#) angegeben.


Zum Beispiel deklariert RT_Name.h alle Dienstprogrammroutinen, welche die verschiedenen Programme verwenden. Am Ende der Deklarationenliste befinden sich Kommentare, mit denen Sie weitere Routinen 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 make-Befehl, um den Quellcode neu zu kompilieren, und den make pkg-Befehl zur Neugenerierung des Ressourcentyppakets.

Die RTR-Datei befindet sich im Verzeichnis Installationsverzeichnis/ RT_Name/etc. Sie können die RTR-Datei mit einem Standardtexteditor bearbeiten. Weitere Informationen zur RTR-Datei finden Sie unter Einstellen der Ressourcen- und Ressourcentypeigenschaften sowie Informationen zu den Eigenschaften unter Anhang A, Standardeigenschaften.

So verwenden Sie die Befehlszeilenversion von Agent Builder

Die Befehlszeilenversion von Agent Builder verwendet denselben Basisprozess wie die Benutzeroberfläche. Hierbei geben Sie jedoch keine Informationen in die Benutzeroberfläche ein, sondern übergeben Parameter an die Befehle scdscreate und scdsconfig. Informationen hierzu finden Sie in der Online-Dokumentation unter scdscreate(1HA) und scdsconfig(1HA).

Führen Sie folgende Schritte aus, um die Befehlszeilenversion von Agent Builder zu verwenden.

  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. Eine Beschreibung der Eigenschaftsvariablen finden Sie unter Eigenschaftsvariablen.

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

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

  5. Falls gewünscht, können Sie den generierten Quellcode bearbeiten.

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

Verzeichnisstruktur

Agent Builder erstellt eine Verzeichnisstruktur, in der alle für den Zielressourcentyp erstellten Dateien abgelegt 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 (aus dem Bildschirm "Create"). Wenn Sie zum Beispiel SUNW als Herstellername 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 und füllt Agent Builder die in der folgenden Tabelle aufgelisteten Verzeichnisse aus.

Verzeichnisname  

Inhalt 

bin

Für C-Ausgabe; enthält die aus den Quelldateien kompilierten Binärdateien. 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 zum Beispiel der Herstellername SUNW und der Ressourcentypname ftp ist, lautet der Name der RTR-Datei SUNW.ftp.

man

Enthält angepasste Online-Dokumentation für die Dienstprogrammskripts start, stop und remove. Zum Beispiel 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 fertige Paket. 

src

Enthält die von Agent Builder generierten Quelldateien. 

util

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

Agent Builder-Ausgabe

Dieser Abschnitt beschreibt die von Agent Builder generierte Ausgabe.

Quell- und Binärdateien

Der 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 und Rückmeldemethoden sowie in der Online-Dokumentation unter rt_callbacks(1HA).

Zur Unterstützung dieses Modells erzeugt Agent Builder im Verzeichnis Installationsverzeichnis/ RT_Name/bin acht ausführbare C-Programme oder Korn-Shell-Skripts, 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 hier aufgelistet:

Spezielle 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 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 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 Datei rtconfig

Wenn Sie C- oder Korn-Shell-Quellcode generieren, generiert Agent Builder eine Konfigurationsdatei rtconfig, welche die an den Bildschirmen "Create" und "Configure" eingegebenen Informationen enthält. Wenn Sie Agent Builder über das Arbeitsverzeichnis für einen bestehenden Ressourcentyp starten (oder einen bestehenden Ressourcentyp durch Auswahl von "Load Resource Type" im Pulldown-Menü "File" laden), liest Agent Builder die Datei rtconfig und fügt die Informationen, die Sie für den bestehenden Ressourcentyp angegeben haben, in die Bildschirme "Create" und "Configure" ein. Diese Funktion ist nützlich, wenn Sie einen vorhandenen Ressourcentyp klonen möchten. Siehe So klonen Sie einen bestehenden Ressourcentyp.

Cluster Agent Module für Agent Builder

Cluster Agent Module für Agent Builder ist ein NetBeansTM-Modul. Damit können die Benutzer des Sun Java Studio-Produkts (früher Sun ONE Studio) mithilfe einer integrierten Entwicklungsumgebung Ressourcentypen oder Datendienste für die Sun Cluster-Software erstellen. Das Cluster Agent Module verfügt über eine bildschirmbasierte Benutzeroberfläche für die Beschreibung der Art von Ressourcentyp, die erstellt werden soll.


Hinweis –

Die Sun Java Studio-Dokumentation documentation enthält Informationen darüber, wie das Sun Java Studio-Produkt eingerichtet, installiert und verwendet wird.


So wird das Cluster Agent Modul installiert und eingerichtet

Cluster Agent Module wird bei der Installation der Sun Cluster-Software installiert. Das Sun Cluster-Installationstool legt die Cluster Agent Module-Datei scdsbuilder.jar in /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.


  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 Java 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.

So starten Sie das Cluster Agent Module

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

  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 Cluster Agent Module und Agent Builder bestehen einige kleine Unterschiede: