Installatie¶
Opmerking
Ter herinnering: het overschakelen naar root moet op Debian-machines met de volgende opdracht gebeuren:
1 | |
De instructies op deze pagina moeten worden gevolgd voor de installatie van alle nodes van het PostgreSQL-cluster.
Systeeminstellingen¶
Verbinding met de machine¶
Op de virtuele appliances bestaan er standaard twee accounts: een gebruikersaccount en een superuseraccount.
- Gebruikersaccount
- Login:
systancia - Wachtwoord:
systnci
- Login:
- Superuseraccount
- Login:
root - Wachtwoord:
systnci
- Login:
Maak in consolemodus verbinding met de machine.
Opmerking
De standaardtoetsenbordindeling is QWERTY.
De toetsenbordindeling wijzigen¶
U kunt de toetsenbordindeling wijzigen met de volgende opdrachtregel:
1 | |
Er verschijnt een menu waarin u een andere toetsenbordindeling kunt kiezen.
Gebruik vervolgens de volgende opdrachtregel om de instellingen toe te passen en op te slaan:
1 | |
De instellingen worden onmiddellijk na het uitvoeren van deze opdracht van kracht.
Configuratie van het netwerk¶
Het is mogelijk dat de virtuele appliance bij het opstarten geen netwerkconfiguratie ontvangt, om de volgende redenen:
- De naam van de netwerkinterface is niet
ens192: de appliance is voor DHCP geconfigureerd alleen op de interfaceens192 - Er is geen DHCP-server beschikbaar
Voer de volgende opdracht uit als root om de naam van de netwerkinterface, de status ervan en de toegewezen IP-adressen te controleren:
1 | |
Voorbeeld
Na het uitvoeren van de opdracht wordt het volgende antwoord weergegeven:
1 | |
De naam van de netwerkinterface in het voorbeeld is ens192, de interface is actief en heeft het IP-adres 10.100.0.51/24.
Als de naam afwijkt van ens192 of als de opdracht geen enkele netwerkinstelling teruggeeft, moet u het netwerk handmatig configureren met de volgende opdrachten:
1 2 | |
Vervang:
IP_ADDRESSdoor het IP-adres van de machineSUBNETdoor het subnetDEV_NAMEnaam van de eerder opgevraagde netwerkinterfaceGATEWAYdoor de gateway van het netwerk
Voorbeeld
Om de PostgreSQL-node met de volgende informatie te configureren:
- IP-adres:
10.100.0.51 - Subnet:
/24of255.255.255.0 - Naam van de netwerkinterface:
eth0 - Gateway van het netwerk:
10.100.0.254
De opdrachten zijn de volgende:
1 2 | |
Opmerking
Deze netwerkconfiguratie is tijdelijk; elke herstart van de server zet daarom de handmatige instellingen terug die met de opdrachten ip address en ip route zijn uitgevoerd.
De permanente configuratie wordt uitgevoerd door het configuratiehulpprogramma van het PostgreSQL-cluster.
Dankzij deze netwerkconfiguratie hebt u nu echter via SSH toegang tot de PostgreSQL-node.
De tijdzone wijzigen¶
De virtuele appliance is standaard ingesteld op de tijdzone Europe/Paris.
Haal, om deze tijdzone te wijzigen, eerst met de volgende opdracht de schrijfwijze van de beschikbare tijdzones op:
1 | |
Gebruik vervolgens de volgende opdrachtregel:
1 | |
Voorbeeld
Om de tijdzone op Londen in te stellen, moet de volgende opdracht worden uitgevoerd:
1 | |
Controleer de tijdzone van de server met de volgende opdrachtregel:
1 | |
Een NTP-tijdserver configureren¶
Gevaar
Het wordt sterk aanbevolen een tijdserver te configureren om de systeemklok actueel te houden: elk tijdsverschil tussen de PostgreSQL-nodes kan instabiliteit veroorzaken en het cluster zelfs buiten werking stellen.
De benodigde stappen worden beschreven op de pagina over de NTP-configuratie (de configuratie is gelijkwaardig aan die van de Mediation Controller-servers van CyberElements Bastion).
Een PKI aanmaken om de certificaten van de PostgreSQL-nodes te genereren¶
Informatie
Deze sectie is optioneel als u al een PKI hebt waarmee u de certificaten die in de voorwaarden zijn vermeld hebt kunnen genereren.
Deze sectie presenteert de verschillende stappen voor het aanmaken van een PKI en van de certificaten die nodig zijn voor het PostgreSQL-cluster. Merk op dat niet wordt aangegeven hoe u ze vernieuwt, aangezien het vernieuwen van een certificaat betekent dat het opnieuw wordt aangemaakt.
Waarschuwing!
De beschreven procedure is gevalideerd op een Debian 12-machine met het pakket openssl. Elke machine met een recente versie van OpenSSL (de gevalideerde versie is 3.0.17) kan de procedure echter uitvoeren. Behalve onder Windows of MacOS, waar de systeemopdrachten moeten worden aangepast.
Definitie van de variabelen en aanpassingen¶
Deze sectie biedt verschillende opdrachten en configuratiebestanden die variabelen gebruiken die kunnen worden gewijzigd.
De onderstaande tabel vat alle waarden samen en maakt het mogelijk ze te definiëren, zodat u ze direct kunt wijzigen in de opdrachten die op deze pagina worden weergegeven.
| Waarde | Variabele | Definitie |
|---|---|---|
PSQL_IP |
Virtueel IP-adres van het PostgreSQL-cluster. | |
PSQL_NAME |
Korte naam (niet de FQDN) die is gekoppeld aan het virtuele IP-adres van het PostgreSQL-cluster. | |
PSQL_1_IP |
IP-adres van node nr. 1 van het PostgreSQL-cluster. | |
PSQL_1_NAME |
Korte naam (niet de FQDN) van node nr. 1 van het PostgreSQL-cluster. | |
PSQL_2_IP |
IP-adres van node nr. 2 van het PostgreSQL-cluster. | |
PSQL_2_NAME |
Korte naam (niet de FQDN) van node nr. 2 van het PostgreSQL-cluster. | |
PSQL_3_IP |
IP-adres van node nr. 3 van het PostgreSQL-cluster. | |
PSQL_3_NAME |
Korte naam (niet de FQDN) van node nr. 3 van het PostgreSQL-cluster. | |
CA_ROOT_NAME |
Naam die wordt toegekend aan de root-certificeringsinstantie (CA) van de PKI. |
Voorbereiding¶
De volgende acties worden uitgevoerd in een nieuwe map, om alle nieuwe bestanden in één map samen te brengen. Elke map kan worden gebruikt, maar de toegang ertoe moet zo veel mogelijk worden beperkt. Meld u als root aan op PostgreSQL-node nr. 1 en voer de volgende opdrachten uit:
1 2 3 | |
De root-certificeringsinstantie aanmaken¶
Voer de volgende opdracht uit om een nieuwe root-CA aan te maken. U wordt gevraagd om een wachtwoord om de CA te beschermen:
1 | |
Vervang CA_ROOT_NAME door de naam van de root-CA als u deze niet hier hebt aangepast.
De certificaten aanmaken¶
De opdrachten die nodig zijn om de certificaten van de PostgreSQL-nodes te genereren, zijn de volgende:
1 2 3 | |
Vervang CA_ROOT_NAME, PSQL_IP, PSQL_NAME, PSQL_1_IP en PSQL_1_NAME als u deze niet hier hebt aangepast.
1 2 3 | |
Vervang CA_ROOT_NAME, PSQL_IP, PSQL_NAME, PSQL_2_IP en PSQL_2_NAME als u deze niet hier hebt aangepast.
1 2 3 | |
Vervang CA_ROOT_NAME, PSQL_IP, PSQL_NAME, PSQL_3_IP en PSQL_3_NAME als u deze niet hier hebt aangepast.
De eerste opdracht maakt een nieuwe sleutel aan, de tweede genereert een bestand met de certificaataanvraag CSR en de derde maakt het certificaat zelf aan.
Nu hoeft het certificaat alleen nog naar P12 te worden geconverteerd, waarvoor u een wachtwoord moet instellen:
1 | |
1 | |
1 | |
De bestanden die nodig zijn om het PostgreSQL-cluster te installeren, vindt u hier (vervang de variabelen CA_ROOT_NAME, PSQL_1_NAME, PSQL_2_NAME en PSQL_3_NAME door de waarden die u eerder hebt gekozen):
/root/psql-certificates/CA_ROOT_NAME.crt: certificaat van de root-CA/root/psql-certificates/PSQL_1_NAME.p12: certificaat van PostgreSQL-node nr. 1/root/psql-certificates/PSQL_2_NAME.p12: certificaat van PostgreSQL-node nr. 2/root/psql-certificates/PSQL_3_NAME.p12: certificaat van PostgreSQL-node nr. 3
Installatie van een PostgreSQL-cluster¶
Informatie
De volgende stappen moeten op alle drie de PostgreSQL-nodes worden uitgevoerd.
Voorbereiding van de configuratie van het PostgreSQL-cluster¶
Er moet een SFTP- of SCP-verbinding worden opgezet om het volgende naar de appliance te sturen:
- Het certificaat van de certificeringsinstantie die de certificaten van de PostgreSQL-nodes heeft ondertekend
- Het certificaat van de PostgreSQL-node in het formaat
P12
Let op: SFTP- of SCP-verbindingen kunnen niet met het account root worden opgezet. Verder kunnen de bestanden eenvoudig in /home/systancia/ worden geplaatst.
Deze bestanden moeten naar een nieuwe map worden verplaatst:
1 2 3 | |
Vervang:
PSQL_?_NAMEdoor de naam van het certificaat dat bestemd is voor de PostgreSQL-node die wordt geïnstalleerdROOT_CA_NAMEdoor de naam van het certificaat van de root-certificeringsinstantie
1 2 3 | |
De bovenstaande opdrachten moeten zijn aangepast volgens de aanpassingsinstellingen.
1 2 3 | |
De bovenstaande opdrachten moeten zijn aangepast volgens de aanpassingsinstellingen.
1 2 3 | |
De bovenstaande opdrachten moeten zijn aangepast volgens de aanpassingsinstellingen.
Configuratie van de PostgreSQL-node¶
Om te beginnen met het initialiseren van de configuratie van de node moeten de volgende opdrachten worden uitgevoerd:
1 2 | |
De tweede opdracht start een hulpprogramma dat de volgende informatie vraagt:
- De nieuwe wachtwoorden van de lokale gebruikers
rootensystancia - De naam van de PostgreSQL-node (niet de FQDN)
- Het IP-adres van de PostgreSQL-node, de naam van de netwerkinterface, de standaardgateway van het netwerk die moet worden gebruikt, en ook de DNS-servers en het DNS-suffix
- De versie van PostgreSQL; wij raden versie
15aan - De poort voor toegang tot het PostgreSQL-cluster; wij raden poort
5432aan - Het wachtwoord van het PostgreSQL-account dat wordt gebruikt voor de replicatie en voor
pg_rewind - De naam en het IP-adres van een tweede PostgreSQL-node
- De naam en het IP-adres van de laatste PostgreSQL-node
- Het virtuele IP-adres van het PostgreSQL-cluster
- De IP-adressen (gescheiden door komma's) van de Edge Gateways van CyberElements Bastion of van alle andere machines die verbinding met het cluster moeten maken
- De naam en het wachtwoord van het PostgreSQL-gebruikersaccount
- De IP-adressen of netwerken (gescheiden door komma's) die via SSH verbinding met de PostgreSQL-nodes mogen maken
- De certificaatinformatie van de PostgreSQL-node (certificaat van de node in P12-formaat + certificaat van de root-CA)
Na het invoeren van deze informatie wordt vóór de validatie een overzicht van al uw gegevens weergegeven.
Nadat u de opgegeven informatie hebt bevestigd, verschijnt er een melding over de wijzigingen aan het bestand /etc/ssh/sshd_config. Selecteer de standaardoptie keep the local version currently installed.
Om de configuratie toe te passen, is een herstart nodig:
1 | |
Tip om de installatie van de PostgreSQL-nodes nr. 2 en nr. 3 te versnellen
Na de installatie van PostgreSQL-node nr. 1 kunt u de configuratie-instellingen die voor de installatie zijn gebruikt, terugvinden in het bestand /etc/cleanroom-vault.ini.
Voorbeeld van het bestand /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 | |
Het is voldoende de gemarkeerde regels te wijzigen met de waarden van de PostgreSQL-node die wordt geïnstalleerd, op basis van het bestand dat u van PostgreSQL-node nr. 1 hebt opgehaald.
Gevaar
Als u het voorbeeldbestand hergebruikt, moet u alle volgende gemarkeerde waarden aanpassen aan uw omgeving:
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 | |
Aanvullende configuraties voor patronictl¶
Om de opdrachten voor het beheer van het PostgreSQL-cluster met patronictl te kunnen gebruiken, moeten op de PostgreSQL-node nog enkele opdrachten als root worden uitgevoerd:
1 2 3 4 | |
Aanvullende configuraties voor etcd¶
Voer de volgende opdrachten uit als root op de PostgreSQL-node om automatische compactie en defragmentatie van de database van etcd in te schakelen:
1 2 3 4 5 6 7 | |
De database default aanmaken die nodig is voor de installatie van CyberElements Bastion¶
Bij de installatie van CyberElements Bastion moet u eerst een database met de naam default aanmaken.
Vul daarvoor de onderstaande tabel in om de opdracht aan te passen die u vanaf een willekeurige node van het PostgreSQL-cluster moet uitvoeren:
| Waarde | Variabele | Definitie |
|---|---|---|
PSQL_VIP |
Virtueel IP-adres van het PostgreSQL-cluster. | |
DB_USER |
De gebruikersnaam van de database die is opgegeven tijdens de configuratie van de PostgreSQL-node |
Opdracht die vanaf een willekeurige node van het PostgreSQL-cluster moet worden uitgevoerd:
1 | |