Replicação PostgreSQL com RepManager
-
Upload
vinicius-aquino-do-vale -
Category
Technology
-
view
323 -
download
4
Transcript of Replicação PostgreSQL com RepManager
- 1. PostgreSQL: Replicao com RepManager (repmgr) Vinicius Vale
- 2. 2 Quem sou Bacharel em Cincia da Computao; MBA em BigData; Especialista Postgresql; Especialista Java/Android; Devops pela 4Linux; Vinicius Aquino do Vale
- 3. 3 Conhecendo a 4Linux Metodologia IT Experience - Cenrios reais Cursos prticos, rpidos e baratos de autores feras: www.4shot.com.br Projetos complexos de misso crtica, com infra e desenvolvimento PHP
- 4. 4 Cursos prticos, rpidos e baratos de autores feras
- 5. 5 Metodologia IT Experience Cenrios reais
- 6. 6 Lanamento 4Linux
- 7. 7 Ao final da minha palestra 02 Curso Online: Curso SQL para Programadores Cdigo 4800. 01 Elephant.
- 8. 8 Ao final da minha palestra
- 9. 9 Agenda Replicao Nativa; Limitaes e Problemas; Um novo mundo : RepMgr; Vantagens e Facilidades; Gerenciamento (replicao e failover); Consideraes Finais;
- 10. 10 Replicao Nativa - Conceito Rplica? Pra qu? Vantagens: Leituras (OLAP) Failover Desvantagens: Master->Slave Gerenciamento (Virada)
- 11. 11 Passo a Passo Master: Criar usurio REPLICATION; Liberar pg_hba; postgresql.conf: wal_level; wal_keep_segments; max_wal_senders.
- 12. 12 Passo a Passo Slave (pg_basebackup): postgresql.conf: hot_standby; max_standby_archive_delay; max_standby_streaming_delay.
- 13. 13 Passo a Passo Slave: recovery.conf: standby_mode; primary_conninfo; trigger_file.
- 14. 14 Limitaes e Problemas Tipos de Replicao Assncrona (default); Sncrona;
- 15. 15 Limitaes e Problemas Rplica Assncrona (default): Perda de algumas transaes;
- 16. 16 Limitaes e Problemas Rplica Sncrona: Slave parado = Master Parado; Tempo total = master + trfego pela rede + slave + retorno;
- 17. 17 Limitaes e Problemas Mltiplas rplicas: Novo Master; O que eu fao com os meus slaves? O que eu fao com meu antigo master?
- 18. 18 Repmgr: Um Novo mundo O que ? Desenvolvido pela 2ndQuadrant; Open-Source; Free; Verses: 2.0; 3.0.
- 19. 19 Vantagens e Facilidades Gerenciamento de Rplicas: Monitoramento: $ repmgr cluster show; Role | Connection String * master | host=node1 user=repmgr_usr dbname=repmgr_db password=123456 standby | host=node2 user=repmgr_usr dbname=repmgr_db password=123456 Failover (daemon repmgrd); Failback.
- 20. 20 Gerenciamento (preparao Postgresql) Gerenciamento de Rplicas: Usurio: $ createuser -s repmgr_usr; Database: $ createdb repmgr_db -O repmgr_usr; pg_hba.conf: host repmgr_db repmgr_usr ip/24 trust; host replication repmgr_usr ip/24 trust;
- 21. 21 Gerenciamento (preparao Postgresql) Master postgresql.conf: hot_standby = on; wal_level = hot_standby; max_wal_senders; wal_keep_segments: 9.4 Utiliza slot de replicao; 9.3 Espera-se 5000 (80GB de WAL); archive_mode = on archive_command = 'cd .'
- 22. 22 Gerenciamento (repmgr.conf) Local Recomendado: /etc/repmgr/repmgr.conf; repmgr.conf: cluster=DBZ (mesmo para todos os hosts); node=1 (integer nico); node_name=node1 (nico); pg_bindir=/path/to/postgres/bin;
- 23. 23 Gerenciamento (repmgr.conf) use_replication_slots=1 conninfo='host=repmgr_node1 user=repmgr dbname=repmgr';
- 24. 24 Gerenciamento (repmgr) register Registrar os ns: $ repmgr -f repmgr.conf --verbose master register; $ repmgr -f repmgr.conf --verbose standby register; clone Preparar standby: $ repmgr -D $PGDATA -f repmgr.conf -d repmgr_db -U repmgr_usr --verbose standby clone IP_MASTER
- 25. 25 Gerenciamento (repmgr) promote Promover um novo master: $ repmgr -f repmgr.conf --verbose standby promote; follow Seguir novo master: $ repmgr -f repmgr.conf --verbose standby follow.
- 26. 26 Gerenciamento (repmgr)
- 27. 27 Gerenciamento (repmgr) Converter master com problemas para standby: $ repmgr -f repmgr.conf --force --rsync-only -h novo_master -d repmgr_db -U repmgr_usr --verbose standby clone; Registar o n novamente: $ repmgr -f repmgr.conf --force standby register.
- 28. 28 Gerenciamento (repmgrd) Automatic Failover: Witness;
- 29. 29 Gerenciamento (repmgrd) Postgresql.conf: shared_preload_libraries = 'repmgr_funcs'; psql -f /usr/share/postgresql/9.0/contrib/repmgr_funcs.sql repmgr_db.
- 30. 30 Gerenciamento (repmgrd) repmgr.conf: master_response_timeout; reconnect_attempts; reconnect_interval; failover=[automatic|manual]; promote_command='promote_command.sh'; follow_command='repmgr standby follow -f repmgr.conf'.
- 31. 31 Gerenciamento (repmgrd) Iniciando Witness repmgr -d repmgr_db -U repmgr_usr -h IP_MASTER -D $WITNESS_PGDATA -f repmgr.conf witness create; Daemon: $ repmgrd -f repmgr.conf --daemonize > repmgr.log 2>&1.
- 32. 32 Consideraes Finais Modelo nativo de replicao Dficil gerenciamento Failover manual e complexo Falha humana Repmgr Facilidade no gerenciamento Failover (manual ou automtico) Fcil controle
- 33. 33 Boa Sorte!!
- 34. 34 Vinicius Vale [email protected] [email protected] www.4linux.com.br www.4shot.com.br www.viniciusvale.com Sigam-nos @4linux