Gabriele Bartolini – [email protected] - ITPUG.org
PGDay.IT 2011Monash University Prato Centre
Venerdì 25 Novembre 2011
Backup e Recoverycon BaRMan
Gabriele BartoliniItalian PostgreSQL Users Group
www.itpug.orgwww.postgresql.org
Gabriele Bartolini – [email protected] - ITPUG.org
PGDay.IT 2011Monash University Prato Centre
Venerdì 25 Novembre 2011
Gabriele Bartolini• Database architect presso 2ndQuadrant
– Database OLTP business critical– Data warehousing
• Membro della comunità di PostgreSQL– Co-Fondatore di ITPUG– Co-Fondatore di PostgreSQL Europe
Gabriele Bartolini – [email protected] - ITPUG.org
PGDay.IT 2011Monash University Prato Centre
Venerdì 25 Novembre 2011
Sommario• Disaster recovery• DR e PostgreSQL prima di BaRMan• BaRMan, tool open-source
Gabriele Bartolini – [email protected] - ITPUG.org
PGDay.IT 2011Monash University Prato Centre
Venerdì 25 Novembre 2011
Target• Database administrator• System administrator
Gabriele Bartolini – [email protected] - ITPUG.org
PGDay.IT 2011Monash University Prato Centre
Venerdì 25 Novembre 2011
Introduzione• Eventi inattesi:
– Corruzione dati– Guasti al sistema (hardware)– Errore umano– Attacco intrusivo
• Reazione:– Rimediare nel minor tempo possibile– Gradi/livelli proporzionali alla criticità del database– Si parla di Disaster Recovery
Gabriele Bartolini – [email protected] - ITPUG.org
PGDay.IT 2011Monash University Prato Centre
Venerdì 25 Novembre 2011
Disaster ricovery “all'acqua di rose”• Backup logico• In PostgreSQL:
– pg_dump– pg_restore
• Insufficiente in ambito aziendale
Gabriele Bartolini – [email protected] - ITPUG.org
PGDay.IT 2011Monash University Prato Centre
Venerdì 25 Novembre 2011
Disaster recovery in ambienti business• Backup fisico• In PostgreSQL:
– Base backup– Archiviazione continua del log delle transazioni:
• WAL• Xlog
– Point-In-Time Recovery
Gabriele Bartolini – [email protected] - ITPUG.org
PGDay.IT 2011Monash University Prato Centre
Venerdì 25 Novembre 2011
PITR in PostgreSQL• PRO:
– Robusto– Affidabile– Sicuro– Flessibile
• CONTRO:– Non semplice da installare, configurare e manutenere– Richiede competenze DBA medio-alte– Assenza di un tool di astrazione
• Barriera all'adozione di Postgres
Gabriele Bartolini – [email protected] - ITPUG.org
PGDay.IT 2011Monash University Prato Centre
Venerdì 25 Novembre 2011
Alcuni tool per backup e recovery• OmniPITR (OmniTI)• walmgr (Skype)• pg_rman (NTT)• WAL-E (Heroku)
Gabriele Bartolini – [email protected] - ITPUG.org
PGDay.IT 2011Monash University Prato Centre
Venerdì 25 Novembre 2011
RMAN come “modello”• Recovery manager di Oracle• Concetti interessanti:
– Retention policy– Catalogo di backup– Compressione e crittazione– Controllo dello stato del backup– Modalità di recovery
• Differenze con PostgreSQL– Istanza vs Database
Gabriele Bartolini – [email protected] - ITPUG.org
PGDay.IT 2011Monash University Prato Centre
Venerdì 25 Novembre 2011
Altre esigenze per PostgreSQL• Backup da remoto• Gestione di istanze multiple
– Anche con versioni diverse di PostgreSQL
• Gestione dei tablespace• Recovery
– Sandbox– Remota– Relocation di PGDATA e tablespace
• Configurazione e interfaccia semplice
Gabriele Bartolini – [email protected] - ITPUG.org
PGDay.IT 2011Monash University Prato Centre
Venerdì 25 Novembre 2011
Requisiti• Unix/Linux• Python 2.6/2.7• Rsync >= 3.0.4• PsycoPG 2• Connessione SSH
– Autorizzazione per chiave pubblica
Gabriele Bartolini – [email protected] - ITPUG.org
PGDay.IT 2011Monash University Prato Centre
Venerdì 25 Novembre 2011
“I piani sono nulla, la pianificazione è tutto”• Architettura del backup
– Locale (?)– Remota:
• Centralizzata– Un “backup server”
• Distribuita
Gabriele Bartolini – [email protected] - ITPUG.org
PGDay.IT 2011Monash University Prato Centre
Venerdì 25 Novembre 2011
Funzionalità avanzate di recovery• Point-In-Time Recovery, specificando le opzioni:
– --target-time = TARGET_TIME– --target-xid = TARGET_XID
• Rilocazione dei tablespace– --tablespace NAME:LOCATION
Gabriele Bartolini – [email protected] - ITPUG.org
PGDay.IT 2011Monash University Prato Centre
Venerdì 25 Novembre 2011
Altri comandi• Stato dei server:
– barman status produzione
• Diagnostica di un server– barman check produzione
• Ritorna 0 se tutto ok
Gabriele Bartolini – [email protected] - ITPUG.org
PGDay.IT 2011Monash University Prato Centre
Venerdì 25 Novembre 2011
Funzionalità in cerca di sponsorizzazione• Rilascio open-source con
pacchetti Debian e RPM• Compressione di segmenti
WAL• Archiviazione e
compressione base backup• Crittazione• Gestione retention policy
per base backup e WAL
• Recovery remota e sandbox
• Integrazione con:– pg_basebackup e streaming
replication (cascading backup)
– Amazon S3– Nagios e alerting
Gabriele Bartolini – [email protected] - ITPUG.org
PGDay.IT 2011Monash University Prato Centre
Venerdì 25 Novembre 2011
Conclusioni• Nasconde la complessità del PITR• Lascia inalterata la potenzialità del PITR• Non è invasivo• Obiettivo di BaRMan
– “Standard de facto” per la DR in PostgreSQL– Allargare bacino di utilizzo di Postgres
• Rilascio dicembre 2011/gennaio 2012– Sito web www.pg-barman.org
Gabriele Bartolini – [email protected] - ITPUG.org
PGDay.IT 2011Monash University Prato Centre
Venerdì 25 Novembre 2011
Domande?• E-Mail: [email protected]• URL: www.2ndQuadrant.it• Blog: blog.2ndQuadrant.it• BaRMan: www.pgbarman.org• Ringraziamenti:– Marco Nenciarini (capo sviluppatore)– Carlo Ascani (sviluppatore)– Giulio Calacoci (QA)
Gabriele Bartolini – [email protected] - ITPUG.org
PGDay.IT 2011Monash University Prato Centre
Venerdì 25 Novembre 2011
Licenza Creative CommonsAttribuzioneNon commercialeCondividi allo stesso modo2.5 Italia
http://creativecommons.org/licenses/by-nc-sa/2.5/it/Copyright 2011 2ndQuadrant Italia – www.2ndQuadrant.it