Einrichtung¶
Anmerkung
Als Erinnerung muss der Wechsel auf root auf Debian-Maschinen mit folgendem Befehl erfolgen:
1 | |
Die Anweisungen auf dieser Seite sollten für die Installation aller Knoten im PostgreSQL-Cluster befolgt werden.
Systemeinstellungen¶
Anschluss an die Maschine¶
Standardmäßig gibt es zwei Konten auf virtuellen Geräten: ein Benutzerkonto und ein Superbenutzerkonto.
- Benutzerkonto
- Einloggen:
systancia - Passwort:
systnci
- Einloggen:
- Superbenutzerkonto
- Einloggen:
root - Passwort:
systnci
- Einloggen:
Verbinden Sie sich mit der Maschine im Konsolenmodus.
Anmerkung
Das Standard-Tastaturlayout ist QWERTY.
Änderung des Tastaturlayouts¶
Konfiguration des Netzes¶
Die virtuelle Vorrichtung erhält möglicherweise keine Netzwerkkonfiguration, wenn sie gestartet wird, aus folgenden Gründen:
- Der Name der Netzwerkoberfläche ist nicht
ens192: Das Gerät ist nur für die Schnittstelleens192mit DHCP konfiguriert - Kein DHCP-Server verfügbar
Um den Namen der Netzwerkoberfläche, ihren Status und die zugewiesenen IP-Adressen zu überprüfen, führen Sie den folgenden Befehl als root aus:
1 | |
Example
Nach Ausführung des Befehls wird folgende Antwort angezeigt:
1 | |
Der Name der Netzwerk-Schnittstelle im Beispiel ist ens192, die Schnittstelle ist aktiv und hat die IP-Adresse 10.100.0.51/24.
Wenn der Name anders ist als ens192 oder der Befehl keine Netzwerkeinstellungen zurückgibt, müssen Sie eine Netzwerkkonfiguration manuell mit den folgenden Befehlen einrichten:
1 2 | |
Ersetzen:
IP_ADDRESSdurch die IP-Adresse der MaschineSUBNETdurch das TeilnetzDEV_NAMEName der zuvor abgerufenen NetzwerkoberflächeGATEWAYdurch das Netzwerk-Gateway
Example
Um den PostgreSQL-Knoten mit folgenden Informationen zu konfigurieren:
- IP-Adresse:
10.100.0.51 - Unternetz:
/24oder255.255.255.0 - Name der Netzwerk-Schnittstelle:
eth0 - Netzwerk-Gateway:
10.100.0.254
Die Befehle lauten wie folgt:
1 2 | |
Note
Diese Netzwerkkonfiguration ist vorübergehend, daher wird bei einem Neustart des Servers die manuellen Einstellungen, die mit den Befehlen ip address und ip route vorgenommen wurden, zurückgesetzt.
Die permanente Konfiguration wird durch das PostgreSQL-Cluster-Konfigurationsprogramm durchgeführt.
Dank dieser Netzwerkkonfiguration können Sie nun über SSH auf den PostgreSQL-Knoten zugreifen.
Änderung der Zeitzone¶
Konfiguration eines NTP-Zeitservers¶
Danger
Es wird dringend empfohlen, einen Zeitserver so zu konfigurieren, dass die Systemuhr auf dem neuesten Stand ist: Jeder Zeitunterschied zwischen PostgreSQL-Knoten kann zu Instabilität führen oder sogar dazu führen, dass der Cluster nicht mehr funktioniert.
Die erforderlichen Schritte sind auf der NTP-Konfigurationsseite beschrieben (die Konfiguration entspricht der von cyberelements Cleanroom Mediation Controller Servern).
Erstellen einer PKI zur Generierung von PostgreSQL-Knotenzertifikaten¶
Info
Dieser Abschnitt ist optional, wenn Sie bereits über eine PKI verfügen, aus der Sie die Zertifikate generieren konnten, die in den Voraussetzungen angegeben sind.
Dieser Abschnitt enthält die verschiedenen Schritte zur Erstellung eines PKI und die für den PostgreSQL-Cluster erforderlichen Zertifikate.
Warning
Das beschriebene Verfahren wurde auf einem Debian 12-Computer mit dem openssl-Paket validiert. Jeder Computer mit einer neueren Version von OpenSSL (die validierte Version ist 3.0.17) kann jedoch das Verfahren durchführen.
Definition von Variablen und Anpassungen¶
Dieser Abschnitt enthält verschiedene Befehle und Konfigurationsdateien, die Variablen verwenden, die geändert werden können.
Die folgende Tabelle fasst alle Werte zusammen und ermöglicht es Ihnen, sie so zu definieren, dass Sie sie direkt in den auf dieser Seite angezeigten Befehlen ändern können.
| Wert | Variable | Definition |
|---|---|---|
PSQL_IP |
Virtuelle IP-Adresse des PostgreSQL-Clusters. | |
PSQL_NAME |
Kurzer Name (nicht der FQDN), der mit der virtuellen IP-Adresse des PostgreSQL-Clusters verknüpft ist. | |
PSQL_1_IP |
IP-Adresse des Knoten #1 des PostgreSQL-Clusters. | |
PSQL_1_NAME |
Kurzer Name (nicht die FQDN) des Knoten #1 des PostgreSQL-Clusters. | |
PSQL_2_IP |
IP-Adresse des Knoten #2 des PostgreSQL-Clusters. | |
PSQL_2_NAME |
Kurzer Name (nicht die FQDN) des Knoten #2 des PostgreSQL-Clusters. | |
PSQL_3_IP |
IP-Adresse des Knoten #3 des PostgreSQL-Clusters. | |
PSQL_3_NAME |
Kurzer Name (nicht die FQDN) des Knoten #3 des PostgreSQL-Clusters. | |
CA_ROOT_NAME |
Name, der Zertifizierungsstelle (Zertifizierungsstelle) des PKI zugewiesen ist. |
Planung und Vorbereitung¶
Die folgenden Aktionen werden in einem neuen Verzeichnis ausgeführt, um alle neuen Dateien in einem einzigen Verzeichnis zu sammeln. Jedes Verzeichnis kann verwendet werden, aber sein Zugriff muss so weit wie möglich eingeschränkt werden. * Melden Sie sich bei PostgreSQL-Knoten n°1* als root an und führen Sie die folgenden Befehle aus:
1 2 3 | |
Erstellung der Zertifizierungsstelle für die Wurzel¶
Führen Sie den folgenden Befehl aus, um eine neue Stamm-CA zu erstellen. Sie werden aufgefordert, ein Passwort für den CA zu verwenden:
1 | |
Ersetzen Sie CA_ROOT_NAME durch den Namen der Wurzel-CA, wenn Sie nicht hier angepasst haben.
Erstellung von Zertifikaten¶
Die Befehle, die zur Generierung von Zertifikaten für PostgreSQL-Knoten erforderlich sind, lauten wie folgt:
1 2 3 | |
Ersetzen CA_ROOT_NAME, PSQL_IP, PSQL_NAME, PSQL_1_IP und PSQL_1_NAME wenn Sie noch nicht Ich habe es hier angepasst ..
1 2 3 | |
Ersetzen CA_ROOT_NAME, PSQL_IP, PSQL_NAME, PSQL_2_IP und PSQL_2_NAME wenn Sie noch nicht Ich habe es hier angepasst ..
1 2 3 | |
Ersetzen CA_ROOT_NAME, PSQL_IP, PSQL_NAME, PSQL_3_IP und PSQL_3_NAME wenn Sie noch nicht Ich habe es hier angepasst ..
Der erste Befehl erzeugt einen neuen Schlüssel, der zweite erzeugt eine Zertifikatsanforderungsdatei CSR und der dritte erzeugt das Zertifikat selbst.
Das Zertifikat muss noch in P12 umgewandelt werden, was Sie dazu veranlasst, ein Passwort einzulegen:
1 | |
1 | |
1 | |
Die für die Installation des PostgreSQL-Clusters erforderlichen Dateien finden Sie hier (ersetzen Sie bitte die Variablen CA_ROOT_NAME, PSQL_1_NAME, PSQL_2_NAME und PSQL_3_NAME durch die zuvor ausgewählten Elemente):
/root/psql-certificates/CA_ROOT_NAME.crt: Zertifikat der Stamm-Zertifizierungsstelle/root/psql-certificates/PSQL_1_NAME.p12: Zertifikat für PostgreSQL-Knoten Nr. 1/root/psql-certificates/PSQL_2_NAME.p12: Zertifikat für PostgreSQL-Knoten Nr. 2/root/psql-certificates/PSQL_3_NAME.p12: Zertifikat für PostgreSQL-Knoten Nr. 3
Ein PostgreSQL-Cluster installieren¶
Info
Die folgenden Anweisungen müssen auf den 3 PostgreSQL-Knoten ausgeführt werden.
Vorbereitung auf die Konfiguration des PostgreSQL-Clusters¶
Es ist notwendig, eine SFTP- oder SCP-Verbindung herzustellen, um an das Gerät zu senden:
- Das Zertifikat der Zertifizierungsbehörde, die Zertifikate für die PostgreSQL-Knoten unterzeichnet hat
- Das PostgreSQL-Knotenzertifikat im Format
P12
Die SFTP- oder SCP-Verbindung kann nicht mit dem root Die Daten können auch einfach in das /home/systancia/.
Es ist notwendig, diese Dateien in ein neues Verzeichnis zu verschieben:
1 2 3 | |
Ersetzen:
PSQL_?_NAMEdurch den Namen des für den installierten PostgreSQL-Knoten vorgesehenen ZertifikatsROOT_CA_NAMEdurch den Namen der Zertifizierungsstelle für die Wurzelzertifizierung
1 2 3 | |
Die oben genannten Befehle müssen entsprechend den Anpassungs-Einstellungen angepasst worden sein.
1 2 3 | |
Die oben genannten Befehle müssen entsprechend den Anpassungs-Einstellungen angepasst worden sein.
1 2 3 | |
Die oben genannten Befehle müssen entsprechend den Anpassungs-Einstellungen angepasst worden sein.
Konfiguration des PostgreSQL-Knoten¶
Um mit der Initialisierung der Knotenkonfiguration zu beginnen, müssen die folgenden Befehle ausgeführt werden:
1 2 | |
Der zweite Befehl startet ein Dienstprogramm, das folgende Informationen benötigt:
- Neue Passwörter für lokale Benutzer
rootundsystancia - Name des PostgreSQL-Knoten (nicht der FQDN)
- Die IP-Adresse des PostgreSQL-Knoten, der Name seiner Netzwerk-Schnittstelle, das zu verwendende Standardnetzwerk-Gateway sowie die DNS-Server und das DNS-Suffix
- Die Version von PostgreSQL; wir empfehlen die Verwendung der Version
15 - Der Zugangsanschluss zum PostgreSQL-Cluster; wir empfehlen den Port
5432 - Passwort für das PostgreSQL-Konto, das für die Replikation und für
pg_rewindverwendet wird - Name und IP-Adresse eines zweiten PostgreSQL-Knoten
- Name und IP-Adresse des letzten PostgreSQL-Knoten
- Virtuelle IP-Adresse des PostgreSQL-Clusters
- Die IP-Adressen (mit Kommas getrennt) der CyberElemente CleanroomEdge-Gateways oder anderer Maschinen, die eine Verbindung zum Cluster herstellen müssen.
- Name und Passwort des PostgreSQL-Benutzerkontos
- Die IP-Adressen oder Netzwerke (mit Kommas getrennt), die über SSH mit PostgreSQL-Knoten verbinden dürfen
- Zertifikatsinformationen für den PostgreSQL-Knoten (Knotenzertifikat im P12-Format + Root-CA-Zertifikat)
Nach Eingabe dieser Informationen wird Ihnen vor der Validierung eine Zusammenfassung aller Eingaben zur Verfügung gestellt.
Nach der Validierung der angegebenen Informationen erscheint eine Meldung über die Anwendung von Änderungen an der /etc/ssh/sshd_config-Datei. Bitte antworten Sie mit der Standardwahl keep the local version currently installed.
Um die Konfiguration anwenden zu können, ist ein Neustart erforderlich:
1 | |
Tipp zur Beschleunigung der Installation der PostgreSQL-Knoten n°2 und n°3
Nach der Installation des PostgreSQL-Knoten n°1 können die zur Konfiguration verwendeten Parameter über die Datei /etc/cleanroom-vault.ini aus diesem Knoten abgerufen werden.
Beispiel der /etc/cleanroom-vault.ini Datei
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | |
Ändern Sie einfach die hervorgehobenen Zeilen mit den Werten des installierten PostgreSQL-Knoten, basierend auf der Datei, die Sie von PostgreSQL-Knoten n°1 abgerufen haben.
Danger
Wenn Sie die Beispieldatei wiederverwenden, müssen Sie alle folgenden hervorgehobenen Werte entsprechend Ihrer Umgebung ändern:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | |
Zusätzliche Konfigurationen für patronictl¶
Um die PostgreSQL-Cluster-Management-Befehle mit patronictl verwenden zu können, gibt es noch einige Befehle, die als root auf dem PostgreSQL-Knoten ausgeführt werden müssen:
1 2 3 4 | |