Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

CLUSTER - Globale Eigenschaften einer UTM-Cluster-Anwendung definieren (Unix-, Linux- und Windows-Systeme)

Die CLUSTER-Anweisung dient zur Konfiguration einer UTM-Cluster-Anwendung. Die Operanden der Steueranweisung CLUSTER können auf mehrere CLUSTER-Anweisungen aufgeteilt werden.

Wenn Sie den gleichen Operand in mehreren CLUSTER-Anweisungen angeben, wird die erste Angabe als gültig angenommen. Eine Meldung wird dabei nicht ausgegeben.

Wenn eine CLUSTER-Anweisung angegeben ist, müssen Sie auch mindestens zwei CLUSTER-NODE-Anweisungen angeben. Wenn eine CLUSTER-Anweisung angegeben ist, erzeugt KDCDEF implizit einen BCAMAPPL-Eintrag mit dem in der CLUSTER-Anweisung angegebenen BCAMAPPL-Namen.

Die Wirkung der CLUSTER-Anweisung hängt auch von der Angabe bei der OPTION-Anweisung ab, siehe Abschnitt "OPTION - KDCDEF-Lauf steuern".

Wenn Sie bei einer Neu-Generierung Angaben in der CLUSTER-Anweisung oder den CLUSTER-NODE-Anweisungen ändern, müssen Sie neue UTM-Cluster-Dateien und eine neue KDCFILE erstellen (OPTION GEN=CLUSTER,KDCFILE) und einsetzen, damit die Änderungen wirksam werden.

Ausnahme:

Der Cluster-Pagepool kann im laufenden Betrieb vergrößert werden, d.h. ohne Generierung neuer UTM-Cluster-Dateien. Die Anzahl der Cluster-Pagepool-Dateien darf dabei nicht geändert werden.

CLUSTER

CLUSTER-FILEBASE = cluster_filebase
  ,BCAMAPPL = cluster_applname
  ,LISTENER-PORT = port_number
  ,USER-FILEBASE = user_filebase
[ ,ABORT-BOUND-SERVICE = { NO | YES } ]
[ ,CHECK-ALIVE-TIMER-SEC = time ]
[ ,COMMUNICATION-REPLY-TIMER-SEC = time ]
[ ,COMMUNICATION-RETRY-NUMBER = number ]
[ ,DEADLOCK-PREVENTION = { NO | YES } ]
[ ,EMERGENCY-CMD = command_string1 ]
[ ,FAILURE-CMD = command_string2 ]
[ ,FILE-LOCK-RETRY = number ]
[ ,FILE-LOCK-TIMER-SEC = time ]
[ ,PGPOOL=( number,warnlevel ) ]
[ ,PGPOOLFS=number ]
[ ,RESTART-TIMER-SEC = time ]

[ ,LISTENER-ID=number ]             

Die Operanden CLUSTER-FILEBASE, BCAMAPPL, LISTENER-PORT und USER-FILEBASE müssen immer angegeben werden. Ob und wie sie ausgewertet werden, hängt von der Angabe bei der OPTION-Anweisung ab.

CLUSTER-FILEBASE=cluster_filebase


Namens-Präfix bzw. Dateiverzeichnis für die UTM-Cluster-Dateien. Die UTM-Cluster-Dateien werden z.T. von KDCDEF erzeugt (siehe Liste unten) und z.T. erst zur Laufzeit.

Der Operand CLUSTER-FILEBASE wird nur dann ausgewertet, wenn in der OPTION-Anweisungen GEN=CLUSTER oder GEN=(CLUSTER,...) angegeben wird. In diesem Fall erzeugt KDCDEF folgende Dateien:

  • die Cluster-Konfigurationsdatei

  • die Cluster-User-Datei

  • die Dateien des Cluster-Pagepools.

  • die Cluster-GSSB-Datei

  • die Cluster-ULS-Datei

Diese Dateien dürfen in diesem Fall noch nicht existieren.

Pflichtoperand.

Mit cluster_filebase wird das Dateiverzeichnis definiert, in dem die UTM-Cluster-Dateien abgelegt werden sollen. Das Dateiverzeichnis muss vor dem KDCDEF-Lauf eingerichtet werden.

Die UTM-Cluster-Dateien werden mit den Dateinamen UTM-C.xxxx angelegt, xxxx ist dateispezifisch, siehe Abschnitt  "UTM-Cluster-Dateien" .

Für den Betrieb der UTM-Cluster-Anwendung können die Dateien in ein anderes Dateiverzeichnis umkopiert werden. Geben Sie beim Start einer Anwendung den dann gültigen Namen in den Startparametern an. Der Name darf bis zu 42 Zeichen lang sein und muss der Syntax von Dateinamen genügen.

BCAMAPPL=

cluster_applname

Name des Kommunikationsendpunkts für die Cluster-interne Kommunikation.

Der hier angegebene Name muss verschieden sein von den Namen, die bei MAX APPLINAME, in anderen BCAMAPPL-Anweisungen oder in ACCESS-POINT-Anweisungen beim Operanden TRANSPORT-SELECTOR angegeben wurden. Darüber hinaus darf der hier angegebene Name nicht von anderen Anwendungen auf den Rechnern der UTM-Cluster-Anwendung als Name eines Kommunikationsendpunkts verwendet werden.

Der hier generierte Name darf nicht in anderen Anweisungen (z.B. in der PTERM-Anweisung) als BCAMAPPL-Name referenziert werden.

Der Name kann bis zu 8 Zeichen lang sein.

Pflichtoperand. 

LISTENER-PORT=

port_number

Portnummer für die Cluster-interne Kommunikation.

Dieser Operand legt die Portnummer fest, an der die lokale Anwendung auf Verbindungsaufbauwünsche von außen wartet.

Geben Sie eine beliebige Portnummer zwischen 1 und 65535 an.

Beachten Sie, dass die hier angegebene Portnummer nicht anderweitig auf den Rechnern des UTM-Clusters verwendet werden darf. Die Portnummer muss sich auch von den anderen von dieser Anwendung verwendeten Portnummern unterscheiden. Dies wird jedoch von KDCDEF nicht überprüft.

Pflichtoperand.

USER-FILEBASE=

user_filebase

Namens-Präfix bzw. Dateiverzeichnis für die aktuelle Cluster-User-Datei einer UTM-Cluster-Anwendung. Der Operand USER-FILEBASE wird nur dann ausgewertet, wenn in der OPTION-Anweisungen GEN=KDCFILE, GEN=(KDCFILE,ROOTSRC) oder GEN=ROOTSRC angegeben wird:

  • Bei GEN=KDCFILE oder GEN=(KDCFILE,ROOTSRC) muss die Cluster-User-Datei unter dem Namen existieren, der sich aus user_filebase  ergibt. KDCDEF wertet die Datei aus und erweitert sie gegebenenfalls. Dabei darf die Cluster-User-Datei zeitgleich zu dem KDCDEF-Lauf von einer laufenden UTM-Cluster-Anwendung geöffnet sein.

  • Bei GEN=ROOTSRC darf die Cluster-User-Datei existieren, muss es aber nicht. Wenn sie existiert, dann wird sie geprüft, aber nicht verändert.

Pflichtoperand.

Der Name darf bis zu 42 Zeichen lang sein und muss der Syntax von Dateinamen genügen.

ABORT-BOUND-SERVICE=


Dieser Parameter bestimmt das Verhalten von openUTM beim Anmelden eines Benutzers, für den ein offener Vorgang in einer Knoten-Anwendung existiert.

    NO

Gibt es beim Anmelden für einen Benutzer einen knotengebundenen Vorgang (siehe Hinweis), dann ist ein Anmelden nur an der Knoten-Anwendung möglich, an die der offene Vorgang gebunden ist; die Anmeldung an jeder anderen Knoten-Anwendung wird abgelehnt.

Standard in UTM-S-Anwendungen.

In UTM-F-Anwendungen ist dieser Wert nicht erlaubt.

    YES

Meldet sich ein Benutzer an eine Knoten-Anwendung an und gibt es für den Benutzer einen knotengebundenen Vorgang, der an eine andere Knoten-Anwendung gebunden ist, welche beendet wurde, dann kann sich der Benutzer anmelden, falls keine Transaktion des offenen Vorgangs im Zustand PTC ist. Ein Vorgangswiederanlauf findet dabei nicht statt.

Der offene Vorgang wird beim nächsten Start der Knoten-Anwendung, an die er gebunden ist, abnormal beendet.

Standard in UTM-F-Anwendungen

Ein Vorgang ist knotengebunden, wenn er

  • einen Auftragnehmervorgang hat

  • oder ein durch Vorgangskellerung eingeschobener Vorgang ist.

Außerdem ist der Vorgang eines Benutzers knotengebunden, solange der Benutzer an eine Knoten-Anwendung angemeldet ist.

CHECK-ALIVE-TIMER-SEC=time


Zeitabstand in Sekunden, in dem eine Knoten-Anwendung einer UTM-Cluster-Anwendung die Verfügbarkeit einer anderen Knoten-Anwendung überprüft.

Minimalwert: 30
Maximalwert: 3600
Standardwert: 600

COMMUNICATION-REPLY-TIMER-SEC=time


Zeit in Sekunden, die eine Knoten-Anwendung einer UTM-Cluster-Anwendung nach einer Nachricht an eine andere Knoten-Anwendung auf die Antwort wartet.

Bei Ausbleiben der Antwort in der hier vorgegebenen Zeit muss der Ausfall der anderen Knoten-Anwendung angenommen werden. Wenn Sie für COMMUNICATION-RETRY-NUMBER einen Wert größer Null gesetzt haben, wird von einem Ausfall der anderen Knoten-Anwendung erst nach dem Ablauf aller Wiederholungsversuche ausgegangen.

Minimalwert: 1
Maximalwert: 60
Standardwert: 10

COMMUNICATION-RETRY-NUMBER=number


Anzahl von Wiederholungen einer Kommunikation mit einer anderen Knoten-Anwendung, falls diese Knoten-Anwendung nicht innerhalb der bei COMMUNICATION-REPLY-TIMER festgesetzten Zeit antwortet. Wenn die überwachte Knoten-Anwendung auch auf keinen der Wiederholungsversuche antwortet, wird diese Knoten-Anwendung als ausgefallen gekennzeichnet.

Minimalwert: 0, d.h. keine Wiederholung nach einem Timeout
Maximalwert: 10
Standardwert: 1

DEADLOCK-PREVENTION=


In UTM-Cluster-Anwendungen wird die Information zu gesperrten Datenbereichen (GSSB, TLS, ULS) auf Datei gehalten. UTM kann vor dem Warten eines Vorgangs auf einen gesperrten Datenbereich prüfen, ob durch die neue Wartesituation ein Deadlock entstehen kann. Dazu sind zusätzliche Datei-I/Os erforderlich.

Dieser Parameter legt fest, ob UTM für diese Datenbereiche zusätzliche Prüfungen zur Deadlock-Vermeidung durchführt oder nicht.

    YES

UTM führt für die Datenbereiche GSSB, TLS und ULS zusätzliche Prüfungen zur Deadlock-Vermeidung durch.

    NO

UTM führt für die Datenbereiche GSSB, TLS und ULS keine zusätzlichen Prüfungen zur Deadlock-Vermeidung durch. Kommt es zu einem Deadlock auf diesen Datenbereichen, dann wird dieser über einen Timeout aufgelöst. Siehe auch Anweisung MAX, Operand RESWAIT=time1 (Abschnitt "MAX - UTM-Anwendungsparameter definieren").

Standard: NO

Es wird empfohlen, diesen Parameter im Produktivbetrieb nur dann auf  YES zu setzen, wenn es häufig zu Timeouts beim Zugriff auf diese Datenbereiche kommt.

EMERGENCY-CMD=

command_string1

Name eines Skripts.

Das Emergency-Skript wird von openUTM aufgerufen, wenn eine ausgefallene Knoten-Anwendung nach Aufruf des Failure-Skripts und Ablauf des Restart-Timers (Parameter RESTART-TIMER-SEC) nicht neu gestartet wurde.

Über das Skript kann man z.B. den ausgefallenen Rechner eines Clusters neu starten oder eine Knoten-Recovery der ausgefallenen Knoten-Anwendung durchführen.

Das Skript wird immer auf dem Rechner der überwachenden Knoten-Anwendung aufgerufen.

Der hier übergebene Name wird von KDCDEF nicht weiter analysiert.

command_string1 darf bis zu 200 Zeichen lang sein. Die Angabe des Emergency-Skripts ist Betriebssystem-spezifisch.

Bei der Installation von openUTM werden auf den Plattformen jeweils plattform-spezifische Muster mit dem Namen UTM-C.EMERGENCY bzw. utm-c.emergency ausgeliefert.

Unix- und Linux-Systeme:
Geben Sie den vollqualifizierten Namen eines Unix Shell-Skripts an. 

Beispiel: 
EMERGENCY-CMD = ' utmpfad /shsc/utm-c.emergency'

Windows-Systeme:
Geben Sie den vollqualifizierten Name eines Windows Command-Skripts an.

Beispiel:
EMERGENCY-CMD = ' utmpfad\shsc\utm-c.emergency.cmd' 

Aufruf des Skripts command_string1 im Anwendungslauf 

Dem Skript command_string1 werden sechs Argumente übergeben, um damit den ausgefallenen Cluster-Knoten zu identifizieren und Maßnahmen zur Behebung einleiten zu können.

Die Argumente werden in folgender Reihenfolge übergeben:
1. Argument: Name der UTM-Anwendung
2. Argument: Filebase-Name der KDCFILE der ausgefallenen Knoten-Anwendung   
3. Argument: Rechnername des ausgefallenen Knotens
4. Argument: Virtueller Rechnername des ausgefallenen Knotens
5. Argument: Referenz-Name der ausgefallenen Knoten-Anwendung (Parameter NODE-NAME in CLUSTER-NODE-Anweisung)
6. Argument: Term Application Reason: Fehlercode im UTM-Dump des ausgefallenen Knotens, siehe Meldung K060 im openUTM-Handbuch „Meldungen, Test und Diagnose“. Anhand dieses Fehlercodes kann entschieden werden, ob die Knoten-Anwendung neu gestartet werden soll:

  • Beim Fehlercode ASIS99 wurde der Knoten durch den Administrator mit KDCSHUT KILL abnormal beendet und soll normalerweise nicht neu gestartet werden.
  • Bei allen anderen Fehlercodes (außer ENDPET) wurde die Knoten-Anwendung abnormal beendet und sollte normalerweise neu gestartet werden.
  • Beim Fehlercode ENDPET wurde die Knoten-Anwendung durch den Administrator mit KDCSHUT normal beendet, während es mindestens eine verteilte Transaktion gab, die im Zustand PTC (prepare to commit) war. In diesem Fall sollte die Knoten-Anwendung möglichst wieder gestartet werden, um den PTC aufzulösen und eventuelle Sperren in der Knoten-Anwendung oder einer Partner-Anwendung freizugeben.

Der Returnwert des Skripts wird nicht bewertet.

Unix- und Linux-Systeme:
Das generierte Skript command_string1 wird als Hintergrundprozess gestartet.
Es wird mit den sechs oben genannten Argumenten aufgerufen.

Windows-Systeme:
Das Kommando-Skript command_string1 wird mit dem Windows-Kommando START aufgerufen ohne auf das Beenden zu warten.
Es wird mit den sechs oben genannten Argumenten aufgerufen.   

FAILURE-CMD=

command-string2

Name eines Skripts.

command-string2 darf bis zu 200 Zeichen lang sein. Die Angabe des Skripts ist Betriebssystem-spezifisch.

Das Failure-Skript wird von openUTM aufgerufen, wenn eine Knoten-Anwendung abnormal beendet oder der Ausfall einer Knoten-Anwendung erkannt wurde. Über das Failure Skript kann ein Anwender z.B. einen Neu-Start der ausgefallenen Knoten-Anwendung veranlassen.

Das Failure-Skript wird immer auf dem Rechner der überwachenden Knoten-Anwendung aufgerufen.

Ansonsten sind Syntax und Aufruf von FAILURE-CMD identisch zu Syntax und Aufruf von "EMERGENCY-CMD" (siehe Abschnitt "CLUSTER - Globale Eigenschaften einer UTM-Cluster-Anwendung definieren").

Bei der Installation von openUTM werden auf den Plattformen jeweils plattform-spezifische Muster mit dem Namen utm-c.failure ausgeliefert.

FILE-LOCK-RETRY=

number

Anzahl von Wiederholungen einer Sperranforderung für eine Clusterglobale Datei, falls die Sperre nicht in der im Parameter FILE-LOCK-TIMER-SEC vorgegebenen Zeit zugeteilt wurde.

Minimalwert: 1
Maximalwert: 10
Standardwert: 1

FILE-LOCK-TIMER-SEC=

time

Zeit in Sekunden, die eine Knoten-Anwendung einer UTM-Cluster-Anwendung maximal auf die Zuteilung einer Sperre für eine Cluster-globale Datei wartet.

Minimalwert: 10
Maximalwert: 60
Standardwert: 30

LISTENER-ID=

number

Dieser Parameter dient dazu, einen Netzprozess für die Cluster-interne Kommunikation auszuwählen.

Minimalwert: 0
Maximalwert: 65535
Standardwert: 0

PGPOOL=

(number, warnlevel)

Legt die Größe des Cluster-Pagepools und die Warnstufe für die Belegung des Cluster-Pagepools fest. Im Cluster-Pagepool werden GSSB, ULS sowie Vorgangsdaten von Benutzern (USER-Anweisung) gespeichert, die mit RESTART=YES generiert sind.

Der Cluster-Pagepool kann unter Beibehaltung der Dateianzahl im laufenden Cluster-Betrieb vergrößert werden, siehe betreffendes openUTM-Handbuch „Einsatz von UTM-Anwendungen“.

    number

Größe des Cluster-Pagepools in UTM-Seiten.

Pro generiertem Knoten werden mindestens 500 UTM-Seiten im Cluster-Pagepool benötigt. Die Größe einer UTM-Seite wird in der MAX-Anweisung mit dem Operanden BLKSIZE festgelegt.

Standard: 10.000 bzw. die Mindestgröße
Minimalwert: 500 * Anzahl der Cluster-Knoten
Maximalwert: 16777215 - (2 * number in CLUSTER PGPOOLFS)

Ist der hier angegebene Wert kleiner als die Mindestgröße, die UTM aus der Anzahl der generierten Knoten und der in MAX RECBUF=length generierten Länge errechnet, dann erhöht UTM number auf die Mindestgröße.

    warnstufe

Prozentwert, der angibt, bei welcher Belegung des Cluster-Pagepools eineWarnung (Meldung K041) ausgegeben wird.

Standard: 80
Minimalwert: 60
Maximalwert: 99

Beachten Sie bitte, dass die Meldungen zur Unter- bzw. Überschreitung der Cluster-Pagepool Warnstufe nur für die Knoten-Anwendung ausgegeben werden, die die jeweilige Zustandsänderung auslöst. Von einem möglichen Cluster-Pagepool Engpass betroffen sind dagegen alle laufenden Knoten-Anwendungen.

PGPOOLFS= 

number

Anzahl der Dateien, auf die die Anwenderdaten im Cluster-Pagepool aufgeteilt werden sollen.

Die Dateien des Cluster-Pagepools werden mit der Cluster-Filebase angelegt, die im Operanden CLUSTER-FILEBASE angegeben wird. Sie erhalten die Suffixe CP01, CP02, .... CP10.

Zusätzlich legt KDCDEF immer eine Datei mit Suffix CPMD an, die zur Verwaltung des Cluster-Pagepools dient und keine Anwenderdaten enthält.

Standard: 1
Minimalwert: 1
Maximalwert: 10

RESTART-TIMER-SEC=

time

Zeit in Sekunden, die eine Knoten-Anwendung nach einem Ausfall maximal für einen Warm-Start benötigt.

Nach einer Ausfallerkennung und dem Aufruf des Failure-Kommandos für eine ausgefallene Knoten-Anwendung zieht die überwachende Knoten-Anwendung einen Timer mit der hier angegebenen Zeit auf. Wenn die ausgefallene Knoten-Anwendung nach Ablauf dieser Zeit nicht wieder verfügbar ist, wird das Emergency-Kommando für die ausgefallene Knoten-Anwendung gestartet.

Bei Angabe des Wertes 0 wird der Neu-Start der ausgefallenen Knoten-Anwendung nicht zeitüberwacht.

Minimalwert: 0, d.h. keine Überwachung eines Anwendungs-Restarts
Maximalwert: 3600
Standardwert: 0