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:
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.
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.
Java Runtime Environment ist in Ihrer $PATH-Variable enthalten. Agent Builder ist von Java abhängig (Java Development Kit, mindestens Version 1.3.1). Wenn Java nicht in $PATH enthalten ist, gibt scdsbuilder eine Fehlermeldung aus.
Sie haben die Softwaregruppe "Entwicklersystemunterstützung" von Solaris 8 oder höher installiert.
Der cc-Compiler ist in Ihrer $PATH-Variable enthalten. Agent Builder verwendet das erste Vorkommen von cc in Ihrer $PATH-Variable zur Identifizierung des Compilers, mit dem der C-Binärcode für den Ressourcentyp erstellt werden soll. Wenn cc nicht in $PATH enthalten ist, deaktiviert Agent Builder die Option zum Generieren von C-Code. Siehe Verwenden des Bildschirms "Create".
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.
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:
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.
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.
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.
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.
In die Bildschirme "Create" und "Configure" können Informationen auf folgende Weisen eingegeben werden:
Geben Sie Informationen in ein Feld ein.
Durchsuchen Sie die Verzeichnisstruktur, und wählen Sie eine Datei bzw. ein Verzeichnis aus.
Wählen Sie eine Reihe sich gegenseitig ausschließender Optionsfelder aus, beispielsweise durch Klicken auf "Scalable" oder "Failover".
Aktivieren/Deaktivieren Sie ein Kontrollkästchen. Wenn Sie zum Beispiel "Network Aware" aktivieren, wird die Basisanwendung als Anwendung mit Netzwerkunterstützung identifiziert. Ein deaktiviertes Kontrollkästchen identifiziert dagegen eine Anwendung ohne Netzwerkunterstützung.
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.
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.
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.
Wenn Sie auf "Browse" klicken, wird ein Bildschirm entsprechend der folgenden Abbildung angezeigt.
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.
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:
|
Dieses Symbol führt Sie in der Verzeichnisstruktur eine Ebene nach oben. |
|
Dieses Symbol führt Sie zum Home-Ordner zurück. |
|
Dieses Symbol erstellt einen neuen Ordner unter dem aktuell ausgewählten Ordner. |
|
Dieses Symbol, das zum Umschalten zwischen verschiedenen Ansichten dient, wird für spätere Verwendung vorbehalten. |
Agent Builder verfügt über die Pulldown-Menüs "File" und "Edit".
Das Menü "File" enthält zwei Optionen:
Load Resource Type. Lädt einen bestehenden Ressourcentyp. Agent Builder stellt einen Suchbildschirm bereit, von dem aus Sie das Arbeitsverzeichnis für einen vorhandenen Ressourcentyp auswählen. Wenn ein Ressourcentyp in dem Verzeichnis vorhanden ist, von dem aus Sie Agent Builder starten, lädt Agent Builder automatisch den Ressourcentyp. "Load Resource Type" ermöglicht das Starten von Agent Builder von einem beliebigen Verzeichnis aus und die Auswahl eines vorhandenen Ressourcentyps als Vorlage für das Erstellen eines neuen Ressourcentyps. Siehe So klonen Sie einen bestehenden Ressourcentyp.
Exit. Beendet Agent Builder. Sie können das Tool auch beenden, indem Sie im Bildschirm "Create" oder "Configure" auf "Cancel" klicken.
Das Menü "Edit" enthält die folgenden zwei Optionen:
Clear Output Log. Löscht die Daten aus dem Ausgabeprotokoll. Jedes Mal, wenn Sie "Create" oder "Configure" auswählen, hängt Agent Builder an das Ausgabeprotokoll Statusmeldungen an. Wenn Sie wiederholt Änderungen am Quellcode vornehmen, die Ausgabe in Agent Builder neu generieren und die Statusmeldungen trennen möchten, können Sie die Protokolldatei vor jeder Verwendung speichern und löschen.
Save Log File. Speichert die Protokollausgabe in einer Datei. Agent Builder stellt einen Suchbildschirm bereit, in dem Sie ein Verzeichnis auswählen und einen Dateinamen angeben können.
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.
Der Bildschirm "Create" enthält die folgenden Felder, Optionsfelder und Kontrollkästchen:
Vendor Name. Der Name des Herstellers des Ressourcentyps. In der Regel wird das Börsensymbol des Herstellers angegeben. Es ist jedoch ein beliebiger Name gültig, der den Hersteller eindeutig identifiziert. Es dürfen nur alphanumerische Zeichen verwendet werden.
Application Name. Der Name des Ressourcentyps. Es dürfen nur alphanumerische Zeichen verwendet werden.
Der vollständige Name des Ressourcentyps setzt sich aus Herstellername und Anwendungsname zusammen. Dieser vollständige Name darf nicht länger als neun Zeichen sein.
RT Version. Die Typenversion der erzeugten Ressource. RT Version unterscheidet zwischen mehreren registrierten Versionen (Aufrüstungen) desselben Basisressourcentyps.
Im Feld "RT Version" dürfen die folgenden Zeichen nicht verwendet werden: Leerzeichen, Tabulator, Schrägstrich (/), umgekehrter Schrägstrich (\), Sternchen (*), Fragezeichen (?), Komma (,), Strichpunkt (;), linke eckige Klammer ([) oder rechte eckige Klammer (]).
Working Directory.Das Arbeitsverzeichnis, unter dem Agent Builder eine Verzeichnisstruktur erstellt, in der alle für den Zielressourcentyp erstellten Dateien abgelegt werden. In einem Arbeitsverzeichnis kann jeweils nur ein Ressourcentyp erstellt werden. Agent Builder initialisiert dieses Feld mit dem Pfad zu dem Verzeichnis, von dem aus Sie Agent Builder gestartet haben. Sie können jedoch einen anderen Namen eingeben oder auf "Browse" klicken, um ein anderes Verzeichnis zu suchen.
Unter dem Arbeitsverzeichnis erstellt Agent Builder ein Unterverzeichnis mit dem Ressourcentypnamen. Wenn zum Beispiel SUNW der Herstellernamen und ftp der Anwendungsname ist, nennt Agent Builder das Unterverzeichnis SUNWftp.
Agent Builder legt alle Verzeichnisse und Dateien für den Zielressourcentyp unter diesem Unterverzeichnis ab. Siehe Verzeichnisstruktur.
Scalable oder Failover. Geben Sie an, ob der Zielressourcentyp Failover oder skalierbar sein soll.
Network Aware.Geben Sie an, ob die Basisanwendung über Netzwerkunterstützung verfügt, das heißt, ob sie das Netzwerk für die Kommunikation mit den Clients verwendet. Aktivieren Sie das Kontrollkästchen "Network Aware", wenn die Netzwerkunterstützung aktiviert werden soll. Andernfalls lassen Sie das Kontrollkästchen deaktiviert.
C, ksh.Geben Sie die Sprache des generierten Quellcodes an. Obwohl sich diese Optionen gegenseitig ausschließen, können Sie in Agent Builder einen Ressourcentyp mit Korn-Shell-Code erstellen und dann dieselben Daten zur Erstellung von C-Code verwenden. Siehe So klonen Sie einen bestehenden Ressourcentyp.
GDS.Hiermit geben Sie an, dass dieser Dienst ein generischer Datendienst ist. Informationen zum Erstellen und Konfigurieren eines generischen Datendienstes finden Sie in Kapitel 10, Generische Datendienste.
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.
Wenn Agent Builder diesen Schritt nicht ausführen konnte, lesen Sie die Informationen im Ausgabeprotokoll.
Wenn Agent Builder den Schritt erfolgreich ausführt, können Sie auf "Next" klicken, um den Bildschirm "Configure" anzuzeigen, und die Erzeugung des Ressourcentyps abzuschließen.
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.
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.
Der Bildschirm "Configure" enthält folgende Felder:
Start Command. Die vollständige Befehlszeile, die an eine beliebige UNIX-Shell übergeben werden kann, um die Basisanwendung zu starten. Sie müssen einen Startbefehl angeben. Sie können den Befehl in das dafür vorgesehene Feld eingeben oder die Schaltfläche "Browse" verwenden, um die Datei zu suchen, die den Startbefehl für die Anwendung enthält.
Die vollständige Befehlszeile muss alle erforderlichen Parameter zum Starten der Anwendung enthalten, wie Hostnamen, Port-Nummern, einen Pfad zu Konfigurationsdateien usw. Sie können auch Eigenschaftsvariablen festlegen (siehe Eigenschaftsvariablen). Wenn Ihre Korn-Shell-basierte Anwendung die Angabe eines Hostnamens in der Befehlszeile erfordert, können Sie die Variable $hostnames verwenden, die von Agent Builder definiert wird. Siehe Verwenden der Korn-Shell-basierten $hostnames-Variablen in Agent Builder.
Der Befehl darf nicht in doppelten Anführungszeichen stehen (””).
Wenn die Basisanwendung über mehrere unabhängige Prozessbaumstrukturen verfügt, von denen jede unter einer eigenen Markierung unter PMF-Steuerung (Process Monitor Facility) gestartet wird, kann kein einzelner Befehl angegeben werden. Stattdessen müssen Sie eine Textdatei mit den einzelnen Befehlen zum Starten jeder Prozessbaumstruktur erstellen und im Textfeld "Start Command" den Pfad zu dieser Datei angeben. In Erstellen von Ressourcentypen mit mehreren unabhängigen Prozessbaumstrukturen finden Sie Informationen zu einigen speziellen Eigenschaften, die diese Datei erfüllen muss, um ordnungsgemäß zu funktionieren.
Stop Command. Die vollständige Befehlszeile, die an eine beliebige UNIX-Shell übergeben werden kann, um die Basisanwendung zu stoppen. Sie können den Befehl in das dafür vorgesehene Feld eingeben oder die Schaltfläche "Browse" verwenden, um die Datei zu suchen, die den Stopp-Befehl für die Anwendung enthält. Sie können auch Eigenschaftsvariablen festlegen (siehe Eigenschaftsvariablen). Wenn Ihre Korn-Shell-basierte Anwendung die Angabe eines Hostnamens in der Befehlszeile erfordert, können Sie die Variable $hostnames verwenden, die von Agent Builder definiert wird. Siehe Verwenden der Korn-Shell-basierten $hostnames-Variablen in Agent Builder.
Dieser Befehl ist optional. Wenn Sie keinen Stopp-Befehl angeben, verwendet der generierte Code die folgenden Signale (in der Stopp-Methode), um die Anwendung zu stoppen.
Die Stopp-Methode sendet SIGTERM, um die Anwendung zu stoppen, und wartet 80% des Zeitüberschreitungswertes darauf, dass die Anwendung beendet wird.
Wenn das SIGTERM-Signal nicht erfolgreich ist, sendet die Stopp-Methode SIGKILL, um die Anwendung zu stoppen, und wartet während 15% des Zeitüberschreitungswertes darauf, dass die Anwendung beendet wird.
Ist SIGKILL nicht erfolgreich, wird die Stopp-Methode beendet. Die restlichen 5% des Zeitüberschreitungswertes gelten als Überlastung.
Stellen Sie sicher, dass der Stopp-Befehl keine Antwort zurückgibt, bevor die Anwendung vollständig gestoppt wurde.
Probe Command. Ein Befehl, der in regelmäßigen Abständen ausgeführt werden kann, um die Anwendung auf Fehler zu überprüfen und einen entsprechenden Beendigungsstatus zwischen 0 (Erfolg) und 100 (Totalfehlschlag) zurückzugeben. Dieser Befehl ist optional. Sie können den gesamten Pfad zum Befehl eingeben oder mit der Schaltfläche "Browse" die Datei suchen, die den Befehl für das Testen der Anwendung enthält.
In der Regel wird ein einfacher Client der Basisanwendung angegeben. Wenn Sie keinen Testsignal-Befehl angeben, stellt der generierte Code einfach Verbindungen mit dem von der Ressource verwendeten Port her und trennt diese wieder. Wenn dieser Vorgang erfolgreich verläuft, wird die Anwendung als fehlerfrei deklariert. Sie können auch Eigenschaftsvariablen festlegen (siehe Eigenschaftsvariablen). Wenn Ihre Korn-Shell-basierte Anwendung die Angabe eines Hostnamens in der Probe-Befehlszeile erfordert, können Sie die Variable $hostnames verwenden, die von Agent Builder definiert wird. Siehe Verwenden der Korn-Shell-basierten $hostnames-Variablen in Agent Builder.
Timeout. Ein Zeitüberschreitungswert (in Sekunden) für jeden Befehl. Sie können einen neuen Wert angeben oder den von Agent Builder vorgegebenen Standardwert (300 Sekunden für "start" und "stop", 30 Sekunden für "probe") akzeptieren.
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.
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.
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.
Eigenschaftsvariablen werden nicht für die Verwendung mit Korn-Shell-basierten Diensten unterstützt.
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:
HOSTNAMES
RS_CHEAP_PROBE_INTERVAL
RS_MONITOR_START_TIMEOUT
RS_MONITOR_STOP_TIMEOUT
RS_NAME
RS_NUM_RESTARTS
RS_RESOURCE_DEPENDENCIES
RS_RESOURCE_DEPENDENCIES_WEAK
RS_RETRY_COUNT
RS_RETRY_INTERVAL
RS_SCALABLE
RS_START_TIMEOUT
RS_STOP_TIMEOUT
RS_THOROUGH_PROBE_INTERVAL
SCHA_STATUS
Die folgende Liste enthält die verfügbaren Ressourcentyp-Eigenschaftsvariablen:
RT_API_VERSION
RT_BASEDIR
RT_FAILOVER
RT_INSTALLED_NODES
RT_NAME
RT_RT_VERSION
RT_SINGLE_INSTANCE
Die folgende Liste enthält die verfügbaren Ressourcengruppen-Eigenschaftsvariablen:
RG_DESIRED_PRIMARIES
RG_GLOBAL_RESOURCES_USED
RG_IMPLICIT_NETWORK_DEPENDENCIES
RG_MAXIMUM_PRIMARIES
RG_NAME
RG_NODELIST
RG_NUM_RESTARTS
RG_PATHPREFIX
RG_PINGPONG_INTERVAL
RG_RESOURCE_LIST
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 |
In der folgenden Liste wird beschrieben, wie Agent Builder die verschiedenen Eigenschaftsvariablen interpretiert:
Eine Ganzzahl wird durch ihren tatsächlichen Wert ersetzt (z. B. 300).
Ein boolescher Wert wird durch die Zeichenkette TRUE oder FALSE ersetzt.
Eine Zeichenkette wird durch die tatsächliche Zeichenkette ersetzt (z. B. phys-node-1).
Eine Liste von Zeichenketten wird durch alle Mitglieder der Liste, jeweils durch ein Komma getrennt, ersetzt (z. B. phys-node-1,phys-node-2,phys-node-3).
Eine Liste von Ganzzahlen wird durch alle Mitglieder in der Liste, jeweils durch ein Komma getrennt, ersetzt (z. B.1,2,3).
Ein Aufzählungstyp wird durch seinen Wert in Form einer Zeichenkette ersetzt.
In Agent Builder können Sie erstellte Elemente auf folgende Weisen wieder verwenden:
Sie können einen mit Agent Builder erstellten vorhandenen Ressourcentyp klonen.
Sie können den von Agent Builder erzeugten Quellcode bearbeiten und dann den Code zur Erstellung eines neuen Pakets erneut kompilieren.
Führen Sie dieses Verfahren aus, um einen von Agent Builder erstellten vorhandenen Ressourcentyp zu klonen.
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".
Ä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".
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.
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".
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 ^^^^^^^^^^^^^^^ */ |
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.
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.
Erstellen Sie mit dem Befehl scdscreate eine Sun Cluster-Ressourcentypvorlage, um eine Anwendung mit hoher Verfügbarkeit oder Skalierbarkeit auszustatten.
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.
Ändern Sie die Verzeichnisse in das pkg-Unterverzeichnis im Arbeitsverzeichnis.
Verwenden Sie den Befehl pkgadd zur Installation der mit scdscreate erstellten Pakete.
Falls gewünscht, können Sie den generierten Quellcode bearbeiten.
Führen Sie das Start-Skript aus.