Einführung / FirstSpirit ServerManager / Server-Eigenschaften / Clustering / Konfiguration Slave-Server
Konfiguration FirstSpirit Slave-Server
- Schritt 1) Zugriff auf die Verzeichnisse des Master-Servers konfigurieren
- Schritt 2) FirstSpirit-Server als Slave-Server konfigurieren
- Schritt 3) Weitergehende Konfiguration des Slave-Servers
- Hinweise zu Fehleranalyse und Monitoring
Schritt 1) Zugriff auf die Verzeichnisse des Master-Servers konfigurieren
Um Daten an die Slave-Server zu übertragen und von den Slave-Servern aus Log-Dateien zum Master-Server zu schreiben, muss ein Zugriff über ein verteiltes Dateisystem möglich sein und die notwendigen Schreib- und Leserechte für ausgewählte Verzeichnissen des Master-Servers erteilt werden.
Innerhalb der Clusterumgebung existieren damit mindestens drei unterschiedliche Verzeichnisbäume.
Im Dateisystem des Masters:
- das Root-Verzeichnis des FirstSpirit Master-Servers (Platzhalter: <FirstSpirit_ROOT (Master)>)
Im Dateisystem des Slaves:
- das Root-Verzeichnis des FirstSpirit Slave-Servers (Platzhalter: <FirstSpirit_ROOT (Slave)>)
- Die Abbildung der ausgewählten Verzeichnisse des Master-Server im Dateisystem des FirstSpirit Slave-Servers (Platzhalter: <FS_ROOT_MASTER (Mapping)>)
Hinweis: Diese Platzhalter müssen durch die Angabe des individuellen Pfads zum jeweiligen Verzeichnis ersetzt werden (z. B. /opt/firstspirit5/).
Die folgenden Verzeichnisse des FirstSpirit Master-Servers werden so eingebunden, dass sie vom Slave-Server aus erreicht werden können (bzw. in das Dateisystem des Slave-Servers abgebildet werden). Beim Registrieren des Slaves wird später der Pfad zu diesem Verzeichnis benötigt (hier Platzhalter: <FS_ROOT_MASTER (Mapping)>) (siehe Slave-Konfiguration - Pfad zu FirstSpirit).
- <FirstSpirit_ROOT (Master)>/conf nach <FS_ROOT_MASTER (Mapping)>/conf
(Konfigurationsdateien)
Der Zugriff ist notwendig, damit die Konfigurationseinstellungen des Masters auf dem Slave zur Verfügung stehen; read-only - <FirstSpirit_ROOT (Master)>/data/projects nach <FS_ROOT_MASTER (Mapping)>/data/projects
(Projektinhalte)
Der Zugriff ist notwendig, um dem Slave die entsprechenden Projektdaten zur Verfügung zu stellen; read-only - <FirstSpirit_ROOT (Master)>/data/schedule nach <FS_ROOT_MASTER (Mapping)>/data/schedule
(Auftragsverwaltung)
Der Zugriff ist notwendig, um bei der Ausführung von Aufträgen über den Slave-Server, die entsprechenden Log-Infos zum Master-Server zu schreiben; read-write - <FirstSpirit_ROOT (Master)>/export nach <FS_ROOT_MASTER (Mapping)>/export
(Projektexporte)
Der Zugriff ist nur notwendig, wenn die Clusterknoten im Legacy-Modus laufen (im Isolated-Mode wird kein Zugriff benötigt); read-only - <FirstSpirit_ROOT (Master)>/log nach <FS_ROOT_MASTER (Mapping)>/log
(Logdateien)
Der Zugriff ist notwendig, um entsprechende Log-Infos zum Master-Server zu schreiben; read-write - <FirstSpirit_ROOT (Master) / Staging-Verzeichnis des Jetty Web Servers> nach <FS_ROOT_MASTER (Mapping) / Staging-Verzeichnis des Jetty Web Servers>
(Generierungsergebnisse)
Der Zugriff ist notwendig, um die Generierungsergebnisse zum Master zu schreiben (Standardverhalten); read-write
Die Unterscheidung zwischen Verzeichnissen mit read-only und read-write-Zugriff dient dazu, die Betriebssicherheit und den Datendurchsatz zu erhöhen. Die zentralen Repository-Daten des Master-Servers werden nur im Lesezugriff verteilt.
Falls erhöhte Sicherheitsanforderungen bestehen, sollten die Zugriffe mittels der vom Betriebssystem unterstützten Authentifizierungsverfahren (IP-Adresse, Kerberos, …) auf den exklusiven Zugriff der FirstSpirit-Slaves eingeschränkt werden.
Schritt 2) FirstSpirit-Server als Slave-Server konfigurieren
Anschließend kann der FirstSpirit-Server als Slave-Server konfiguriert werden.
Um einen herkömmlichen FirstSpirit-Server als Slave-Server in einem Clusterverbund zu registrieren, wird der Radiobutton „FirstSpirit Slave-Server“ aktiviert.
Slave-Server-Name: Name des FirstSpirit Slave-Servers
Pfad zu FirstSpirit / Master-Server ändern: Mithilfe des Buttons „Master-Server ändern“ muss der Pfad zu den „gemappten“ Verzeichnissen des FirstSpirit Master-Servers angegeben werden (d.h. zum Verzeichnis <FS_ROOT_MASTER (Mapping)>). Mit einem Klick auf den Button öffnet sich ein Dialog, in dem der Pfad zum Verzeichnis manuell eingetragen wird.
Beim Bestätigen des Dialogs „Master-Server ändern“ wird geprüft, ob unter dem angegebenen Pfad die erwarteten Verzeichnisse erreichbar sind. Diese Verzeichnisse (vom Master-Server) dürfen nicht denen des Servers entsprechen, der aktuell konfiguriert wird (Slave-Server). Konnte ein weiterer FirstSpirit-Server identifiziert werden, werden die Parameter „Master-Server Host“ und „Master-Server Port“ automatisch gefüllt. Dazu werden die Parameter der Konfigurationsdatei fs-server.conf (des FirstSpirit Master-Servers) verwendet.
Hinweis: Solange der Slave-Server noch nicht registriert ist (Button „Slave registrieren“), kann der hier konfigurierte Master-Server über den Button „Master-Server ändern“ bei Bedarf geändert werden.
Master-Server Host: Hostname des FirstSpirit Master-Servers. Das Feld wird automatisch nach Angabe eines gültigen Pfads zum FirstSpirit-Server gefüllt.
Master-Server Port: Portnummer des FirstSpirit Master-Servers. Das Feld wird automatisch nach Angabe eines gültigen Pfads zum FirstSpirit-Server gefüllt.
FirstSpirit Read-Only Repository Server / FirstSpirit Generation Slave: Die Checkboxen sind automatisch aktiviert. Der FirstSpirit-Server wird als Generierungsserver zum Clusterverbund hinzugefügt. Ein Generierungsserver enthält einen RORS (Read-Only-Repository-Server). Die Checkbox „FirstSpirit Read-Only Repository Server“ wird daher ebenfalls automatisch aktiviert.
Slave-Server Port: Hier muss ein freier Port auf dem Slave-Server angegeben werden. Über diesen Port kommuniziert der Slave-Server mit dem Master-Server.
Mit einem Klick auf den Button „Slave registrieren“ öffnet sich eine Sicherheitsabfrage:
Wird der Dialog mit Ja bestätigt, werden die Konfigurationseinstellungen in die entsprechenden Konfigurationsdateien übernommen. Anschließend wird der Server heruntergefahren und im „Slave“-Modus gestartet. Der ServerManager des neuen Slave-Servers wird ebenfalls automatisch geschlossen.
Nach dem erfolgreichen Neustart ist der FirstSpirit-Server als Mitglied eines Clusterverbund verfügbar.
Ein bereits registrierter Slave kann nur über die Servereigenschaften des FirstSpirit Master-Servers wieder deregistriert werden. |
Damit ein Slave-Server bei der Projekt-Generierung genutzt wird, muss in der jeweiligen Auftragskonfiguration unter Eigenschaften „Auf Cluster ausführen“ aktiviert sein (siehe Clustering - Konfiguration des Generierungsauftrags). |
Schritt 3) Weitergehende Konfiguration des Slave-Servers
Um eine spätere Aktualisierung auf eine neue FirstSpirit-Version zu ermöglichen, werden einige JAR-Dateien und Start-Skripte direkt über das verteilte Dateisystem vom Master-Server verwendet. Die folgenden Verzeichnisse müssen dazu so eingebunden werden, dass sie die entsprechenden Verzeichnisse der Slave-Server ersetzen (siehe Abbildung oben):
- <FirstSpirit_ROOT (Master)>/bin ersetzt <FirstSpirit_ROOT (Slave)>/bin
(Start-Umgebung inkl. benötigter System-Binaries)
Zugriff: optional; read-only. - <FirstSpirit_ROOT (Master)>/server ersetzt <FirstSpirit_ROOT (Slave)>/server
(Java-Umgebung inkl. aller Bibliotheken)
Zugriff: optional; read-write. - <FirstSpirit_ROOT (Master)>/shared ersetzt <FirstSpirit_ROOT (Slave)>/shared
(Ressourcen, Bibliotheken, Klassen)
Zugriff: optional; read-only.
Nach einer Aktualisierung der Master-Server werden auch die Slave-Server neu gestartet und sind anschließend ebenfalls aktualisiert, ohne dass Dateien manuell ausgetauscht werden müssen (siehe auch Aktualisierung in einem Clusterverbund).
Fehleranalyse und Monitoring
Folgende Log-Dateien des Slaves dienen zur Fehleranalyse bei Problemen während und nach der Konfiguration:
- <FirstSpirit_ROOT (Slave)>/log/fs-wrapper.log
- <FirstSpirit_ROOT (Master)>/log/[slave_server_name]/fs-server.log bzw.
<FS_ROOT_MASTER (Mapping)>/log/[slave_server_name]/fs-server.log
Auf der FirstSpirit-Startseite kann über das FirstSpirit ServerMonitoring im Bereich „Clustering“ die Verfügbarkeit und die Auslastung der Slave-Server überwacht werden (siehe ServerMonitoring - FirstSpirit - Clustering).