Copiile de rezerva sunt partea vitala si importanta a oricarui plan de recuperare in caz de dezastru, preluarea copiilor de rezerva ale bazei de date de productie este, de asemenea, o parte de baza si importanta a administrarii PostgreSQL. Cu toate acestea, DBA nu valideaza adesea ca aceste copii de siguranta sunt fiabile.

Fiecare organizatie realizeaza copii de rezerva ale bazelor de date PostgreSQL sub diferite forme, unele pot face o copie de rezerva (fizica) a sistemului de fisiere a directoarelor de date PostgreSQL (folosind instrumente precum Barman, PGBackRest), in timp ce altele pot face doar copii de siguranta logice (folosind pg_dump) si chiar altele pot lua blocati instantanee la nivel folosind instrumente precum instantanee EBS sau VMWare.

In acest blog, va vom arata cum sa va validati copia de rezerva PostgreSQL prin restaurarea copiei de rezerva pe un container Docker folosind instrumentul pgBackRest pentru preluarea si restaurarea copiei de rezerva. Presupunem ca aveti deja cunostinte despre cum sa utilizati PostgreSQL, Docker si pgBackRest.

De ce ar trebui sa utilizati Docker?

Docker simplifica automatizarea, faciliteaza si integrarea sarcinii noastre de validare a backupului PostgreSQL intr-un instrument CI / CD precum CircleCI, Travis, GitLab sau Jenkins. porno ramania Utilizarea Docker evita timpul si resursele pe care trebuie sa le cheltuim pentru a aduce noul mediu pentru testarea copiei de rezerva.

Configurare demo

Gazda 

Rol

Instalat

Pachete 

Crontab

nod-1 192.168.0.111

CentOS-7

Instanta primara Posgresql-11.

Crearea utilizatorului si a bazei de date „pgbench“ si initializata cu tabele pgbench. porno youtube

postgresql-11, pgbackrest-2.15

Rularea pgbench la fiecare 5 minute pentru a simula volumul de lucru.

nod-2



192.168.0.112



CentOS-7

Test Machine – vom rula validarea Docker pe aceasta gazda. porno femei cu penis  

docker-ce-18.06, pgbackrest-2.15

 

nod-3

192.168.0.113

CentOS-7

Gazda depozitului pgBackRest

pgbackrest-2. filme porno cu kendra lust 15

Rularea pgbackrest pentru a face backup Incr la fiecare 4 ore

Faceti backup in fiecare zi

Backup complet saptamanal 

Pentru ca pgbackrest sa functioneze, am configurat acces SSH fara parola intre aceste noduri.

Utilizatorul „postgres” de pe nodul-1 si nodul-2 se poate conecta fara parola la utilizatorul „pgbackrest” de pe nodul-3.

[[email protected] ~] $ sudo -u postgres ssh [email protected] uptime 13:31:51 up 7:00, 1 utilizator, incarcare medie: 0,00, 0,01, 0,05 [[email protected] ~] $ sudo -u postgres ssh [email protected] uptime 13:31:27 up 7:00, 1 utilizator, incarcare medie: 0,00, 0,01, 0,05

Utilizatorul „pgbackrest” de pe nodul 3 se poate conecta fara parola la utilizatorul „postgres” de pe nodul 1 si nodul 2.

[[email protected] ~] $ sudo -u pgbackrest ssh [email protected] uptime 13:32:29 up 7:02, 1 utilizator, incarcare medie: 1,18, 0,83, 0,58 [[email protected] ~] $ sudo -u pgbackrest ssh [email protected] uptime 13:32:33 up 7:01, 1 utilizator, incarcare medie: 0,00, 0,01, 0,05

Prezentare generala a validarii copiei de rezerva

Mai jos este o scurta prezentare generala a pasilor pe care ii vom urma pentru validarea PostgreSQL Backup.

  1. Folosind comanda pgbackrest restore vom prelua cea mai recenta copie de rezerva de la gazda pgBackRest Repository (nod-3) in directorul Test Machine (nod-2) / var / lib / pgsql / 11 / data
  2. In timpul rularii dockerului, montam directorul masinii gazda (nod-2) / var / lib / pgsql pe containerul docker si pornim demonul postgres / postmaster din directorul montat. De asemenea, am expune portul 5432 de la container la portul masinii gazda 15432. piss porno  
  3. Odata ce containerul de andocare a inceput sa ruleze, ne vom conecta la baza de date PostgreSQL prin nodul-2: 15432 si vom verifica daca toate tabelele si randurile sunt restaurate. De asemenea, am verifica jurnalele PostgreSQL pentru a ne asigura ca nu exista niciun mesaj de EROARE in timpul recuperarii si ca instanta a atins si starea consecventa.

Majoritatea pasilor de validare a copiei de rezerva vor fi efectuate pe nodul gazda-2.

Construirea imaginii Docker

Pe nodul 2, creati Dockerfile si construiti imaginea docker „postgresql: 11”. In fisierul Dockerfile de mai jos, vom aplica urmatoarele modificari peste centos: 7 imagini de baza.

  1. Instalarea postgresql-11, pgbackrest si openssh-clients. limbi porno Openssh-clients este necesar pentru pgbackrest.
  2. Configurarea pgbackrest – Avem nevoie de configuratia pgbackrest in imagine pentru a testa PITR, fara configurarea pgbackrest comanda restore_comm ar esua. Ca parte a configuratiei pgbackrest 
    1. Adaugam ip-ul gazdei depozitului pgbackrest (192.168.0.113) in fisierul de configurare /etc/pgbackrest. xxx porno romanesc conf. 
    2. De asemenea, avem nevoie de acces SSH fara parola intre containerul de andocare si gazda depozitului pgbackrest. Pentru aceasta, copiez SSH_PRIVATE_KEY pe care l-am generat deja si am adaugat, de asemenea, cheia publica la gazda depozitului pgbackrest ([email protected]).
  3. VOLUM [“$ {PGHOME_DIR}”] – Defineste directorul containerului / var / lib / pgsql ca punct de montare. In timpul executarii comenzii de executie docker vom specifica directorul gazda nod-2 la acest punct de montare.



    • andreea balan porno
    • film porno in familie
    • brazilian porno
    • oana zavoranu porno
    • porno cu andrea marin
    • porno pula mare
    • film porno romanesc 2016
    • filme hd porno cu gay
    • filme porno pusy
    • filmulete porno gratis
    • filme porno indiene
    • porno pe la spate
    • vr porno
    • porno fake taxi
    • gay boys porno
    • filme porno hd 2018
    • actrite porno romance
    • porno in apa
    • filmulete porno cu amatori
    • porno cur mare




  4. USER postgres – Orice comanda, rulata pe container, va fi executata ca utilizator postgres. darmowe porno

$ cat Dockerfile FROM centos: 7 ARG PGBACKREST_REPO_HOST ARG PGHOME_DIR = / var / lib / pgsql ## Adding Postgresql Repo for CentOS7 RUN yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL- 7-x86_64 / pgdg-redhat-repo-latest.noarch.rpm ## Instalarea PostgreSQL RUN yum -y install postgresql11 postgresql11-server postgresql11-devel postgresql11-contrib postgresql11-libs pgbackrest openssh-clients ## Adaugarea configuratiei pentru pgback Recuperare si replicare WAL. RUN echo -ne “[global] \ nrepo1-host = $ {PGBACKREST_REPO_HOST} \ n \ n [pgbench] \ npg1-path = / var / lib / pgsql / 11 / data \ n”> /etc/pgbackrest. filme porno isi fute mama conf # # Adaugarea cheii private la Docker. Containerul Docker ar folosi aceasta cheie privata pentru recuperarea pgbackrest wal. RUN mkdir -p $ {PGHOME_DIR} /. Ssh && chmod 0750 $ {PGHOME_DIR} /. Ssh COPY –chown = postgres: postgres.

Acum avem doua fisiere, Dockerfile folosit de docker build si SSH_PRIVATE_KEY, pe care le vom copia in imaginea docker. negrese porno  

$ ls Dockerfile SSH_PRIVATE_KEY

Rulati comanda de mai jos pe nodul-2 pentru a construi imaginea noastra de andocare. Am mentionat pgbackrest repository host host in comanda si acest IP va fi utilizat in parametrul pgbackrest „repo-host”. 

$ docker build –no-cache -t postgresql: 11 –build-arg PGBACKREST_REPO_HOST = 192.168.0.113. filme porno cu mama si fiu Trimiterea contextului de construire la daemon Docker 230.4kB Pasul 1/12: FROM centos: 7 —> 9f38484d220f Pasul 2/12: ARG PGBACKREST_REPO_HOST —> Rularea in 8b7b36c6f151 Eliminarea containerului intermediar 8b7b36c6f151 —> 31510e46e286 Pasul 3/12: ARG PGHOME_DIR = / var / lib / pgsql … Pasul 4/12: RUN yum -y install https://download.postgresql. filme porno titrate org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat- repo-latest.noarch.rpm … . filme porno cu maicute .. Pasul 12/12: USGER postgres —> Se ruleaza in c91abcf46440 Eliminarea containerului intermediar c91abcf46440 —> bebce78df5ae Construit cu succes bebce78df5ae Etichetat cu succes postgresql: 11

Asigurati-va ca imaginea este construita cu succes si bifati imaginea „postgresql: 11” este creata recent, asa cum se arata mai jos.

$ docker image ls postgresql: 11 TAG DE REPOZITORI ID IMAGINE CREATE MARIME postgresql 11 2e03ed2a5946 acum 3 minute 482MB

Restaurarea Backup-ului PostgreSQL

Vom restaura acum copia de rezerva PostgreSQL mentinuta in pgbackrest backup node gazda-3. 

Mai jos este fisierul de configurare pgbackrest prezent pe nodul gazda-2 si am mentionat nodul-3 ca gazda a depozitului pgbackrest. Directorul mentionat in param pg1-path este locul unde ar fi restaurat directorul de date PostgreSQL. porno cu mame rusoaice

[[email protected] ~] $ cat /etc/pgbackrest.conf [global] log-level-file = detail repo1-host = node-3 [pgbench] pg1-path = / var / lib / pgsql / 11 / data

Folosind comanda de restaurare pgbackrest de mai jos, directorul de date postgresql va fi restaurat la nodul-2: / var / lib / pgsql / 11 / data. 

Pentru a valida PITR cu pgbackrest backup am setat –type = time –target = ‘2019-07-30 06: 24: 50.241352 + 00’, astfel incat recuperarea WAL sa se opreasca inainte de ora mentionata. 

[[email protected] ~] $ sudo -u postgres bash -c “/ usr / bin / pgbackrest –type = time –target = ‘2019-07-30 06: 24: 50.241352 + 00’ –target-action = promote –recovery-option = ‘standby_mode = on’ –stanza = pgbench restore ”

Comanda de mai sus poate dura timp, in functie de dimensiunea copiei de siguranta si latimea de banda a retelei. filme porno cu laba Dupa restaurare, verificati dimensiunea directorului de date si verificati si recovery.conf.

[[email protected] ~] $ sudo -u postgres du -sh / var / lib / pgsql / 11 / data 2.1G / var / lib / pgsql / 11 / data [[email protected] ~] $ sudo -u postgres cat /var/lib/pgsql/11/data/recovery.



  • actori porno
  • porno m
  • porno gratis cu virgine
  • mihaela radulescu porno
  • porno romanesc amatori
  • porno masturbare
  • first anal porno
  • chat porno romanesc
  • filme porno la sala
  • porno cu animal
  • filme artistice porno
  • porno cu tineri
  • fuilme porno
  • upskirt porno
  • minu porno
  • videochat porno
  • daughter porno
  • filme porno in padure
  • adela popescu porno
  • filme porno gratis





conf standby_mode = ‘on’ restore_command = ‘/ usr / bin / pgbackrest –stanza = pgbench archive-get% f “% p”‘ recovery_target_time = ‘2019-07- 30 06: 24: 50.241352 + 00 ‘

Dezactivati modul de arhivare pentru containerul de andocare PostgreSQL. porno romance amatoare

[[email protected] ~] $ sudo -u postgres bash -c “echo ‘archive_mode = off’ >> /var/lib/pgsql/11/data/postgresql.auto.conf”

Porniti containerul de andocare cu imaginea „postgresql: 11”. In porunca suntem 

  1. Setarea numelui containerului ca „pgbench”

  2. Montarea directorului gazda de andocare (nod-2) / var / lib / psql in directorul containerului de andocare / var / lib / psql 

  3. Expunerea portului containerului 5432 la portul 15432 pe nodul-2.

  4. Lansarea demonului postgres folosind comanda / usr / pgsql-11 / bin / postmaster -D / var / lib / pgsql / 11 / data

[[email protected] ~] $ docker run –rm –name “pgbench” -v / var / lib / pgsql: / var / lib / pgsql -p 15432: 5432 -d postgresql: 11 / usr / pgsql-11 / bin / postmaster -D / var / lib / pgsql / 11 / data e54f2f65afa13b6a09236a476cb1de3d8e499310abcec2b121a6b35611dac276

Verificati ca containerul „pgbench” este creat si ruleaza.

. gumball porno 15432-> 5432 / tcp pag

Validarea PostgreSQL 

Deoarece directorul gazda / var / lib / pgsql este partajat cu containerul de andocare, jurnalele generate de serviciul PostgreSQL sunt, de asemenea, vizibile de la nodul-2. Verificati jurnalul de astazi pentru a va asigura ca PostgreSQL a inceput bine fara nici o EROARE si asigurati-va ca sunt prezente mai jos liniile de jurnal. 

[[email protected] ~] $ sudo -u postgres tailf /var/lib/pgsql/11/data/log/postgresql-Tue.csv .. 30. filme porno cu verisoare 07.2019 06: 38: 34.633 UTC ,,, 7 ,, 5d3fe5e9.7,5,, 2019-07-30 06:38:33 UTC, 1 / 0,0, LOG, 00000, “stare de recuperare consecventa atinsa la E / CE000210” ,,,,,,,,, “” 2019-07-30 06: 38: 34.633 UTC ,,, 1,, 5d3fe5e9.1,2,, 2019-07-30 06:38:33 UTC ,, 0, LOG, 00000, “sistemul de baze de date este gata sa accepte Citeste numai conexiuni “,,,,,,,,,” “2019-07-30 06: 38: 35. igyen porno 236 UTC ,,, 7,, 5d3fe5e9.7,6,, 2019-07-30 06:38:33 UTC , 1 / 0,0, LOG, 00000, “fisier jurnal restaurat” “000000010000000E000000CF” “din arhiva” ,,,,,,,,, “” 2019-07-30 06: 38: 36.210 UTC ,,, 7, , 5d3fe5e9.7,7,, 2019-07-30 06:38:33 UTC, 1 / 0,0, LOG, 00000, “fisier jurnal restaurat” “000000010000000E000000D0” “din arhiva” ,,,,,,,, , “” … porno africa 2019-07-30 06:39:57.221 UTC ,,, 7,, 5d3fe5e9.7,37,, 2019-07-30 06:38:33 UTC, 1 / 0,0, LOG, 00000, “oprirea recuperarii inainte de comiterea tranzactiei 52181192, ora 2019-07 -30 06: 25: 01.576689 + 00 “,,,,,,,,,” “… 2019-07-30 06: 40: 00.682 UTC ,,, 7,, 5d3fe5e9.7,47,, 2019- 07-30 06:38:33 UTC, 1 / 0,0, LOG, 00000, “recuperare arhiva finalizata” ,,,,,,,,, “”

Mesajul „stare de recuperare consecventa atinsa la E / CE000210”, indica faptul ca, cu directorul de date de rezerva pgbackrest, am reusit sa ajungem la o stare consecventa.

Mesajul „recuperare arhiva completa”, indica faptul ca putem reda fisierul WAL cu backup din pgbackrest si putem recupera fara nicio problema.

Conectati-va la instanta postgresql prin portul local 15432 si verificati tabelele si numarul de randuri.

[[email protected] ~] $ sudo -iu postgres / usr / pgsql-11 / bin / psql -p 15432 -h localhost -U pgbench Parola pentru utilizator pgbench: psql (11. 4) Tastati „ajutor” pentru ajutor. pgbench => \ dt Lista relatiilor Schema | Nume | Tastati | Proprietar ——– + —————— + ——- + ——— public | pgbench_accounts | masa | pgbench public | pgbench_branches | masa | pgbench public | pgbench_history | masa | pgbench public | pgbench_tellers | masa | pgbench (4 randuri) pgbench => selectati * din pgbench_history limit 1; tid | licitatie | ajutor | delta | mtime | umplutura —– + —– + ——— + ——- + ——————- ——— + ——– 98 | 3 | 2584617 | 507 | 2019-07-30 06: 20: 01.412226 | (1 rand) pgbench => selectati max (mtime) din pgbench_history; max —————————- 2019-07-30 06: 22: 01.402245 (1 rand) pgbench => selectati numarul (1 ) din pgbench_history; count ——- 90677 (1 rand) pgbench => selectati count (1) din pgbench_accounts; conta ———- 10000000 (1 rand)

Am restaurat acum backup-ul nostru PostgreSQL pe un container de andocare si am verificat si PITR. Odata validat backupul, putem opri containerul si elimina directorul de date.

[[email protected] ~] $ docker stop pgbench pgbench [[email protected] ~] $ sudo -u postgres bash -c “rm -rf / var / lib / pgsql / 11 / data && mkdir -p / var / lib / pgsql / 11 / data && chmod 0700 / var / lib / pgsql / 11 / data ”

Concluzie

In acest blog, am demonstrat validarea copiei de rezerva folosind o mica baza de date pe o virtuala virtuala mica. Din acest motiv, validarea copiei de rezerva a fost finalizata in doar cateva minute. Este important sa retineti ca in productie va trebui sa alegeti o masina virtuala adecvata cu suficienta memorie, procesor si disc pentru a permite validarea copiei de rezerva sa se finalizeze cu succes. De asemenea, puteti automatiza intregul proces de validare intr-un script bash sau chiar prin integrarea cu o conducta CI / CD, astfel incat sa puteti valida in mod regulat copiile de rezerva PostgreSQL.