Installasjon¶
Merk
Til påminnelse: bytte til root på Debian-maskiner må gjøres med følgende kommando:
1 | |
Instruksjonene på denne siden skal følges for installasjonen av alle nodene i PostgreSQL-clusteret.
Systeminnstillinger¶
Tilkobling til maskinen¶
Som standard finnes det to kontoer på virtuelle appliances: en brukerkonto og en superbrukerkonto.
- Brukerkonto
- Pålogging :
systancia - Passord:
systnci
- Pålogging :
- Superbrukerkonto
- Pålogging :
root - Passord:
systnci
- Pålogging :
Koble deg til maskinen i konsollmodus.
Merk
Standard tastaturoppsett er QWERTY.
Endring av tastaturoppsettet¶
Du kan endre tastaturoppsettet med følgende kommandolinje:
1 | |
Det vises en meny der du kan velge et annet tastaturoppsett.
Bruk deretter følgende kommandolinje for å bruke og lagre innstillingene:
1 | |
Innstillingene får virkning umiddelbart etter at denne kommandoen er kjørt.
Konfigurasjon av nettverket¶
Det er mulig at den virtuelle appliancen ikke får noen nettverkskonfigurasjon ved oppstart, av følgende grunner:
- Navnet på nettverksgrensesnittet er ikke
ens192: appliancen er konfigurert for DHCP bare på grensesnittetens192 - Ingen DHCP-server er tilgjengelig
For å kontrollere navnet på nettverksgrensesnittet, statusen og de tilordnede IP-adressene kjører du følgende kommando som root:
1 | |
Eksempel
Etter at kommandoen er utført, vises følgende svar:
1 | |
Navnet på nettverksgrensesnittet i eksempelet er ens192, grensesnittet er aktivt og har IP-adressen 10.100.0.51/24.
Hvis navnet er forskjellig fra ens192, eller hvis kommandoen ikke returnerer noen nettverksinnstillinger, må du konfigurere nettverket manuelt med følgende kommandoer:
1 2 | |
Erstatt:
IP_ADDRESSmed maskinens IP-adresseSUBNETmed subnettetDEV_NAMEnavnet på nettverksgrensesnittet du hentet tidligereGATEWAYmed nettverkets gateway
Eksempel
For å konfigurere PostgreSQL-noden med følgende informasjon:
- IP-adresse:
10.100.0.51 - Subnett:
/24eller255.255.255.0 - Navn på nettverksgrensesnitt:
eth0 - Nettverkets gateway:
10.100.0.254
Kommandoene er som følger:
1 2 | |
Merk
Denne nettverkskonfigurasjonen er midlertidig, og enhver omstart av serveren vil derfor nullstille de manuelle innstillingene som er gjort med kommandoene ip address og ip route.
Den permanente konfigurasjonen utføres av konfigurasjonsverktøyet for PostgreSQL-clusteret.
Takket være denne nettverkskonfigurasjonen kan du imidlertid nå få tilgang til PostgreSQL-noden via SSH.
Endring av tidssonen¶
Som standard er den virtuelle appliancen satt til tidssonen Europe/Paris.
For å endre denne tidssonen henter du først skrivemåten for de tilgjengelige tidssonene med følgende kommando:
1 | |
Bruk deretter følgende kommandolinje:
1 | |
Eksempel
For å sette tidssonen til London må følgende kommando kjøres:
1 | |
Kontroller tidssonen til serveren med følgende kommandolinje:
1 | |
Konfigurasjon av en NTP-tidsserver¶
Fare
Det anbefales sterkt å konfigurere en tidsserver for å holde systemklokken oppdatert: enhver tidsforskjell mellom PostgreSQL-nodene kan føre til ustabilitet eller til at clusteret slutter å fungere.
De nødvendige trinnene er beskrevet på siden om NTP-konfigurasjon (konfigurasjonen tilsvarer den for Mediation Controller-serverne til CyberElements Bastion).
Opprette en PKI for å generere sertifikater for PostgreSQL-nodene¶
Informasjon
Denne delen er valgfri hvis du allerede har en PKI som du har kunnet generere sertifikatene som er angitt i forutsetningene, med.
Denne delen presenterer de ulike trinnene for å opprette en PKI og sertifikatene som PostgreSQL-clusteret krever. Merk at det ikke angis hvordan de fornyes, siden fornyelse av et sertifikat innebærer at det opprettes på nytt.
OBS!
Den beskrevne prosedyren er validert på en Debian 12-maskin med pakken openssl. Enhver maskin med en nyere versjon av OpenSSL (den validerte versjonen er 3.0.17) kan imidlertid gjennomføre prosedyren. Med unntak av Windows eller MacOS, der systemkommandoene må tilpasses.
Definisjon av variabler og tilpasninger¶
Denne delen inneholder ulike kommandoer og konfigurasjonsfiler som bruker variabler som kan endres.
Tabellen nedenfor oppsummerer alle verdiene og gjør det mulig å definere dem, slik at du kan endre dem direkte i kommandoene som vises på denne siden.
| Verdi | Variabel | Definisjon |
|---|---|---|
PSQL_IP |
Virtuell IP-adresse til PostgreSQL-clusteret. | |
PSQL_NAME |
Kort navn (ikke FQDN) som er knyttet til den virtuelle IP-adressen til PostgreSQL-clusteret. | |
PSQL_1_IP |
IP-adresse til node nr. 1 i PostgreSQL-clusteret. | |
PSQL_1_NAME |
Kort navn (ikke FQDN) på node nr. 1 i PostgreSQL-clusteret. | |
PSQL_2_IP |
IP-adresse til node nr. 2 i PostgreSQL-clusteret. | |
PSQL_2_NAME |
Kort navn (ikke FQDN) på node nr. 2 i PostgreSQL-clusteret. | |
PSQL_3_IP |
IP-adresse til node nr. 3 i PostgreSQL-clusteret. | |
PSQL_3_NAME |
Kort navn (ikke FQDN) på node nr. 3 i PostgreSQL-clusteret. | |
CA_ROOT_NAME |
Navn som tilordnes rotsertifiseringsinstansen (CA) i PKI-en. |
Forberedelse¶
De følgende handlingene utføres i en ny katalog for å samle alle de nye filene i én enkelt katalog. Det kan brukes en vilkårlig katalog, men tilgangen til den må være så begrenset som mulig. *Logg på PostgreSQL-node nr. 1 som root og kjør følgende kommandoer:
1 2 3 | |
Opprettelse av rotsertifiseringsinstansen¶
Kjør følgende kommando for å opprette en ny rot-CA. Du blir bedt om et passord for å beskytte CA-en:
1 | |
Erstatt CA_ROOT_NAME med navnet på rot-CA-en hvis du ikke har tilpasset det her.
Opprettelse av sertifikatene¶
Kommandoene som kreves for å generere sertifikater for PostgreSQL-nodene, er som følger:
1 2 3 | |
Erstatt CA_ROOT_NAME, PSQL_IP, PSQL_NAME, PSQL_1_IP og PSQL_1_NAME hvis du ikke har tilpasset dem her.
1 2 3 | |
Erstatt CA_ROOT_NAME, PSQL_IP, PSQL_NAME, PSQL_2_IP og PSQL_2_NAME hvis du ikke har tilpasset dem her.
1 2 3 | |
Erstatt CA_ROOT_NAME, PSQL_IP, PSQL_NAME, PSQL_3_IP og PSQL_3_NAME hvis du ikke har tilpasset dem her.
Den første kommandoen oppretter en ny nøkkel, den andre genererer en CSR-fil med sertifikatsigneringsforespørselen, og den tredje oppretter selve sertifikatet.
Det gjenstår bare å konvertere sertifikatet til P12, noe som krever at du angir et passord:
1 | |
1 | |
1 | |
Filene som kreves for å installere PostgreSQL-clusteret, finner du her (erstatt variablene CA_ROOT_NAME, PSQL_1_NAME, PSQL_2_NAME og PSQL_3_NAME med verdiene du valgte tidligere):
/root/psql-certificates/CA_ROOT_NAME.crt: sertifikatet til rot-CA-en/root/psql-certificates/PSQL_1_NAME.p12: sertifikatet til PostgreSQL-node nr. 1/root/psql-certificates/PSQL_2_NAME.p12: sertifikatet til PostgreSQL-node nr. 2/root/psql-certificates/PSQL_3_NAME.p12: sertifikatet til PostgreSQL-node nr. 3
Installasjon av et PostgreSQL-cluster¶
Informasjon
De følgende trinnene må utføres på alle de tre PostgreSQL-nodene.
Forberedelse av konfigurasjonen av PostgreSQL-clusteret¶
Det er nødvendig å opprette en SFTP- eller SCP-forbindelse for å sende til appliancen:
- Sertifikatet fra sertifiseringsinstansen som har signert sertifikatene til PostgreSQL-nodene
- Sertifikatet til PostgreSQL-noden i
P12-format
Merk at SFTP- eller SCP-forbindelser ikke kan opprettes med kontoen root. Filene kan i tillegg legges rett i /home/systancia/.
Disse filene må flyttes til en ny katalog:
1 2 3 | |
Erstatt:
PSQL_?_NAMEmed navnet på sertifikatet som er beregnet på PostgreSQL-noden som installeresROOT_CA_NAMEmed navnet på sertifikatet til rotsertifiseringsinstansen
1 2 3 | |
Kommandoene ovenfor må være tilpasset i henhold til tilpasningsinnstillingene.
1 2 3 | |
Kommandoene ovenfor må være tilpasset i henhold til tilpasningsinnstillingene.
1 2 3 | |
Kommandoene ovenfor må være tilpasset i henhold til tilpasningsinnstillingene.
Konfigurasjon av PostgreSQL-noden¶
For å starte initialiseringen av konfigurasjonen av noden må følgende kommandoer kjøres:
1 2 | |
Den andre kommandoen starter et verktøy som krever følgende informasjon:
- Nye passord for de lokale brukerne
rootogsystancia - Navnet på PostgreSQL-noden (ikke FQDN)
- IP-adressen til PostgreSQL-noden, navnet på nettverksgrensesnittet, standard nettverksgateway som skal brukes, samt DNS-serverne og DNS-suffikset
- Versjonen av PostgreSQL; vi anbefaler versjon
15 - Tilgangsporten til PostgreSQL-clusteret; vi anbefaler port
5432 - Passordet til PostgreSQL-kontoen som brukes til replikering og til
pg_rewind - Navn og IP-adresse til en andre PostgreSQL-node
- Navn og IP-adresse til den siste PostgreSQL-noden
- Virtuell IP-adresse til PostgreSQL-clusteret
- IP-adressene (atskilt med komma) til Edge Gateway-serverne til CyberElements Bastion eller til alle andre maskiner som må koble til clusteret
- Navn og passord for PostgreSQL-brukerkontoen
- IP-adressene eller nettverkene (atskilt med komma) som har tillatelse til å koble til PostgreSQL-nodene via SSH
- Sertifikatinformasjon for PostgreSQL-noden (nodens sertifikat i P12-format + sertifikatet til rot-CA-en)
Etter at du har oppgitt denne informasjonen, vises et sammendrag av alle oppføringene dine før bekreftelsen.
Etter at du har bekreftet informasjonen som er oppgitt, vises en melding om endringene i filen /etc/ssh/sshd_config. Velg standardalternativet keep the local version currently installed.
For å ta i bruk konfigurasjonen kreves en omstart:
1 | |
Tips for å gjøre installasjonen av PostgreSQL-node nr. 2 og nr. 3 raskere
Etter installasjonen av PostgreSQL-node nr. 1 kan du hente konfigurasjonsinnstillingene som ble brukt til å sette den opp, i filen /etc/cleanroom-vault.ini.
Eksempel på filen /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 | |
Det er nok å endre de uthevede linjene med verdiene til PostgreSQL-noden som installeres, med utgangspunkt i filen du hentet fra PostgreSQL-node nr. 1.
Fare
Hvis du gjenbruker eksempelfilen, må du endre alle de følgende uthevede verdiene i henhold til miljøet ditt:
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 | |
Ytterligere konfigurasjoner for patronictl¶
For at kommandoene for å administrere PostgreSQL-clusteret med patronictl skal kunne brukes, må det kjøres noen kommandoer som root på PostgreSQL-noden:
1 2 3 4 | |
Ytterligere konfigurasjoner for etcd¶
Kjør følgende kommandoer som root på PostgreSQL-noden for å aktivere automatisk komprimering og defragmentering av etcd-databasen:
1 2 3 4 5 6 7 | |
Opprettelse av databasen default som kreves for å installere CyberElements Bastion¶
Når du installerer CyberElements Bastion, må du først opprette en database som heter default.
Fyll ut tabellen nedenfor for å tilpasse kommandoen du må kjøre fra en vilkårlig node i PostgreSQL-clusteret:
| Verdi | Variabel | Definisjon |
|---|---|---|
PSQL_VIP |
Virtuell IP-adresse til PostgreSQL-clusteret. | |
DB_USER |
Brukernavnet for databasen som ble angitt under konfigurasjonen av PostgreSQL-noden |
Kommando som skal kjøres fra en vilkårlig av nodene i PostgreSQL-clusteret:
1 | |