Wiki-Quellcode von Cluster


Zeige letzte Bearbeiter
1 {{content/}}
2
3 {{info}}
4 Wird auf einem Cluster-System ein Plugin installiert, so sollte die Cluster-Verbindung aktiv sein. Dann wird das Plugin auf alle Server im Cluster übertragen und steht dort sofort zur Verfügung. Ansonsten müssen die Server neu gestartet werden.
5 {{/info}}
6
7 == Funktionsweise ==
8
9 {{figure image="cluster_de.png"}}
10 Oberfläche zum Konfigurieren von Clustern
11 {{/figure}}
12
13 {{formcycle/}} verfügt über die Möglichkeit für eine hohe Verfügbarkeit des Systems ein Failover-Cluster im Sinne eines Hot-Standbys zu betreiben. Hierbei werden mehrere Instanzen von {{mserver number="plural" case="acc"/}} miteinander verbunden, sodass sich diese gegenseitig überwachen und auf Ausfälle reagieren können. Hierfür sind die {{mserver number="plural"/}} von {{formcycle case="dat"/}} in zwei verschiedene Modi (Knoten-Typ) betreibbar:
14
15 === Master ===
16
17 In diesem Modus ist der {{mserver/}} von {{formcycle case="dat"/}} ohne Einschränkungen voll nutzbar und betriebsbereit. Er befindet sich im Standardfall im Knoten-Status //Aktiv//.
18
19 === Failover ===
20
21 Im Failover-Modus schaltet der {{mserver/}} verschiedene Funktionalitäten wie zum Beispiel die Verbindungen zum {{fserver case="dat"/}} und das zeitgesteuerte Ausführen von Statuswechseln ab. In diesem Zustand befindet sich der Failover-Knoten im Status //Leerlauf//. Abseits der deaktivieren Funktionen sind auf diesem Server Formulare und die Verwaltungsoberfläche weiterhin aufruf- und nutzbar.
22
23 === Failover-Szenario ===
24
25 Sollte im laufenden Betrieb nun der Ausfall oder die Trennung eines Knotens vom Typ Master registriert werden (z.B. Server-Ausfall oder Verlust der Netzwerkverbindung), so handeln die verfügbaren Failover-Knoten untereinander aus, welcher für dessen Ersetzung verantwortlich gemacht wird. Dies ist im Regelfall der Knoten, der aktuell keinen anderen Master-Knoten vertritt und am längsten Mitglied des Cluster-Verbundes ist. Dieser Knoten startet nun die abgeschalteten Funktionen und versucht pauschal die Verbindung zu allen ihm bekannten {{fserver case="acc" number="plural"/}} mit aktivierter Auswahl //Automatisch verbinden// herzustellen. Er befindet sich nun im Status //Aktiv (Failover)// und ersetzt den ausgefallenen Master-Knoten in vollem Funktionsumfang. Tritt dieser anschließend mit gleich gebliebener Knoten-ID dem Cluster wieder bei, so veranlasst der Failover-Knoten diesen wieder alle Verbindungen zum {{fserver case="dat"/}} aufbaut und somit im Status **//Aktiv //**alle Funktionalitäten bereit zu stellen. Der Failover-Knoten selbst begibt sich wieder in den Status //Leerlauf// und wartet auf weitere Ereignisse auf die er wieder entsprechend reagieren kann.
26
27 === Technische Voraussetzungen ===
28
29 Um ein Cluster-Verbund betreiben zu können, ist es nötig, dass sich die einzelnen Instanzen der {{mserver number="plural"/}} untereinander sehen und erreichen können. Dies ist je nach Konfiguration auch trotz der Verwendung einer Firewall realisierbar. Abhängig vom verwendeten Protokoll (Standard: UDP) ist es des Weiteren unter Umständen nötig die zugehörigen Ports frei zu geben.
30
31 == Konfiguration ==
32
33 {{figure image="cluster_base_de.png"}}
34 Oberfläche zur Änderung der Grundeinstellungen
35 {{/figure}}
36
37 === Aktiviert ===
38
39 Aktiviert bzw. Deaktiviert die Cluster-Funktionalität des aktuellen {{mserver case="gen"/}}. Ist diese deaktiviert, so wird die aktuelle Instanz mit vollem Funktionsumfang betrieben, steht aber innerhalb des Cluster-Verbundes nicht zur Verfügung und wird somit bei einem Ausfall nicht durch einen Failover-Knoten ersetzt.
40
41 === Knoten-Typ ===
42
43 Gibt an, in welchem Modus der aktuelle {{mserver/}} betrieben werden soll. Mögliche Werte sind hierbei aktuell //Master// (kompletter Funktionsumfang inkl. Ersetzung bei Ausfall) und //Failover// (Eingeschränkter Funktionsumfang, dient als Ersatz bei Ausfall eines Master-Knotens).
44
45 === Gruppenname ===
46
47 Dient als Identifikator des Cluster-Verbunds. Alle {{mserver number="plural"/}} welche in einem Verbund betrieben werden sollen, müssen denselben Gruppennamen besitzen.
48
49 Zum Beispiel: //XFC-Cluster//
50
51 === Knoten-ID ===
52
53 Dient als Identifikator der Master-Server-Instanz innerhalb des Cluster-Verbundes. Diese ID muss innerhalb einer Gruppe eindeutig sein.
54
55 Zum Beispiel: //XFC-Master//
56
57 === Erweiterte Einstellungen ===
58
59 Der Option "Erweiterte Einstellungen" ermöglicht es zusätzliche Eingaben für die Konfigurationen der Cluster-Verbindung zu aktivieren. Ist dieser Schalter aktiviert, so wird der Reiter "Erweiterte Einstellungen" aktiviert und an Stelle der Standard-Konfiguration die geänderten Einstellungen berücksichtigt. Nötig ist dies meist nur bei problematischen Netzwerk-Topologien, Beschränkungen der Port-Freigaben oder bei weiteren Problemen beim Aufbau des Clusters.
60
61 === Übersicht ===
62
63 {{figure image="cluster_overview_de.png"}}
64 Übersicht über alle Cluster-Knoten, die sich in der Gruppe befinden.
65 {{/figure}}
66
67 Die Übersicht dient der Anzeige alle sich aktuell in der Gruppe befindlichen Cluster-Knoten inkl. deren ID, Status, Adresse (logische Netzwerk-Adresse), Typ und dem Zeitpunkt des Beitritts in eben diese. Ferner wird die aktuelle Instanz auf deren Oberfläche diese Informationen angezeigt werden in fetter Schrift dargestellt.
68
69 == Erweiterte Einstellungen ==
70
71 {{figure image="cluster_advanced_de.png"}}
72 Oberfläche zur Änderung der erweiterten Einstellungen
73 {{/figure}}
74
75 === Protokoll ===
76
77 Diese Auswahl dient der Festlegung des zu verwendenden Netzwerk-Protokolls. Hier steht das verbindungslose UDP und das verbindungsorientierte TCP zur Verfügung.
78
79 {{info}}
80 Standard-Einstellung: UDP
81 {{/info}}
82
83 === Lokale Adresse (Netzwerkadapter) ===
84
85 In dieser Einstellung wird die zu benutzende IP-Adresse (oder ein auflösbarer Hostname) und der dazugehörige Port des lokalen Servers konfiguriert (Binde-Adresse). Zu beachten ist hierbei, dass besagte Adresse zu einem lokalen Netzwerkadapter passen muss. Sollte dies nicht der Fall sein, so erscheint beim Speichern der Einstellungen und dem dazugehörigen Verbindungsaufbau eine entsprechende Fehlermeldung und die Cluster-Verbindung kann nicht zu Stande kommen. Ferner muss der konfigurierte Port für die Kommunikation über das jeweilige Protokoll freigegeben sein. Sollte des Weiteren hier der Wert 0 eingetragen werden wird ein automatischer Mechanismus zum Ermittelt und Benutzen eines freien, temporären Ports eingesetzt.
86
87 {{panel type="info" title="Standardseinstellungen"}}
88 * Adresse: <automatisch ermittelte Adresse eines Netzwerk-Adapters>
89 * Port:7600
90 {{/panel}}
91
92 {{panel type="info" title="Beispielskonfigurationen"}}
93 * Adresse: 192.168.0.1, Port:7600
94 * Adresse: fc-master.example.de, Port 7600
95 {{/panel}}
96
97 === Verwendung alternativer externer Adresse ===
98
99 {{figure image="cluster_external_de.png"}}
100 Verwendung einer alternativen externen Adresse
101 {{/figure}}
102
103
104 Der Schalter "Alternative externe Adresse verwenden" ermöglicht es neben der lokalen Adresse des Netzwerkadapters eine externe Adresse zu konfigurieren über welche der aktuelle Server erreichbar ist. Nötig wird dies bei komplexeren Netzwerk-Topologien bei denen der Server zum Beispiel durch eine Firewall nicht direkt erreichbar ist. Um eine Kommunikation nun dennoch zu gewährleisten ist es nötig hier die externe Adresse der Firewall zu definieren. Ferner ist in der Firewall eine Portweiterleitung (//port forwarding// oder auch //virtual server//) auf den Server einzurichten.
105
106 ==== Externe Adresse ====
107
108 Dient zur Eingabe der externen Adresse (IP oder Hostname) und des ggf. abweichenden externen Ports über welchen der Server durch eine Weiterleitung auf die lokale Adresse erreichbar ist. Durch die Angabe des Ports mit dem Wert 0 wird die Verwendung eines abweichenden Ports deaktiviert und der Port der lokalen Adresse verwendet.
109
110 ==== Multicast-Adresse und Port (nur für UDP) ====
111
112 {{figure image="cluster_udp_de.png"}}
113 Verwendung des UDP-Protokolls
114 {{/figure}}
115
116 Diese Konfiguration ermöglicht es, den UDP-Port und die Adresse für das //Discovery//, also das Auffinden der weiteren Clusterknoten, zu hinterlegen. Hierfür wird an die angegebene Adresse unter Verwendung des zugehörigen Ports ein Multicastsignal gesendet und auf die Antwort der weiteren Knoten gewartet. Um dies zu ermöglichen, ist es neben einer entsprechenden Portfreigabe der Firewall nötig, dass alle Knoten des gewünschten Clusters dieselbe Adresse- bzw. Portkombination verwenden. Als gültiger Adressraum gilt hierbei der IPv4-Standard von 224.0.0.0 bis 239.255.255.255. Ferner gilt für die Angabe des Ports ebenso die Regel, dass dieser bei einem konfigurierten Wert von {{code}}0{{/code}} automatisch aus dem Bereich der verfügbaren temporären Ports ermittelt wird.
117
118 {{panel type="info" title="Standardseinstellungen"}}
119 * Adresse:228.8.8.8
120 * Port:7600
121 {{/panel}}
122
123 {{panel type="info" title="Beispielskonfiguration"}}
124 * Adresse: 224.0.0.0
125 * Port:9999
126 {{/panel}}
127
128 ==== Erwartete Knoten (nur für TCP) ====
129
130 {{figure image="cluster_tcp_de.png"}}
131 Verwendung des TCP-Protokolls
132 {{/figure}}
133
134 Bei der Verwendung des TCP-Protokolls ist es nötig, innerhalb dieser Tabelle alle erwarteten Cluster-Knoten anzugeben. Grundlage hierfür ist die Tatsache, dass das Discovery (das Auffinden der weiteren Cluster-Knoten) nicht mittels Multicast realisiert werden kann und man diese entsprechend hinterlegen muss. Das Hinzufügen eines Eintrages in diese Tabelle wird mittels Plus-Zeichen und das Bearbeiten durch den in der entsprechenden Tabellenzeile dargestellten Stifts realisiert. Nun erfolgt die Eingabe der Adresse des neuen erwarteten Knotens. Hierbei ist dem Muster //<IP-Adresse oder Hostname>:<Port>// zu folgen. Bei der Verwendung des Hostnamens ist zu beachten, dass dieser bei fehlschlagender Auflösung zu einer IP-Adresse in der Cluster-Konfiguration nicht berücksichtigt werden und somit ggf. der entsprechende Server nicht dem Cluster beitreten kann. Aufgrund dieser Tatsache ist die Verwendung der IP-Adresse anzuraten. Nach der Eingabe ist diese zusätzlich über das Hacken-Symbol in der entsprechenden Zeile zu bestätigen oder ist über das Kreuz-Symbol verwerfbar.
135
136 {{panel type="info" title="Beispielskonfigurationen"}}
137 * 192.168.0.1:7600
138 * fc-master.beispiel.de:7600
139 {{/panel}}