Installation¶
Hinweis
Zur Erinnerung: Der Wechsel zu root muss auf Debian-Maschinen mit dem folgenden Befehl erfolgen:
1 | |
Die Anweisungen auf dieser Seite sind für die Installation aller Knoten des PostgreSQL-Clusters zu befolgen.
Systemeinstellungen¶
Verbindung mit der Maschine¶
Auf den virtuellen Appliances gibt es standardmäßig zwei Konten: ein Benutzerkonto und ein Superuser-Konto.
- Benutzerkonto
- Anmeldung:
systancia - Passwort:
systnci
- Anmeldung:
- Superuser-Konto
- Anmeldung:
root - Passwort:
systnci
- Anmeldung:
Verbinden Sie sich im Konsolenmodus mit der Maschine.
Hinweis
Die Standard-Tastaturbelegung ist QWERTY.
Änderung der Tastaturbelegung¶
Sie können die Tastaturbelegung mit der folgenden Befehlszeile ändern:
1 | |
Es erscheint ein Menü, in dem Sie eine andere Tastaturbelegung auswählen können.
Verwenden Sie anschließend die folgende Befehlszeile, um die Einstellungen anzuwenden und zu speichern:
1 | |
Die Einstellungen werden unmittelbar nach der Ausführung dieses Befehls wirksam.
Konfiguration des Netzwerks¶
Es ist möglich, dass die virtuelle Appliance beim Start aus den folgenden Gründen keine Netzwerkkonfiguration erhält:
- Der Name der Netzwerkschnittstelle ist nicht
ens192: Die Appliance ist für DHCP konfiguriert nur auf der Schnittstelleens192 - Es ist kein DHCP-Server verfügbar
Um den Namen der Netzwerkschnittstelle, ihren Status und die zugewiesenen IP-Adressen zu prüfen, führen Sie den folgenden Befehl als root aus:
1 | |
Beispiel
Nach der Ausführung des Befehls wird die folgende Antwort angezeigt:
1 | |
Der Name der Netzwerkschnittstelle im Beispiel ist ens192, die Schnittstelle ist aktiv und hat die IP-Adresse 10.100.0.51/24.
Wenn der Name von ens192 abweicht oder der Befehl keine Netzwerkkonfiguration zurückgibt, müssen Sie das Netzwerk mit den folgenden Befehlen manuell konfigurieren:
1 2 | |
Ersetzen Sie:
IP_ADDRESSdurch die IP-Adresse der MaschineSUBNETdurch das SubnetzDEV_NAMEName der zuvor ermittelten NetzwerkschnittstelleGATEWAYdurch das Netzwerk-Gateway
Beispiel
Um den PostgreSQL-Knoten mit den folgenden Informationen zu konfigurieren:
- IP-Adresse:
10.100.0.51 - Subnetz:
/24oder255.255.255.0 - Name der Netzwerkschnittstelle:
eth0 - Netzwerk-Gateway:
10.100.0.254
Die Befehle lauten wie folgt:
1 2 | |
Hinweis
Diese Netzwerkkonfiguration ist temporär; jeder Neustart des Servers setzt daher die mit den Befehlen ip address und ip route vorgenommenen manuellen Einstellungen zurück.
Die dauerhafte Konfiguration wird vom Konfigurationswerkzeug des PostgreSQL-Clusters vorgenommen.
Dank dieser Netzwerkkonfiguration können Sie jedoch nun per SSH auf den PostgreSQL-Knoten zugreifen.
Änderung der Zeitzone¶
Die virtuelle Appliance ist standardmäßig auf die Zeitzone Europe/Paris eingestellt.
Um diese Zeitzone zu ändern, rufen Sie zunächst mit dem folgenden Befehl die Schreibweise der verfügbaren Zeitzonen ab:
1 | |
Verwenden Sie anschließend die folgende Befehlszeile:
1 | |
Beispiel
Um die Zeitzone auf London einzustellen, ist der folgende Befehl auszuführen:
1 | |
Prüfen Sie die Zeitzone des Servers mit der folgenden Befehlszeile:
1 | |
Konfiguration eines NTP-Zeitservers¶
Gefahr
Es wird dringend empfohlen, einen Zeitserver zu konfigurieren, um die Systemuhr aktuell zu halten: Jede Zeitabweichung zwischen den PostgreSQL-Knoten kann zu Instabilität führen und den Cluster sogar außer Betrieb setzen.
Die erforderlichen Schritte sind auf der Seite zur NTP-Konfiguration beschrieben (die Konfiguration entspricht der der Mediation-Controller-Server von CyberElements Bastion).
Erstellung einer PKI zur Erzeugung der Zertifikate der PostgreSQL-Knoten¶
Hinweis
Dieser Abschnitt ist optional, wenn Sie bereits über eine PKI verfügen, mit der Sie die in den Voraussetzungen angegebenen Zertifikate erzeugen konnten.
Dieser Abschnitt stellt die verschiedenen Schritte zur Erstellung einer PKI und der für den PostgreSQL-Cluster erforderlichen Zertifikate vor. Beachten Sie, dass nicht angegeben wird, wie sie zu erneuern sind, da die Erneuerung eines Zertifikats seine Neuerstellung bedeutet.
Achtung!
Das beschriebene Verfahren wurde auf einer Debian-12-Maschine mit dem Paket openssl validiert. Jede Maschine mit einer aktuellen Version von OpenSSL (die validierte Version ist 3.0.17) kann das Verfahren jedoch durchführen. Außer unter Windows oder MacOS, wo die Systembefehle angepasst werden müssen.
Definition der Variablen und Anpassungen¶
Dieser Abschnitt stellt verschiedene Befehle und Konfigurationsdateien bereit, die Variablen verwenden, die geändert werden können.
Die nachstehende Tabelle fasst alle Werte zusammen und ermöglicht es, sie zu definieren, um sie direkt in den auf dieser Seite angezeigten Befehlen zu ändern.
| Wert | Variable | Definition |
|---|---|---|
PSQL_IP |
Virtuelle IP-Adresse des PostgreSQL-Clusters. | |
PSQL_NAME |
Kurzname (nicht der FQDN), der der virtuellen IP-Adresse des PostgreSQL-Clusters zugeordnet ist. | |
PSQL_1_IP |
IP-Adresse des Knotens Nr. 1 des PostgreSQL-Clusters. | |
PSQL_1_NAME |
Kurzname (nicht der FQDN) des Knotens Nr. 1 des PostgreSQL-Clusters. | |
PSQL_2_IP |
IP-Adresse des Knotens Nr. 2 des PostgreSQL-Clusters. | |
PSQL_2_NAME |
Kurzname (nicht der FQDN) des Knotens Nr. 2 des PostgreSQL-Clusters. | |
PSQL_3_IP |
IP-Adresse des Knotens Nr. 3 des PostgreSQL-Clusters. | |
PSQL_3_NAME |
Kurzname (nicht der FQDN) des Knotens Nr. 3 des PostgreSQL-Clusters. | |
CA_ROOT_NAME |
Name, der der Wurzelzertifizierungsstelle (CA) der PKI zugewiesen wird. |
Vorbereitung¶
Die folgenden Aktionen werden in einem neuen Verzeichnis ausgeführt, um alle neuen Dateien in einem einzigen Verzeichnis zusammenzufassen. Es kann ein beliebiges Verzeichnis verwendet werden, sein Zugriff muss jedoch so weit wie möglich eingeschränkt sein. Melden Sie sich als root am PostgreSQL-Knoten Nr. 1 an und führen Sie die folgenden Befehle aus:
1 2 3 | |
Erstellung der Wurzelzertifizierungsstelle¶
Führen Sie den folgenden Befehl aus, um eine neue Wurzel-CA zu erstellen. Sie werden zur Eingabe eines Kennworts zum Schutz der CA aufgefordert:
1 | |
Ersetzen Sie CA_ROOT_NAME durch den Namen der Wurzel-CA, wenn Sie ihn nicht hier angepasst haben.
Erstellung der Zertifikate¶
Die Befehle zur Erzeugung der Zertifikate der PostgreSQL-Knoten lauten wie folgt:
1 2 3 | |
Ersetzen Sie CA_ROOT_NAME, PSQL_IP, PSQL_NAME, PSQL_1_IP und PSQL_1_NAME, wenn Sie sie nicht hier angepasst haben.
1 2 3 | |
Ersetzen Sie CA_ROOT_NAME, PSQL_IP, PSQL_NAME, PSQL_2_IP und PSQL_2_NAME, wenn Sie sie nicht hier angepasst haben.
1 2 3 | |
Ersetzen Sie CA_ROOT_NAME, PSQL_IP, PSQL_NAME, PSQL_3_IP und PSQL_3_NAME, wenn Sie sie nicht hier angepasst haben.
Der erste Befehl erstellt einen neuen Schlüssel, der zweite erzeugt eine Datei mit der Zertifikatsignieranforderung CSR und der dritte erstellt das Zertifikat selbst.
Es bleibt nur noch, das Zertifikat in P12 zu konvertieren, wozu Sie ein Kennwort festlegen müssen:
1 | |
1 | |
1 | |
Die für die Installation des PostgreSQL-Clusters erforderlichen Dateien finden sich hier (ersetzen Sie die Variablen CA_ROOT_NAME, PSQL_1_NAME, PSQL_2_NAME und PSQL_3_NAME durch die zuvor gewählten Werte):
/root/psql-certificates/CA_ROOT_NAME.crt: Zertifikat der Wurzel-CA/root/psql-certificates/PSQL_1_NAME.p12: Zertifikat des PostgreSQL-Knotens Nr. 1/root/psql-certificates/PSQL_2_NAME.p12: Zertifikat des PostgreSQL-Knotens Nr. 2/root/psql-certificates/PSQL_3_NAME.p12: Zertifikat des PostgreSQL-Knotens Nr. 3
Installation eines PostgreSQL-Clusters¶
Hinweis
Die folgenden Schritte müssen auf allen drei PostgreSQL-Knoten ausgeführt werden.
Vorbereitung der Konfiguration des PostgreSQL-Clusters¶
Es muss eine SFTP- oder SCP-Verbindung aufgebaut werden, um an die Appliance zu senden:
- Das Zertifikat der Zertifizierungsstelle, die die Zertifikate der PostgreSQL-Knoten signiert hat
- Das Zertifikat des PostgreSQL-Knotens im Format
P12
Beachten Sie, dass SFTP- oder SCP-Verbindungen nicht mit dem Konto root aufgebaut werden können. Außerdem können die Dateien einfach in /home/systancia/ abgelegt werden.
Diese Dateien müssen in ein neues Verzeichnis verschoben werden:
1 2 3 | |
Ersetzen Sie:
PSQL_?_NAMEdurch den Namen des Zertifikats, das für den gerade installierten PostgreSQL-Knoten vorgesehen istROOT_CA_NAMEdurch den Namen des Zertifikats der Wurzelzertifizierungsstelle
1 2 3 | |
Die obigen Befehle müssen gemäß den Anpassungsparametern angepasst worden sein.
1 2 3 | |
Die obigen Befehle müssen gemäß den Anpassungsparametern angepasst worden sein.
1 2 3 | |
Die obigen Befehle müssen gemäß den Anpassungsparametern angepasst worden sein.
Konfiguration des PostgreSQL-Knotens¶
Um die Initialisierung der Konfiguration des Knotens zu starten, müssen die folgenden Befehle ausgeführt werden:
1 2 | |
Der zweite Befehl startet ein Werkzeug, das die folgenden Informationen verlangt:
- Die neuen Kennwörter der lokalen Benutzer
rootundsystancia - Den Namen des PostgreSQL-Knotens (nicht den FQDN)
- Die IP-Adresse des PostgreSQL-Knotens, den Namen seiner Netzwerkschnittstelle, das zu verwendende Standard-Gateway des Netzwerks sowie die DNS-Server und das DNS-Suffix
- Die Version von PostgreSQL; wir empfehlen die Version
15 - Den Zugriffsport auf den PostgreSQL-Cluster; wir empfehlen den Port
5432 - Das Kennwort des PostgreSQL-Kontos, das für die Replikation und für
pg_rewindverwendet wird - Den Namen und die IP-Adresse eines zweiten PostgreSQL-Knotens
- Den Namen und die IP-Adresse des letzten PostgreSQL-Knotens
- Die virtuelle IP-Adresse des PostgreSQL-Clusters
- Die IP-Adressen (durch Kommas getrennt) der Edge Gateways von CyberElements Bastion oder aller anderen Maschinen, die sich mit dem Cluster verbinden müssen
- Den Namen und das Kennwort des PostgreSQL-Benutzerkontos
- Die IP-Adressen oder Netzwerke (durch Kommas getrennt), die zur Verbindung per SSH mit den PostgreSQL-Knoten berechtigt sind
- Die Zertifikatsinformationen des PostgreSQL-Knotens (Zertifikat des Knotens im P12-Format + Zertifikat der Wurzel-CA)
Nach der Eingabe dieser Informationen wird vor der Bestätigung eine Zusammenfassung aller Ihrer Angaben angezeigt.
Nach der Bestätigung der angegebenen Informationen erscheint eine Meldung zu den Änderungen an der Datei /etc/ssh/sshd_config. Wählen Sie die Standardoption keep the local version currently installed.
Um die Konfiguration anzuwenden, ist ein Neustart erforderlich:
1 | |
Tipp zur Beschleunigung der Installation der PostgreSQL-Knoten Nr. 2 und Nr. 3
Nach der Installation des PostgreSQL-Knotens Nr. 1 können Sie die für seine Installation verwendeten Konfigurationsparameter in der Datei /etc/cleanroom-vault.ini abrufen.
Beispiel der Datei /etc/cleanroom-vault.ini
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 | |
Es genügt, die hervorgehobenen Zeilen mit den Werten des gerade installierten PostgreSQL-Knotens zu ändern, ausgehend von der Datei, die Sie vom PostgreSQL-Knoten Nr. 1 abgerufen haben.
Gefahr
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¶
Damit die Befehle zur Verwaltung des PostgreSQL-Clusters mit patronictl verwendet werden können, müssen auf dem PostgreSQL-Knoten noch einige Befehle als root ausgeführt werden:
1 2 3 4 | |
Zusätzliche Konfigurationen für etcd¶
Um die automatische Kompaktierung und Defragmentierung der etcd-Datenbank zu aktivieren, führen Sie die folgenden Befehle als root auf dem PostgreSQL-Knoten aus:
1 2 3 4 5 6 7 | |
Erstellung der für die Installation von CyberElements Bastion erforderlichen Datenbank default¶
Bei der Installation von CyberElements Bastion müssen Sie zunächst eine Datenbank mit dem Namen default erstellen.
Füllen Sie dazu die folgende Tabelle aus, um den Befehl anzupassen, den Sie von einem beliebigen Knoten des PostgreSQL-Clusters aus ausführen müssen:
| Wert | Variable | Definition |
|---|---|---|
PSQL_VIP |
Virtuelle IP-Adresse des PostgreSQL-Clusters. | |
DB_USER |
Der Benutzername der Datenbank, der bei der Konfiguration des PostgreSQL-Knotens angegeben wurde |
Befehl, der von einem beliebigen Knoten des PostgreSQL-Clusters aus auszuführen ist:
1 | |