PITR

PITR (Point-In-Time-Recovery) er en feature i PostgreSQL som gir relativt kontinuerlige backuper (minst hvert femte minutt for vår del). For mer dokumentasjon, se Postgres-dokumentasjonen om emnet.

PITR-backupene kjøres i tillegg til de vanlige pg_dump-ene i /var/lib/postgres/backup.

Generell virkemåte

Hver gang Postgres på cirkus har lyst til å rotere WAL-filene sine (minimum hvert femte minutt), kontakter den kolje (eller rettere sagt, hosten "backup"). Som brukeren pgbackup rsyncer den så over WAL-filen. Når den så er fornøyd og ikke trenger filen lenger (det skjer etter neste sjekkpunkt), sletter den filen. Autentiseringen skjer med en vanlig SSH-nøkkel som er eid av brukeren postgres.

Dersom kolje går ned, vil Postgres prøve på nytt etter en stund, helt til kolje kommer opp igjen. Vær obs at siden den ikke vil kunne klare å slette WAL-filene lenger, vil volumet gå fullt etter et par dager (litt avhengig av hvor mye ledig plass du har på WAL-volumet).

cirkus' preexec sørger for å kjøre pg_start_backup('dagens dato') før databasevolumet blir tatt backup av, og postexec sørger for at pg_stop_backup() blir kjørt. Dette sørger for at fil-backupene det vanlige backup-scriptet tar er gyldige WAL-backups. I tillegg havner det en egen statusfil for hver backup – igjen, se dokumentasjonen for mer informasjon.

Restore

Restore er beskrevet relativt utførlig i dokumentasjonen til PostgreSQL (se linken over). Noen punkter som er spefisikke for våre systemer:

Lenker: Start, backup, kurs

Epost: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2018-08-13 13:36 | Revisjon: 4 (historie, blame) | Totalt: 1905 kB | Rediger