Sun Cluster Entwicklerhandbuch Datendienste für Solaris OS

Kapitel 10 Generische Datendienste

Dieses Kapitel enthält Informationen zum generischen Datendienst (Generic Data Service, GDS) und zeigt, wie Sie mithilfe von SunPlex Agent Builder oder den standardmäßigen Sun Cluster-Verwaltungsbefehlen einen Dienst erstellen können, der GDS verwendet.

Überblick über GDS

Der GDS ist ein Mechanismus, mit dem einfache Anwendungen mit Netzwerkunterstützung durch Integration in das Sun Cluster Ressourcengruppenverwaltungs-Framework mit hoher Verfügbarkeit bzw. Skalierbarkeit ausgestattet werden. Dieser Mechanismus erfordert keine Agentencodierung, wie dies sonst beim Einrichten von hoher Verfügbarkeit bzw. Skalierbarkeit üblich ist.

Der GDS ist ein einzelner, vorkompilierter Datendienst. Der vorkompilierte Datendienst und seine Komponenten, die Implementierungen der Rückmeldemethoden (rt_callbacks(1HA)) und die Ressourcentyp-Registrierungsdatei (rt_reg( 4)) können nicht geändert werden.

Vorkompilierter Ressourcentyp

Der Ressourcentyp des generischen Datendienstes SUNW.gds ist im SUNWscgds-Paket enthalten. Das Dienstprogramm scinstall(1M) installiert dieses Paket während der Cluster-Installation. Das SUNWscgds-Paket enthält folgende Dateien:


# pkgchk -v SUNWscgds

/opt/SUNWscgds
/opt/SUNWscgds/bin
/opt/SUNWscgds/bin/gds_monitor_check
/opt/SUNWscgds/bin/gds_monitor_start
/opt/SUNWscgds/bin/gds_monitor_stop
/opt/SUNWscgds/bin/gds_probe
/opt/SUNWscgds/bin/gds_svc_start
/opt/SUNWscgds/bin/gds_svc_stop
/opt/SUNWscgds/bin/gds_update
/opt/SUNWscgds/bin/gds_validate
/opt/SUNWscgds/etc
/opt/SUNWscgds/etc/SUNW.gds

Gründe für die Verwendung des GDS

Die Verwendung des GDS hat folgende Vorteile gegenüber der Verwendung des von SunPlex Agent Builder generierten Quellcodemodells (siehe scdscreate( 1HA)) oder den Standardverwaltungsbefehlen von Sun Cluster:

Erstellungsarten eines Dienstes, der GDS verwendet

Es gibt zwei Möglichkeiten zur Erstellung eines Dienstes, der den GDS verwendet:

GDS und SunPlex Agent Builder

Verwenden Sie SunPlex Agent Builder, und wählen Sie GDS als den Typ des generierten Quellcodes aus. Die Benutzereingabe wird für das Generieren eines Satzes treibender Skripts verwendet, die Ressourcen für die entsprechende Anwendung konfigurieren.

GDS und die Standardverwaltungsbefehle von Sun Cluster

Diese Methode verwendet den vorkompilierten Datendienstcode in SUNWscgds. Dabei muss jedoch der Systemverwalter die Standardverwaltungsbefehle von Sun Cluster (scrgadm(1M) und scswitch(1M)) verwenden, um die Ressource zu erstellen und zu konfigurieren.

Auswahl der Methode für die Erstellung eines GDS-basierten Dienstes

Wie in den Verfahren So verwenden Sie Sun Cluster-Verwaltungsbefehle zum Erstellen eines hoch verfügbaren Dienstes mit GDS und Standardverwaltungsbefehle von Sun Cluster für das Erstellen eines Scalable-Dienstes mit GDS gezeigt, bedeutet die Ausgabe der geeigneten scrgadm- und scswitch-Befehle erheblichen Schreibaufwand.

Die Verwendung des GDS mit SunPlex Agent Builder vereinfacht den Prozess, da dadurch die treibenden Skripts generiert werden, welche die scrgadm- und scswitch-Befehle für Sie ausgeben.

Fälle, in denen der GDS-Mechanismus nicht geeignet ist

Obwohl die Verwendung von GDS große Vorteile bietet, ist sein Einsatz in manchen Fällen ungeeignet. In folgenden Fällen sollte der GDS nicht verwendet werden:

Erforderliche Eigenschaften für GDS

Folgende Eigenschaften müssen bereitgestellt werden:

Start_command-Erweiterungseigenschaft

Der Start-Befehl, den Sie in der Start_command-Erweiterungseigenschaft angeben, startet die Anwendung. Dabei muss es sich um einen UNIX-Befehl zusammen mit den entsprechenden Argumenten handeln, die direkt an eine Shell übergeben werden können, um die Anwendung zu starten.

Port_list-Eigenschaft

Die Port_list-Eigenschaft identifiziert die Liste der Ports, die von der Anwendung abgehört werden. Die Port_list-Eigenschaft muss im Start-Skript angegeben werden, das von SunPlex Agent Builder erstellt wird, bzw. im scrgadm-Befehl, wenn Sie die Standardverwaltungsbefehle von Sun Cluster verwenden.

Optionale Eigenschaften für GDS

Optionale GDS-Eigenschaften sind:

Eigenschaft Network_resources_used

Der Standardwert für diese Eigenschaft ist Null. Diese Eigenschaft muss angegeben werden, wenn die Anwendung an eine oder mehrere spezifische Adressen gebunden werden muss. Wenn diese Eigenschaft ausgelassen oder als Null angegeben wird, wird davon ausgegangen, dass die Anwendung alle Adressen abhört.

Vor Erstellen der GDS-Ressource muss bereits eine LogicalHostname- oder SharedAddress-Ressource konfiguriert worden sein. In Sun Cluster Data Services Planning and Administration Guide for Solaris OS finden Sie Informationen zum Konfigurieren einer LogicalHostname- bzw. SharedAddress-Ressource.

Um einen Wert anzugeben, geben Sie einen oder mehrere Ressourcennamen an. Jeder Ressourcenname kann einen oder mehrere LogicalHostname bzw. eine oder mehrere SharedAddress enthalten. Einzelheiten finden Sie unter r_properties(5).

Stop_command-Eigenschaft

Der Stopp-Befehl muss die Anwendung stoppen und erst dann einen Wert zurückgeben, wenn die Anwendung vollständig gestoppt wurde. Dabei muss es sich um einen vollständigen UNIX-Befehl handeln, der direkt an eine Shell zum Stoppen der Anwendung übergeben werden kann.

Wenn der Stop_command bereitgestellt wird, startet die GDS-Stopp-Methode den Stopp-Befehl mit 80% der Stopp-Zeitüberschreitung. Unabhängig vom Ergebnis der Ausgabe des Stopp-Befehls sendet die GDS-Stopp-Methode SIGKILL mit 15% der Stopp-Zeitüberschreitung. Die restlichen 5% der Zeit werden für Systemverwaltungsaufwand reserviert.

Wenn der Stopp-Befehl ausgelassen wird, versucht der GDS, die Anwendung unter Verwendung des in Stop_signal angegebenen Signals anzuhalten.

Probe_command-Eigenschaft

Der Testsignal-Befehl prüft in regelmäßigen Abständen die Fehlerfreiheit einer bestimmten Anwendung. Dabei muss es sich um einen UNIX-Befehl zusammen mit den entsprechenden Argumenten handeln, der direkt an eine Shell zum Testen der Anwendung übergeben werden kann. Der Testsignal-Befehl gibt einen Beendigungsstatus von 0 zurück, wenn die Anwendung fehlerfrei läuft.

Der Beendigungsstatus des Testsignal-Befehls dient zum Feststellen, wie schwerwiegend der Fehler der Anwendung ist. Dieser Beendigungsstatus, der als Testsignal-Status bezeichnet wird, muss eine Ganzzahl zwischen 0 (Erfolg) und 100 (Totalfehlschlag) sein. Der Testsignal-Status kann auch der Sonderwert 201 sein, was ein sofortiges Failover der Anwendung zur Folge hat, es sei denn, Failover_enabled ist auf “false” eingestellt. Der Testsignal-Status wird innerhalb des GDS-Testalgorithmus verwendet (siehe scds_fm_action(3HA)), um zu entscheiden, ob die Anwendung lokal neu gestartet oder ob ein Failover auf einen anderen Knoten ausgeführt wird. Bei einem Beendigungsstatus von 201 wird für die Anwendung sofort ein Failover ausgeführt.

Wenn der Testsignal-Befehl ausgelassen wird, stellt der GDS sein eigenes einfaches Testsignal bereit, mit dem eine Verbindung mit der Anwendung über den Satz von IP-Adressen hergestellt wird, die aus der Eigenschaft Network_resources_used bzw. der Ausgabe von scds_get_netaddr_list(3HA) abgeleitet werden. Wenn die Verbindung erfolgreich ist, wird sie sofort wieder getrennt. Wenn sowohl die Verbindungsherstellung als auch die Verbindungstrennung erfolgreich verlaufen, wird davon ausgegangen, dass die Anwendung fehlerfrei läuft.


Hinweis –

Das von dem GDS bereitgestellte Testsignal soll lediglich ein einfacher Ersatz für das voll funktionsfähige anwendungsspezifische Testsignal sein.


Start_timeout-Eigenschaft

Diese Eigenschaft gibt die Start-Zeitüberschreitung für den Start-Befehl an (siehe Start_command-Erweiterungseigenschaft für weitere Informationen). Der Standardwert für Start_timeout ist 300 Sekunden.

Stop_timeout-Eigenschaft

Diese Eigenschaft gibt die Stopp-Zeitüberschreitung für den Stopp-Befehl an (siehe Stop_command-Eigenschaft für weitere Informationen). Der Standardwert für Stop_timeout ist 300 Sekunden.

Probe_timeout-Eigenschaft

Diese Eigenschaft gibt den Zeitüberschreitungswert für den Testsignal-Befehl an (siehe Probe_command-Eigenschaft für weitere Informationen). Der Standardwert für Probe_timeout ist 30 Sekunden.

Eigenschaft Child_mon_level

Diese Eigenschaft steuert, welche Prozesse durch PMF überwacht werden. Sie hält die Ebene fest, bis zu der die verzweigten untergeordneten Prozesse überwacht werden. Sie ist vergleichbar mit dem -C-Argument für den Befehl pmfadm(1M).

Wenn diese Eigenschaft ausgelassen bzw. der Standardwert auf -1 gesetzt wird, hat dies die gleiche Wirkung wie das Auslassen der Option -C für den pmfadm-Befehl; es werden also alle untergeordneten Prozesse überwacht.


Hinweis –

Diese Option kann nur unter Verwendung der Standardverwaltungsbefehle von Sun Cluster angegeben werden. Sie kann nicht angegeben werden, wenn SunPlex Agent Builder verwendet wird.


Failover_enabled-Eigenschaft

Diese boolesche Erweiterungseigenschaft steuert das Failover-Verhalten der Ressource. Wenn diese Erweiterungseigenschaft auf true gesetzt wird, führt die Anwendung ein Failover aus, sobald die Anzahl der Neustarts den Wert von retry_count innerhalb der Anzahl Sekunden aus retry_interval überschreitet.

Wenn die Erweiterungseigenschaft auf false eingestellt ist, startet die Anwendung nicht neu bzw. führt ein Failover auf einen anderen Knoten aus, wenn die Anzahl der Neustarts den Wert von retry_count innerhalb der Anzahl Sekunden aus retry_interval übersteigt.

Diese Erweiterungseigenschaft kann verwendet werden, um zu verhindern, dass die Anwendungsressource ein Failover der Ressourcengruppe einleitet. Der Standardwert ist true.

Stop_signal-Eigenschaft

Der GDS verwendet den Wert dieser Ganzzahl-Erweiterungseigenschaft, um das Signal zu bestimmen, das für das Stoppen der Anwendung über PMF verwendet wird. Eine Liste der Ganzzahlwerte, die angegeben werden können, finden Sie unter signal(3HEAD). Der Standardwert ist 15 (SIGTERM).

Verwenden von SunPlex Agent Builder zum Erstellen eines Dienstes, der GDS verwendet

Sie können SunPlex Agent Builder zum Erstellen des Dienstes einsetzen, der den GDS verwendet. SunPlex Agent Builder wird in Kapitel 9 genauer beschrieben.

Erstellen eines Dienstes mit GDS in SunPlex Agent Builder

Erstellen eines Dienstes mit GDS in Agent Builder
  1. Starten Sie SunPlex Agent Builder.


    # /usr/cluster/bin/scdsbuilder
    
  2. Das Fenster “SunPlex Agent Builder” wird angezeigt.

    Dialogfeld mit dem Titel "SunPlex Agent Builder", das den Hauptbildschirm von Agent Builder anzeigt
  3. Geben Sie den Herstellernamen ein.

  4. Geben Sie den Anwendungsnamen ein.


    Hinweis –

    Die Kombination aus Herstellernamen und Anwendungsnamen darf neun Zeichen nicht überschreiten. Er dient als Name für das Paket der treibenden Skripts.


  5. Gehen Sie zum Arbeitsverzeichnis.

    Verwenden Sie das Pulldownfeld “Browse”, um ein Verzeichnis auszuwählen, statt den Pfad einzugeben.

  6. Wählen Sie aus, ob der Datendienst “Scalable” oder “Failover” ist.

    Sie müssen “Network Aware” nicht auszuwählen, da die Netzwerkunterstützung bei Erstellung des GDS der Standardwert ist.

  7. Wählen Sie “GDS” aus.

  8. Klicken Sie auf die Schaltfläche “Create”, um die treibenden Skripts zu erstellen.

  9. Das Fenster “SunPlex Agent Builder” zeigt die Ergebnisse der Diensterstellung an. Die Schaltfläche “Create” wird abgeblendet dargestellt. Sie können nun auf die Schaltfläche “Next” klicken.

    Dialogfeld, das den Bildschirm “Create” nach Eingabe von Informationen anzeigt
Konfigurieren der treibenden Skripts

Nach Erstellen der treibenden Skripts muss SunPlex Agent Builder zum Konfigurieren des neuen Dienstes eingesetzt werden.

  1. Klicken Sie auf die Schaltfläche “Next”. Daraufhin wird das Konfigurationsfenster angezeigt.

  2. Geben Sie entweder den Speicherort des Start-Befehls ein, oder verwenden Sie die Schaltfläche “Browse”, um den Start-Befehl zu suchen.

  3. (Optional) Geben Sie den Stopp-Befehl ein, oder verwenden Sie die Schaltfläche “Browse”, um den Stopp-Befehl zu suchen.

  4. (Optional) Geben Sie den Testsignal-Befehl ein, oder verwenden Sie die Schaltfläche “Browse“, um den Testsignal-Befehl zu suchen.

  5. (Optional) Geben Sie die Zeitüberschreitungswerte für die Start-, Stopp- und Testsignal-Befehle an.

  6. Klicken Sie auf “Configure”, um mit der Konfiguration der treibenden Skripts zu beginnen.


    Hinweis –

    Der Paketname besteht aus einer Verkettung des Herstellernamens mit dem Anwendungsnamen.


    Ein Paket für treibende Skripts wird erstellt und unter folgendem Pfad abgelegt:


    <Arbeitsverzeichnis>/<Herstellername><Anwendung>/pkg
    
    Zum Beispiel /export/wdir/NETapp/pkg

  7. Installieren Sie das fertige Paket auf allen Knoten des Clusters.


    # cd /export/wdir/NETapp/pkg
    # pkgadd -d . NETapp
    

  8. Die folgenden Dateien werden während des pkgadd installiert:


    /opt/NETapp
    /opt/NETapp/README.app
    /opt/NETapp/man
    /opt/NETapp/man/man1m
    /opt/NETapp/man/man1m/removeapp.1m
    /opt/NETapp/man/man1m/startapp.1m
    /opt/NETapp/man/man1m/stopapp.1m
    /opt/NETapp/man/man1m/app_config.1m
    /opt/NETapp/util
    /opt/NETapp/util/removeapp
    /opt/NETapp/util/startapp
    /opt/NETapp/util/stopapp
    /opt/NETapp/util/app_config


    Hinweis –

    Die Online-Dokumentation und Skriptnamen entsprechen dem oben eingegebenen Anwendungsnamen, mit vorangestelltem Skriptnamen; zum Beispiel startapp.


    Zum Anzeigen der Online-Dokumentation müssen Sie den Pfad zu dieser Dokumentation angeben. Um zum Beispiel die Online-Dokumentation für startapp anzuzeigen, verwenden Sie:


    # man -M /opt/NETapp/man startapp
    
  9. Konfigurieren Sie die Ressourcen auf einem Knoten des Clusters, und starten Sie die Anwendung.


    # /opt/NETapp/util/startapp -h <logischerHostname> -p <Port- und Protokollliste>
    

    Die Argumente für das Start-Skript sind je nach Ressourcentyp unterschiedlich: Failover oder Scalable. Prüfen Sie die angepasste Online-Dokumentation, oder führen Sie das Start-Skript ohne Argumente aus, um eine Syntaxanweisung zu erhalten.


    # /opt/NETapp/util/startapp
     Der Ressourcenname von LogicalHostname bzw. SharedAddress muss
     angegeben werden.
     Für Failover-Dienste:
     Syntax: startapp -h <logischer Hostname>
              -p <Port- und Protokollliste>
              [-n <IPIM-Gruppe/Adapterliste>]
     Für Scalable-Dienste:
     Syntax: startapp
              -h <gemeinsam genutzer Adressname>
              -p <Port- und Protokollliste>
              [-l <Lastausgleichsverfahren>]
              [-n <IPMP-Gruppe/Adapterliste>]
              [-w <Lastausgleichsgewichtung>]

Ausgabe von SunPlex Agent Builder

SunPlex Agent Builder generiert drei treibende Skripts und eine Konfigurationsdatei, basierend auf Ihren Eingaben während der Paketerstellung. Die Konfigurationsdatei gibt die Namen der Ressourcengruppe und des Ressourcentyps an.

Die treibenden Skripts sind:

Diese treibenden Skripts haben dieselbe Schnittstelle und das gleiche Verhalten wie die Dienstprogrammskripts, die von SunPlex Agent Builder für Nicht-GDS-basierte Agenten generiert werden. Die Skripts werden in einem Solaris-Paket zusammengestellt, das auf mehreren Clustern wiederverwendet werden kann.

Sie können die Konfigurationsdatei anpassen, um eigene Namen für die Ressourcengruppen oder andere Parameter anzugeben, die normalerweise über den scrgadm-Befehl eingegeben werden. Wenn Sie die Skripts nicht anpassen, stellt SunPlex Agent Builder angemessene Standardwerte für die scrgadm-Parameter bereit.

Verwenden der Standardverwaltungsbefehle von Sun Cluster zum Erstellen eines Dienstes mit GDS

In diesem Abschnitt wird beschrieben, wie diese Parameter in den GDS eingegeben werden können. Der GDS wird unter Einsatz der vorhandenen Sun Cluster-Verwaltungsbefehle verwendet und verwaltet, wie zum Beispiel scrgadm und scswitch.

Es ist nicht erforderlich, die in diesem Abschnitt aufgeführten Verwaltungsbefehle auf niedriger Ebene einzugeben, wenn die treibenden Skripts angemessene Funktionalität bereitstellen. Wenn Sie die GDS-basierte Ressource genauer steuern möchten, steht es Ihnen jedoch frei, diese Befehle zu verwenden. Dabei handelt es sich um die Befehle, die von den treibenden Skripts ausgeführt werden.

So verwenden Sie Sun Cluster-Verwaltungsbefehle zum Erstellen eines hoch verfügbaren Dienstes mit GDS
  1. Registrieren Sie den Ressourcentyp SUNW.gds.


    # scrgadm -a -t SUNW.gds
    
  2. Erstellen Sie die Ressourcengruppe, welche die LogicalHostname-Ressource und den Failover-Dienst selbst enthält.


    # scrgadm -a -g haapp_rg
    
  3. Erstellen Sie die Ressource für die LogicalHostname-Ressource.


    # scrgadm -a -L -g haapp_rs -l hhead
    
  4. Erstellen Sie die Ressource für den Failover-Dienst selbst.


    # scrgadm -a -j haapp_rs -g haapp_rg -t SUNW.gds \
             -y Scalable=false -y Start_timeout=120 \
             -y Stop_timeout=120 -x Probe_timeout=120 \
             -y Port_list="2222/tcp" \
             -x Start_command="/export/ha/appctl/start" \
             -x Stop_command="/export/ha/appctl/stop" \
             -x Probe_command="/export/app/bin/probe" \
             -x Child_mon_level=0 -y Network_resources_used=hhead \
             -x Failover_enabled=true -x Stop_signal=9
    
  5. Bringen Sie die Ressourcengruppe haapp_rg online.


    # scswitch -Z -g haapp_rg
    
Standardverwaltungsbefehle von Sun Cluster für das Erstellen eines Scalable-Dienstes mit GDS
  1. Registrieren Sie den Ressourcentyp SUNW.gds.


    # scrgadm -a -t SUNW.gds
    
  2. Erstellen Sie die Ressourcengruppe für die SharedAddress-Ressource.


    # scrgadm -a -g sa_rg
    

  3. Erstellen Sie die SharedAddress-Ressource auf sa_rg.


    # scrgadm -a -S -g sa_rg -l hhead
    
  4. Erstellen Sie die Ressourcengruppe für den Scalable-Dienst.


    # scrgadm -a -g app_rg -y Maximum_primaries=2 \
          -y Desired_primaries=2 -y RG_dependencies=sa_rg
    
  5. Erstellen Sie die Ressourcengruppe für den Scalable-Dienst selbst.


    # scrgadm -a -j app_rs -g app_rg -t SUNW.gds \
           -y Scalable=true -y Start_timeout=120 \
           -y Stop_timeout=120 -x Probe_timeout=120 \
           -y Port_list="2222/tcp" \
           -x Start_command="/export/app/bin/start" \
           -x Stop_command="/export/app/bin/stop" \
           -x Probe_command="/export/app/bin/probe" \
           -x Child_mon_level=0 -y Network_resource_used=hhead \
           -x Failover_enabled=true -x Stop_signal=9 
    
  6. Bringen Sie die Ressourcengruppe, welche die Netzwerkressourcen enthält, online.


     # scswitch -Z -g sa_rg
    
  7. Bingen Sie die Ressourcengruppe app_rg online.


    # scswitch -Z -g app_rg
    

Befehlszeilenschnittstelle für SunPlex Agent Builder

SunPlex Agent Builder verfügt über eine Befehlszeilenschnittstelle mit der gleichen Funktionalität wie die grafische Benutzeroberfläche (GUI). Diese Schnittstelle besteht aus den Befehlen scdscreate( 1HA) und scdsconfig(1HA). Der folgende Abschnitt dient der gleichen Funktion wie das GUI-basierte Verfahren Erstellen eines Dienstes, der GDS verwendet, mit der Befehlszeilenversion von Agent Builder, verwendet jedoch die Nicht-GUI-Schnittstelle.

Erstellen eines Dienstes, der GDS verwendet, mit der Befehlszeilenversion von Agent Builder
  1. Erstellen Sie den Dienst.

    Verwenden Sie für einen Failover-Dienst folgenden Befehl:


    # scdscreate -g -V NET -T app -d /export/wdir
    

    Verwenden Sie für einen Scalable-Dienst folgenden Befehl:


    # scdscreate -g -s -V NET -T app -d /export/wdir
    

    Hinweis –

    Die –d-Parameter sind optional. Falls nicht angegeben, ist das Arbeitsverzeichnis standardmäßig das aktuelle Verzeichnis.


  2. Konfigurieren Sie den Dienst.


    # scdsconfig -s "/export/app/bin/start' -t "/export/app/bin/stop" \
    -m "/export/app/bin/probe" -d /export/wdir
    


    Hinweis –

    Nur der Start-Befehl ist erforderlich. Alle anderen Parameter sind optional.


  3. Installieren Sie das fertige Paket auf allen Knoten des Clusters.


    # cd /export/wdir/NETapp/pkg
    # pkgadd -d . NETapp
    

  4. Die folgenden Dateien werden während des pkgadd installiert:


    /opt/NETapp
    /opt/NETapp/README.app
    /opt/NETapp/man
    /opt/NETapp/man/man1m
    /opt/NETapp/man/man1m/removeapp.1m
    /opt/NETapp/man/man1m/startapp.1m
    /opt/NETapp/man/man1m/stopapp.1m
    /opt/NETapp/man/man1m/app_config.1m
    /opt/NETapp/util
    /opt/NETapp/util/removeapp
    /opt/NETapp/util/startapp
    /opt/NETapp/util/stopapp
    /opt/NETapp/util/app_config


    Hinweis –

    Die Online-Dokumentation und Skriptnamen entsprechen dem oben eingegebenen Anwendungsnamen, mit vorangestelltem Skriptnamen; zum Beispiel startapp.


    Zum Anzeigen der Online-Dokumentation müssen Sie den Pfad zu dieser Dokumentation angeben. Um zum Beispiel die Online-Dokumentation für startapp anzuzeigen, verwenden Sie:


    # man -M /opt/NETapp/man startapp
    
  5. Konfigurieren Sie die Ressourcen auf einem Knoten des Clusters, und starten Sie die Anwendung.


    # /opt/NETapp/util/startapp -h <logischerHostname> -p <Port- und Protokollliste>
    

    Die Argumente für das Start-Skript sind je nach Ressourcentyp unterschiedlich: Failover oder Scalable. Prüfen Sie die angepasste Online-Dokumentation, oder führen Sie das Start-Skript ohne Argumente aus, um eine Syntaxanweisung zu erhalten.


    # /opt/NETapp/util/startapp
     Der Ressourcenname von LogicalHostname bzw. SharedAddress muss
     angegeben werden.
     Für Failover-Dienste:
     Syntax: startapp -h <logischer Hostname>
              -p <Port- und Protokollliste>
              [-n <IPMP-Gruppe/Adapterliste>]
     Für Scalable-Dienste:
     Syntax: startapp
              -h <gemeinsam genutzter Adressname>
              -p <Port- und Protokollliste>
              [-l <Lastausgleichsverfahren>]
              [-n <IPMP-Gruppe/Adapterliste>]
              [-w <Lastausgleichsgewichte>]