Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ap Camp 2011

10,134 views

Published on

Ap Camp 2011: Streaming replication in PostgreSQL

Published in: Education
  • Be the first to comment

  • Be the first to like this

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

×