2. Cleysson Lima
Especialista em Banco de
Dados
• Profissional com mais de 10
anos de experiência.
• Meus conhecimentos atribuem
também a outros produtos como
Oracle e MySQL, participante
ativo da comunidade
PostgreSQL no Brasil.
• Especialista em banco de
dados na Tecnisys Tecnologias
Inovadoras.
3. Heron Bonfim
Especialista em Banco de
Dados
• Profissional com mais de 20
anos de experiência em TI:
• 10 como desenvolvedor
• 10 como DBA, BI
• DBA multiplataforma: MySQL,
PostgreSQL e SQL Server
• Atualmente na Confederação
Nacional do Transporte
4. Backup and Recovery
● Planejando backupse recovery
● Backup lógico
● Backup físico
● Arquivamento contínuo (Continuousarchiving)
● Restore e Recovery
● Validação de backups
7. Planejando backups e recovery
Tiposde falha
● Corrupção de dados
● Falhade hardware
● Desastre natural
● Prédio pegou fogo
8.
9.
10. Planejando backups e recovery
Tamanho do banco de dados
● Influencianaduração
● Consumo (disco,rede,CPU)
● Armazenamento e oscustos
11. Planejando backups e recovery
Local de armazenamento: paraonde estão indo osbackups?
● Servidor remoto
● Armazenamento em fita
● Nuvem
● Servidor no pé damesa
● HD Externo
12. Planejando backups e recovery
Recovery Point Objective (RPO)
● Quanto de dadosvocê pode perder?
Recovery Time Objective (RTO)
● Quanto tempo pode ficar parado?
19. Backup físico (filesystem)
Estratégia de backup que copiadiretamente osarquivosdo
$PGDATA (diretório de dadosdo PostgreSQL)
● pg_basebackup
● pg_start_backup() e pg_stop_backup()
● RSYNC
● SCP
20. Backup físico e arquivamento contínuo
(continuous archiving)
● PostgreSQL mantém logs(WAL) no subdiretório pg_wal/ do
diretório de dadosdo cluster
● A existência doslogs(WAL) tornapossível usar umaterceira
estratégia de backup: combinação de um backup de filesystem
com o backup dosarquivosWAL
26. BARMAN
Principais recursos:
● Backup físico completo de um servidor PostgreSQL
● Backup remoto via rsync/SSH ou pg_basebackup (incluindo um standby 9.2+)
● Backup incremental
● Backup e recuperação paralelos
27. BARMAN
Principais recursos:
● Suporte paraarquivamento e streaming do WAL
● Suporte parastreaming WAL síncrono ("perdade dadoszero",RPO = 0)
● Compactação de arquivosWAL (bzip2,gzip ou custom)
● Parallel Jobs
○ Backup e Recovery
$ barman backup -j 4 pg11
28. BARMAN
Principais recursos:
● Múltiplos servidores PostgreSQL
● Políticas de retenção para backupse arquivosWAL
● Backupscatalogados
● Diagnóstico do servidor parabackup
30. BARMAN
Principais recursos:
● Realocação de PGDATA e tablespacesno tempo de recuperação
● Suporte pararecuperação local e remota (via SSH)
● Point-in-Time (PITR)
31. BARMAN
Recomendações:
● Instalar o Barman em um servidor dedicado
● Não compartilhe a mesmastorage com seu servidor PostgreSQL
● Monitore sempre o seu backup
33. BARMAN SSH/ rsync
● O WAL é enviado pelo barman-wal-archive (Barman 2.6)
● Antessó via rsync
34. ● Conexão do PostgreSQL (protocolo streaming replication)
● Método pg_basebackup e pg_receivexlog
● Arquitetura maisrobusta
BARMAN Streaming LIBPQ
35. BARMAN
Criação e troca de chave pública
$ ssh-keygen
$ ssh-copy-id -i ~/.ssh/id_rsa.pub postgres@srv-postgresql
$ ssh postgres@srv-postgresql
$ chcon -t ssh_home_t ~/.ssh/ -R
36. BARMAN PostgreSQL
Criação e troca de chave pública
$ ssh-keygen
$ ssh-copy-id -i ~/.ssh/id_rsa.pub barman@srv-barman
$ ssh barman@srv-barman
$ chcon -t ssh_home_t ~/.ssh/ -R
37. BARMAN PostgreSQL
Criação do usuário barman como super usuário e streaming_barman parareplicação:
$ postgres@srv-postgresql$ createuser -s-Pbarman
$ postgres@srv-postgresql$ createuser -s-Pstreaming_barman -- replication
40. BARMAN
O arquivo de configuração principal contém opçõesgerais,como diretório
principal,usuário do sistemae arquivo de log: /etc/barman.conf
41. BARMAN
Osarquivosde configuração do servidor,um paracadaservidor cujo
backup é feito pelo Barman,estão localizadosno diretório
/etc/barman.d
devem ter um sufixo .conf
EX: pg10.conf
pg11.conf