Instalare¶
Notă
Ca reamintire, trecerea la root pe mașinile Debian trebuie făcută cu următoarea comandă:
1 | |
Instrucțiunile prezentate în această pagină trebuie urmate pentru instalarea tuturor nodurilor clusterului PostgreSQL.
Setări ale sistemelor¶
Conectarea la mașină¶
În mod implicit, pe appliance-urile virtuale există două conturi: un cont de utilizator și un cont de superutilizator.
- Cont de utilizator
- Login:
systancia - Parolă:
systnci
- Login:
- Cont de superutilizator
- Login:
root - Parolă:
systnci
- Login:
Conectați-vă la mașină în mod consolă.
Notă
Aranjamentul implicit al tastaturii este QWERTY.
Modificarea aranjamentului tastaturii¶
Puteți schimba aranjamentul tastaturii cu următoarea linie de comandă:
1 | |
Apare un meniu care vă permite să alegeți un alt aranjament de tastatură.
Apoi utilizați următoarea linie de comandă pentru a aplica și a salva setările:
1 | |
Setările intră în vigoare imediat după executarea acestei comenzi.
Configurarea rețelei¶
Este posibil ca appliance-ul virtual să nu primească nicio configurare de rețea la pornire, din următoarele motive:
- Numele interfeței de rețea nu este
ens192: appliance-ul este configurat pentru DHCP numai pe interfațaens192 - Nu este disponibil niciun server DHCP
Pentru a verifica numele interfeței de rețea, starea sa și adresele IP atribuite, executați următoarea comandă ca root:
1 | |
Exemplu
După executarea comenzii, se afișează următorul răspuns:
1 | |
Numele interfeței de rețea din exemplu este ens192, interfața este activă și are adresa IP 10.100.0.51/24.
Dacă numele este diferit de ens192 sau dacă comanda nu returnează nicio setare de rețea, va trebui să configurați rețeaua manual cu următoarele comenzi:
1 2 | |
Înlocuiți:
IP_ADDRESScu adresa IP a mașiniiSUBNETcu subrețeauaDEV_NAMEnumele interfeței de rețea obținute anteriorGATEWAYcu gateway-ul de rețea
Exemplu
Pentru a configura nodul PostgreSQL cu următoarele informații:
- Adresă IP:
10.100.0.51 - Subrețea:
/24sau255.255.255.0 - Numele interfeței de rețea:
eth0 - Gateway de rețea:
10.100.0.254
Comenzile sunt următoarele:
1 2 | |
Notă
Această configurare de rețea este temporară, prin urmare orice repornire a serverului va reinițializa setările manuale efectuate cu comenzile ip address și ip route.
Configurarea permanentă va fi realizată de utilitarul de configurare a clusterului PostgreSQL.
Totuși, datorită acestei configurări de rețea, puteți accesa acum nodul PostgreSQL prin SSH.
Modificarea fusului orar¶
În mod implicit, appliance-ul virtual este configurat pe fusul orar Europe/Paris.
Pentru a schimba acest fus orar, utilizați mai întâi următoarea comandă pentru a obține sintaxa fusurilor orare disponibile:
1 | |
Utilizați apoi următoarea linie de comandă:
1 | |
Exemplu
Pentru a seta fusul orar la Londra, trebuie executată următoarea comandă:
1 | |
Verificați fusul orar al serverului cu următoarea linie de comandă:
1 | |
Configurarea unui server de timp NTP¶
Pericol
Se recomandă insistent să configurați un server de timp pentru a menține ceasul sistemului actualizat: orice diferență de timp între nodurile PostgreSQL poate provoca instabilitate sau chiar poate scoate clusterul din funcțiune.
Etapele necesare sunt descrise în pagina de configurare NTP (configurarea este echivalentă cu cea a serverelor Mediation Controller CyberElements Bastion).
Crearea unei PKI pentru a genera certificatele nodurilor PostgreSQL¶
Informație
Această secțiune este opțională dacă dispuneți deja de o PKI cu care ați putut genera certificatele indicate în cerințele preliminare.
Această secțiune prezintă diferitele etape de creare a unei PKI și a certificatelor necesare pentru clusterul PostgreSQL. Rețineți că nu se va indica modul de reînnoire a acestora, deoarece reînnoirea unui certificat implică recrearea sa.
Atenție!
Procedura descrisă a fost validată pe o mașină Debian 12 cu pachetul openssl. Totuși, orice mașină care dispune de o versiune recentă de OpenSSL (versiunea validată fiind 3.0.17) va putea finaliza procedura. Cu excepția Windows sau MacOS, unde comenzile de sistem vor trebui adaptate.
Definirea variabilelor și a personalizărilor¶
Această secțiune furnizează diverse comenzi și fișiere de configurare care utilizează variabile ce pot fi modificate.
Tabelul de mai jos reunește toate valorile și permite definirea lor, pentru a le putea modifica direct în comenzile afișate în această pagină.
| Valoare | Variabilă | Definiție |
|---|---|---|
PSQL_IP |
Adresa IP virtuală a clusterului PostgreSQL. | |
PSQL_NAME |
Numele scurt (nu FQDN-ul) asociat adresei IP virtuale a clusterului PostgreSQL. | |
PSQL_1_IP |
Adresa IP a nodului nr. 1 al clusterului PostgreSQL. | |
PSQL_1_NAME |
Numele scurt (nu FQDN-ul) al nodului nr. 1 al clusterului PostgreSQL. | |
PSQL_2_IP |
Adresa IP a nodului nr. 2 al clusterului PostgreSQL. | |
PSQL_2_NAME |
Numele scurt (nu FQDN-ul) al nodului nr. 2 al clusterului PostgreSQL. | |
PSQL_3_IP |
Adresa IP a nodului nr. 3 al clusterului PostgreSQL. | |
PSQL_3_NAME |
Numele scurt (nu FQDN-ul) al nodului nr. 3 al clusterului PostgreSQL. | |
CA_ROOT_NAME |
Numele atribuit autorității de certificare (CA) rădăcină a PKI. |
Pregătire¶
Acțiunile următoare se vor efectua într-un director nou, pentru a reuni toate fișierele noi într-un singur director. Poate fi utilizat orice director, dar accesul la acesta trebuie limitat cât mai mult posibil. *Conectați-vă la nodul PostgreSQL nr. 1 ca root și executați următoarele comenzi:
1 2 3 | |
Crearea autorității de certificare rădăcină¶
Executați următoarea comandă pentru a crea o nouă CA rădăcină. Vi se va solicita o parolă pentru a proteja CA:
1 | |
Înlocuiți CA_ROOT_NAME cu numele CA rădăcină dacă nu l-ați personalizat aici.
Crearea certificatelor¶
Comenzile necesare pentru a genera certificatele nodurilor PostgreSQL sunt următoarele:
1 2 3 | |
Înlocuiți CA_ROOT_NAME, PSQL_IP, PSQL_NAME, PSQL_1_IP și PSQL_1_NAME dacă nu le-ați personalizat aici.
1 2 3 | |
Înlocuiți CA_ROOT_NAME, PSQL_IP, PSQL_NAME, PSQL_2_IP și PSQL_2_NAME dacă nu le-ați personalizat aici.
1 2 3 | |
Înlocuiți CA_ROOT_NAME, PSQL_IP, PSQL_NAME, PSQL_3_IP și PSQL_3_NAME dacă nu le-ați personalizat aici.
Prima comandă creează o cheie nouă, a doua generează un fișier de cerere de semnare a certificatului CSR, iar a treia creează certificatul propriu-zis.
Mai rămâne doar să convertiți certificatul în P12, ceea ce vă va cere să definiți o parolă:
1 | |
1 | |
1 | |
Fișierele necesare pentru instalarea clusterului PostgreSQL se găsesc aici (înlocuiți variabilele CA_ROOT_NAME, PSQL_1_NAME, PSQL_2_NAME și PSQL_3_NAME cu valorile alese anterior):
/root/psql-certificates/CA_ROOT_NAME.crt: certificatul CA rădăcină/root/psql-certificates/PSQL_1_NAME.p12: certificatul nodului PostgreSQL nr. 1/root/psql-certificates/PSQL_2_NAME.p12: certificatul nodului PostgreSQL nr. 2/root/psql-certificates/PSQL_3_NAME.p12: certificatul nodului PostgreSQL nr. 3
Instalarea unui cluster PostgreSQL¶
Informație
Etapele următoare trebuie efectuate pe toate cele trei noduri PostgreSQL.
Pregătirea configurării clusterului PostgreSQL¶
Este necesar să stabiliți o conexiune SFTP sau SCP pentru a trimite către appliance:
- Certificatul autorității de certificare care a semnat certificatele nodurilor PostgreSQL
- Certificatul nodului PostgreSQL în format
P12
Rețineți că conexiunile SFTP sau SCP nu pot fi inițializate cu contul root. În plus, fișierele pot fi plasate pur și simplu în /home/systancia/.
Este necesar să mutați aceste fișiere într-un director nou:
1 2 3 | |
Înlocuiți:
PSQL_?_NAMEcu numele certificatului destinat nodului PostgreSQL care se instaleazăROOT_CA_NAMEcu numele certificatului autorității de certificare rădăcină
1 2 3 | |
Comenzile de mai sus trebuie să fi fost personalizate conform setărilor de personalizare.
1 2 3 | |
Comenzile de mai sus trebuie să fi fost personalizate conform setărilor de personalizare.
1 2 3 | |
Comenzile de mai sus trebuie să fi fost personalizate conform setărilor de personalizare.
Configurarea nodului PostgreSQL¶
Pentru a începe inițializarea configurării nodului, trebuie executate următoarele comenzi:
1 2 | |
A doua comandă lansează un utilitar care va solicita următoarele informații:
- Noile parole pentru utilizatorii locali
rootșisystancia - Numele nodului PostgreSQL (nu FQDN-ul)
- Adresa IP a nodului PostgreSQL, numele interfeței sale de rețea, gateway-ul de rețea implicit care trebuie utilizat, precum și serverele DNS și sufixul DNS
- Versiunea de PostgreSQL; vă recomandăm să utilizați versiunea
15 - Portul de acces la clusterul PostgreSQL; vă recomandăm să utilizați portul
5432 - Parola contului PostgreSQL utilizat pentru replicare și pentru
pg_rewind - Numele și adresa IP a unui al doilea nod PostgreSQL
- Numele și adresa IP a ultimului nod PostgreSQL
- Adresa IP virtuală a clusterului PostgreSQL
- Adresele IP (separate prin virgulă) ale Edge Gateway-urilor CyberElements Bastion sau ale oricăror alte mașini care trebuie să se conecteze la cluster
- Numele și parola contului de utilizator PostgreSQL
- Adresele IP sau rețelele (separate prin virgulă) autorizate să se conecteze prin SSH la nodurile PostgreSQL
- Informațiile de certificat ale nodului PostgreSQL (certificatul nodului în format P12 + certificatul CA rădăcină)
După introducerea acestor informații, se va afișa un rezumat al tuturor datelor indicate, înainte de validare.
După confirmarea informațiilor furnizate, va apărea un mesaj referitor la modificările aduse fișierului /etc/ssh/sshd_config. Selectați opțiunea implicită, keep the local version currently installed.
Pentru a aplica configurarea, este necesară o repornire:
1 | |
Sfat pentru a accelera instalarea nodurilor PostgreSQL nr. 2 și nr. 3
După instalarea nodului PostgreSQL nr. 1, puteți recupera setările de configurare utilizate pentru instalarea sa din fișierul /etc/cleanroom-vault.ini.
Exemplu de fișier /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 | |
Este suficient să modificați liniile evidențiate cu valorile nodului PostgreSQL care se instalează, pornind de la fișierul recuperat de pe nodul PostgreSQL nr. 1.
Pericol
Dacă reutilizați fișierul de exemplu, va trebui să modificați toate valorile evidențiate următoare în funcție de mediul dumneavoastră:
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 | |
Configurări suplimentare pentru patronictl¶
Pentru a permite utilizarea comenzilor de gestionare a clusterului PostgreSQL cu patronictl, mai rămân câteva comenzi care trebuie executate ca root pe nodul PostgreSQL:
1 2 3 4 | |
Configurări suplimentare pentru etcd¶
Pentru a activa compactarea și defragmentarea automată a bazei de date etcd, executați următoarele comenzi ca root pe nodul PostgreSQL:
1 2 3 4 5 6 7 | |
Crearea bazei de date default necesară pentru instalarea CyberElements Bastion¶
La instalarea CyberElements Bastion, trebuie mai întâi să creați o bază de date numită default.
În acest scop, completați tabelul următor pentru a personaliza comanda pe care va trebui să o executați de pe oricare dintre nodurile clusterului PostgreSQL:
| Valoare | Variabilă | Definiție |
|---|---|---|
PSQL_VIP |
Adresa IP virtuală a clusterului PostgreSQL. | |
DB_USER |
Numele de utilizator al bazei de date indicat în timpul configurării nodului PostgreSQL |
Comandă de executat de pe oricare dintre nodurile clusterului PostgreSQL:
1 | |