Ap Camp: 15/10/2011         PostgresqlBinary Streaming Replication        www.pgtraining.com          Enrico Pirozzi
Agenda●   Ha: High Availability
Agenda●   Ha: High Availability●   Hot Backup - P.I.T.R. : Point in time recovery
Agenda●   Ha: High Availability●   Hot Backup - P.I.T.R. : Point in time recovery●   Streaming Replication
Agenda●   Ha: High Availability●   Hot Backup - P.I.T.R. : Point in time recovery●   Streaming Replication●   Testing
High Availability●   Cosa intendiamo per HA?
High Availability●   Cosa intendiamo per HA?●   Si intende alta disponibilità di un servizio
High Availability●   Cosa intendiamo per HA?●   Si intende alta disponibilità di un servizio
High Availability●   Cosa intendiamo per HA?●   Si intende alta disponibilità di un servizio
Hot Backup●   Backup a caldo
Hot Backup●   Backup a caldo●   Tecnica utilizzata quando il database deve    essere in esecuzione nel mentre che il backu...
Point in time recovery●   PITR: rappresenta la possibiltà di far tornare un    cluster db in punto def nito nel tempo, sia...
Point in time recovery●   PITR: rappresenta la possibiltà di far tornare un    cluster db in punto def nito nel tempo, sia...
Point in time recovery●   PITR: rappresenta la possibiltà di far tornare un    cluster db in punto def nito nel tempo, sia...
Point in time recoveryServer A                       Server B               Copia dei dati                     +          ...
Domande ??????
Streaming ReplicationMaster           Standby Server10.0.0.3            10.0.0.4
Streaming Replication● Abilita i WAL record ad essere ricevutied eseguiti dalla macchina in standby nelmentre la macchina ...
Streaming Replication● Abilita i WAL record ad essere ricevutied eseguiti dalla macchina in standby nelmentre la macchina ...
Streaming Replication● Abilita i WAL record ad essere ricevutied eseguiti dalla macchina in standby nelmentre la macchina ...
Streaming Replication
Streaming Replication   Configurazione
Streaming ReplicationModifica del postgresql.confMacchina Master●   listen_address = *
Streaming ReplicationModifica del postgresql.confMacchina Master●   listen_address = *●   wal_level = hot_standby
Streaming ReplicationModifica del postgresql.confMacchina Master●   listen_address = *●   wal_level = hot_standby●   max_w...
Streaming ReplicationModifica del pg_hba.confMacchina Masterhost   replication   all   10.0.0.4/32   trust
Streaming ReplicationModifica del postgresql.confMacchina Standby●   hot_standby = on
Streaming ReplicationModifica del recovery.confMacchina Standby●   standby_mode = on●   primary_conninfo = host=10.0.0.3
Streaming ReplicationModifica del recovery.confMacchina Standby●   standby_mode = on●   primary_conninfo = host=10.0.0.3● ...
Streaming ReplicationSincronizzazione del db remotoMacchina Master●   psql -U postgres
Streaming ReplicationSincronizzazione del db remotoMacchina Master●   psql -U postgres●   # select pg_start_backup(clone,t...
Streaming ReplicationSincronizzazione del db remotoMacchina Master●    psql -U postgres●    # select pg_start_backup(clone...
Streaming ReplicationSincronizzazione del db remotoMacchina Master●   psql -U postgres●   # select pg_stop_backup();
Streaming ReplicationSincronizzazione del db remotoMacchina Master●   psql -U postgres●   # select pg_stop_backup();●   rs...
Streaming ReplicationSincronizzazione del db remotoMacchina Standby●   /etc/rc.d/postgres start (Bsd)●   /etc/init.d/postg...
Streaming Replication           Al Lavoro ???
Contatti       Enrico Pirozzihttp://www.pgtraining.com   info@pgtraining.com
Upcoming SlideShare
Loading in …5
×

Ap Camp 2011

10,013 views

Published on

Ap Camp 2011: Streaming replication in PostgreSQL

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
10,013
On SlideShare
0
From Embeds
0
Number of Embeds
3,629
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Ap Camp 2011

  1. 1. Ap Camp: 15/10/2011 PostgresqlBinary Streaming Replication www.pgtraining.com Enrico Pirozzi
  2. 2. Agenda● Ha: High Availability
  3. 3. Agenda● Ha: High Availability● Hot Backup - P.I.T.R. : Point in time recovery
  4. 4. Agenda● Ha: High Availability● Hot Backup - P.I.T.R. : Point in time recovery● Streaming Replication
  5. 5. Agenda● Ha: High Availability● Hot Backup - P.I.T.R. : Point in time recovery● Streaming Replication● Testing
  6. 6. High Availability● Cosa intendiamo per HA?
  7. 7. High Availability● Cosa intendiamo per HA?● Si intende alta disponibilità di un servizio
  8. 8. High Availability● Cosa intendiamo per HA?● Si intende alta disponibilità di un servizio
  9. 9. High Availability● Cosa intendiamo per HA?● Si intende alta disponibilità di un servizio
  10. 10. Hot Backup● Backup a caldo
  11. 11. Hot Backup● Backup a caldo● Tecnica utilizzata quando il database deve essere in esecuzione nel mentre che il backup viene effettuato
  12. 12. Point in time recovery● PITR: rappresenta la possibiltà di far tornare un cluster db in punto def nito nel tempo, sia esso i presente che futuro
  13. 13. Point in time recovery● PITR: rappresenta la possibiltà di far tornare un cluster db in punto def nito nel tempo, sia esso i presente che futuro● E disponibile in maniera stabile dalla versione 8.2x in poi
  14. 14. Point in time recovery● PITR: rappresenta la possibiltà di far tornare un cluster db in punto def nito nel tempo, sia esso i presente che futuro● E disponibile in maniera stabile dalla versione 8.2x in poi● Questa tecnica utilizza un backup completo di un cluster database e i WAL (write ahead log) trovati nella directory pg_xlog
  15. 15. Point in time recoveryServer A Server B Copia dei dati + Trasferimento dei WAL
  16. 16. Domande ??????
  17. 17. Streaming ReplicationMaster Standby Server10.0.0.3 10.0.0.4
  18. 18. Streaming Replication● Abilita i WAL record ad essere ricevutied eseguiti dalla macchina in standby nelmentre la macchina master li genera.
  19. 19. Streaming Replication● Abilita i WAL record ad essere ricevutied eseguiti dalla macchina in standby nelmentre la macchina master li genera● Abilita le query in sola lettura sul serverstandby
  20. 20. Streaming Replication● Abilita i WAL record ad essere ricevutied eseguiti dalla macchina in standby nelmentre la macchina master li genera● Abilita le query in sola lettura sul serverstandby● Replicazione Asincrona
  21. 21. Streaming Replication
  22. 22. Streaming Replication Configurazione
  23. 23. Streaming ReplicationModifica del postgresql.confMacchina Master● listen_address = *
  24. 24. Streaming ReplicationModifica del postgresql.confMacchina Master● listen_address = *● wal_level = hot_standby
  25. 25. Streaming ReplicationModifica del postgresql.confMacchina Master● listen_address = *● wal_level = hot_standby● max_wal_senders = 3
  26. 26. Streaming ReplicationModifica del pg_hba.confMacchina Masterhost replication all 10.0.0.4/32 trust
  27. 27. Streaming ReplicationModifica del postgresql.confMacchina Standby● hot_standby = on
  28. 28. Streaming ReplicationModifica del recovery.confMacchina Standby● standby_mode = on● primary_conninfo = host=10.0.0.3
  29. 29. Streaming ReplicationModifica del recovery.confMacchina Standby● standby_mode = on● primary_conninfo = host=10.0.0.3● trigger_file = /usr/local/pgsql/data/failover
  30. 30. Streaming ReplicationSincronizzazione del db remotoMacchina Master● psql -U postgres
  31. 31. Streaming ReplicationSincronizzazione del db remotoMacchina Master● psql -U postgres● # select pg_start_backup(clone,true);
  32. 32. Streaming ReplicationSincronizzazione del db remotoMacchina Master● psql -U postgres● # select pg_start_backup(clone,true);● rsync -av --exclude pg_xlog --exclude postgresql.conf --exclude postgresql.pid data/* 192.168.0.2:/usr/local/pgsql/data/
  33. 33. Streaming ReplicationSincronizzazione del db remotoMacchina Master● psql -U postgres● # select pg_stop_backup();
  34. 34. Streaming ReplicationSincronizzazione del db remotoMacchina Master● psql -U postgres● # select pg_stop_backup();● rsync -av data/pg_xlog 192.168.0.2:/var/lib/postgresql/data/
  35. 35. Streaming ReplicationSincronizzazione del db remotoMacchina Standby● /etc/rc.d/postgres start (Bsd)● /etc/init.d/postgres start (Debian)
  36. 36. Streaming Replication Al Lavoro ???
  37. 37. Contatti Enrico Pirozzihttp://www.pgtraining.com info@pgtraining.com

×