SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
Ap Camp: 15/10/2011



         Postgresql
Binary 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 backup
    viene effettuato
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
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
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
Point in time recovery



Server A                       Server B




               Copia dei dati
                     +
           Trasferimento dei WAL
Domande ??????
Streaming Replication



Master           Standby Server

10.0.0.3            10.0.0.4
Streaming Replication

● Abilita i WAL record ad essere ricevuti
ed eseguiti dalla macchina in standby nel
mentre la macchina master li genera.
Streaming Replication

● Abilita i WAL record ad essere ricevuti
ed eseguiti dalla macchina in standby nel
mentre la macchina master li genera
● Abilita le query in sola lettura sul server
standby
Streaming Replication

● Abilita i WAL record ad essere ricevuti
ed eseguiti dalla macchina in standby nel
mentre la macchina master li genera
● Abilita le query in sola lettura sul server
standby
●   Replicazione Asincrona
Streaming Replication
Streaming Replication




   Configurazione
Streaming Replication
Modifica del postgresql.conf
Macchina Master

●   listen_address = '*'
Streaming Replication
Modifica del postgresql.conf
Macchina Master

●   listen_address = '*'
●   wal_level = hot_standby
Streaming Replication
Modifica del postgresql.conf
Macchina Master

●   listen_address = '*'
●   wal_level = hot_standby
●   max_wal_senders = 3
Streaming Replication

Modifica del pg_hba.conf
Macchina Master

host   replication   all   10.0.0.4/32   trust
Streaming Replication

Modifica del postgresql.conf
Macchina Standby

●   hot_standby = on
Streaming Replication

Modifica del recovery.conf
Macchina Standby

●   standby_mode = 'on'
●   primary_conninfo = 'host=10.0.0.3'
Streaming Replication

Modifica del recovery.conf
Macchina Standby

●   standby_mode = 'on'
●   primary_conninfo = 'host=10.0.0.3'
●   trigger_file =
    '/usr/local/pgsql/data/failover'
Streaming Replication

Sincronizzazione del db remoto
Macchina Master

●   psql -U postgres
Streaming Replication

Sincronizzazione del db remoto
Macchina Master

●   psql -U postgres
●   # select pg_start_backup('clone',true);
Streaming Replication

Sincronizzazione del db remoto
Macchina 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/
Streaming Replication

Sincronizzazione del db remoto
Macchina Master

●   psql -U postgres
●   # select pg_stop_backup();
Streaming Replication

Sincronizzazione del db remoto
Macchina Master

●   psql -U postgres
●   # select pg_stop_backup();
●   rsync -av data/pg_xlog
    192.168.0.2:/var/lib/postgresql/data/
Streaming Replication

Sincronizzazione del db remoto
Macchina Standby

●   /etc/rc.d/postgres start (Bsd)
●   /etc/init.d/postgres start (Debian)
Streaming Replication



           Al Lavoro ???
Contatti




       Enrico Pirozzi
http://www.pgtraining.com
   info@pgtraining.com

Weitere ähnliche Inhalte

Was ist angesagt?

PostgreSQL: Archtettura per la gestione dei pro
PostgreSQL: Archtettura per la gestione dei proPostgreSQL: Archtettura per la gestione dei pro
PostgreSQL: Archtettura per la gestione dei proEnrico Pirozzi
 
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatileGlusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatileIvan Rossi
 
Biblioteca Generale della Custodia di Terra Santa a Gerusalemme : Specifiche ...
Biblioteca Generale della Custodia di Terra Santa a Gerusalemme : Specifiche ...Biblioteca Generale della Custodia di Terra Santa a Gerusalemme : Specifiche ...
Biblioteca Generale della Custodia di Terra Santa a Gerusalemme : Specifiche ...KohaGruppoItaliano
 
Log files - Approcci al Troubleshooting
 Log files - Approcci al Troubleshooting Log files - Approcci al Troubleshooting
Log files - Approcci al TroubleshootingFulvio Corno
 
Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009Giuseppe Agrillo
 
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL ClusterMySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL ClusterPar-Tec S.p.A.
 
Tom EE appunti devoxx2012
Tom EE   appunti devoxx2012 Tom EE   appunti devoxx2012
Tom EE appunti devoxx2012 Nicola Pedot
 
Presentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di DijkstraPresentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di DijkstraMassimoPalmisano
 
Bookalive Klaus Kempf Presentazione: Record, Zend e archiviazione
Bookalive Klaus Kempf Presentazione: Record, Zend e archiviazioneBookalive Klaus Kempf Presentazione: Record, Zend e archiviazione
Bookalive Klaus Kempf Presentazione: Record, Zend e archiviazioneInformamuse srl
 
Sottoli in the cloud
Sottoli in the cloudSottoli in the cloud
Sottoli in the clouddema
 
8 Linux Comandi Di Sistema
8 Linux Comandi Di Sistema8 Linux Comandi Di Sistema
8 Linux Comandi Di SistemaMauro Ferrigno
 
Cloud storage in azienda: perche` Riak ci e` piaciuto
Cloud storage in azienda: perche` Riak ci e` piaciutoCloud storage in azienda: perche` Riak ci e` piaciuto
Cloud storage in azienda: perche` Riak ci e` piaciutoBioDec
 
Richiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatoriRichiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatoriFulvio Corno
 
Back to Basics, webinar 6: Messa in esercizio
Back to Basics, webinar 6: Messa in esercizioBack to Basics, webinar 6: Messa in esercizio
Back to Basics, webinar 6: Messa in esercizioMongoDB
 

Was ist angesagt? (20)

PostgreSQL: Archtettura per la gestione dei pro
PostgreSQL: Archtettura per la gestione dei proPostgreSQL: Archtettura per la gestione dei pro
PostgreSQL: Archtettura per la gestione dei pro
 
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatileGlusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
 
Prova In Itinere
Prova In ItinereProva In Itinere
Prova In Itinere
 
Biblioteca Generale della Custodia di Terra Santa a Gerusalemme : Specifiche ...
Biblioteca Generale della Custodia di Terra Santa a Gerusalemme : Specifiche ...Biblioteca Generale della Custodia di Terra Santa a Gerusalemme : Specifiche ...
Biblioteca Generale della Custodia di Terra Santa a Gerusalemme : Specifiche ...
 
Log files - Approcci al Troubleshooting
 Log files - Approcci al Troubleshooting Log files - Approcci al Troubleshooting
Log files - Approcci al Troubleshooting
 
Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009
 
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL ClusterMySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
 
Messa in rete
Messa in reteMessa in rete
Messa in rete
 
Tom EE appunti devoxx2012
Tom EE   appunti devoxx2012 Tom EE   appunti devoxx2012
Tom EE appunti devoxx2012
 
Presentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di DijkstraPresentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di Dijkstra
 
Bookalive Klaus Kempf Presentazione: Record, Zend e archiviazione
Bookalive Klaus Kempf Presentazione: Record, Zend e archiviazioneBookalive Klaus Kempf Presentazione: Record, Zend e archiviazione
Bookalive Klaus Kempf Presentazione: Record, Zend e archiviazione
 
Sottoli in the cloud
Sottoli in the cloudSottoli in the cloud
Sottoli in the cloud
 
Linux Day 2009 LAMP HowTo
Linux Day 2009 LAMP HowToLinux Day 2009 LAMP HowTo
Linux Day 2009 LAMP HowTo
 
8 Linux Comandi Di Sistema
8 Linux Comandi Di Sistema8 Linux Comandi Di Sistema
8 Linux Comandi Di Sistema
 
Cloud storage in azienda: perche` Riak ci e` piaciuto
Cloud storage in azienda: perche` Riak ci e` piaciutoCloud storage in azienda: perche` Riak ci e` piaciuto
Cloud storage in azienda: perche` Riak ci e` piaciuto
 
SAL 2018 - DevOps
SAL 2018 - DevOpsSAL 2018 - DevOps
SAL 2018 - DevOps
 
Richiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatoriRichiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatori
 
Scheduling In Linux
Scheduling In LinuxScheduling In Linux
Scheduling In Linux
 
J huery
J hueryJ huery
J huery
 
Back to Basics, webinar 6: Messa in esercizio
Back to Basics, webinar 6: Messa in esercizioBack to Basics, webinar 6: Messa in esercizio
Back to Basics, webinar 6: Messa in esercizio
 

Andere mochten auch

PostgreSQL: Transazioni e locking
PostgreSQL: Transazioni e lockingPostgreSQL: Transazioni e locking
PostgreSQL: Transazioni e lockingEnrico Pirozzi
 
PostgreSQL: Integrità dei dati
PostgreSQL: Integrità dei datiPostgreSQL: Integrità dei dati
PostgreSQL: Integrità dei datiEnrico Pirozzi
 
Vagrant e Docker a confronto;scegliere ed iniziare
Vagrant e  Docker a confronto;scegliere ed iniziareVagrant e  Docker a confronto;scegliere ed iniziare
Vagrant e Docker a confronto;scegliere ed iniziareDaniele Mondello
 
Automation Night (Docker)
Automation Night (Docker)Automation Night (Docker)
Automation Night (Docker)Giuliano Latini
 
PostgreSQL: Approximated searches
PostgreSQL: Approximated searchesPostgreSQL: Approximated searches
PostgreSQL: Approximated searchesEnrico Pirozzi
 
Livin' with Docker - dallo sviluppo alla produzione
Livin' with Docker - dallo sviluppo alla produzioneLivin' with Docker - dallo sviluppo alla produzione
Livin' with Docker - dallo sviluppo alla produzionegiacomos
 
Docker Fudamentals
Docker FudamentalsDocker Fudamentals
Docker Fudamentalsmvetro
 
Architetture a Microservizi con Docker Container
Architetture a Microservizi con Docker ContainerArchitetture a Microservizi con Docker Container
Architetture a Microservizi con Docker ContainerRoberto Messora
 

Andere mochten auch (8)

PostgreSQL: Transazioni e locking
PostgreSQL: Transazioni e lockingPostgreSQL: Transazioni e locking
PostgreSQL: Transazioni e locking
 
PostgreSQL: Integrità dei dati
PostgreSQL: Integrità dei datiPostgreSQL: Integrità dei dati
PostgreSQL: Integrità dei dati
 
Vagrant e Docker a confronto;scegliere ed iniziare
Vagrant e  Docker a confronto;scegliere ed iniziareVagrant e  Docker a confronto;scegliere ed iniziare
Vagrant e Docker a confronto;scegliere ed iniziare
 
Automation Night (Docker)
Automation Night (Docker)Automation Night (Docker)
Automation Night (Docker)
 
PostgreSQL: Approximated searches
PostgreSQL: Approximated searchesPostgreSQL: Approximated searches
PostgreSQL: Approximated searches
 
Livin' with Docker - dallo sviluppo alla produzione
Livin' with Docker - dallo sviluppo alla produzioneLivin' with Docker - dallo sviluppo alla produzione
Livin' with Docker - dallo sviluppo alla produzione
 
Docker Fudamentals
Docker FudamentalsDocker Fudamentals
Docker Fudamentals
 
Architetture a Microservizi con Docker Container
Architetture a Microservizi con Docker ContainerArchitetture a Microservizi con Docker Container
Architetture a Microservizi con Docker Container
 

Ähnlich wie Ap Camp 2011

100526 Sa 1.1 Platespin Forge Webinar (2)
100526 Sa 1.1 Platespin Forge Webinar (2)100526 Sa 1.1 Platespin Forge Webinar (2)
100526 Sa 1.1 Platespin Forge Webinar (2)antonio_tonani
 
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...Codemotion
 
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi ClusterCodemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi ClusterMatteo Baccan
 
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBPolyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBSteve Maraspin
 
Atempo hyperstream server
Atempo hyperstream serverAtempo hyperstream server
Atempo hyperstream serverPivari.com
 
Kubernetes as HA time series server, a proposal
Kubernetes as HA time series server, a proposalKubernetes as HA time series server, a proposal
Kubernetes as HA time series server, a proposalGiuliano Latini
 
Benchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLBenchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLEDB
 
Webminar del 12.03.2012
Webminar del 12.03.2012Webminar del 12.03.2012
Webminar del 12.03.2012PgTraining
 
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...Codemotion
 
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...Matteo Baccan
 
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS Imola Informatica
 
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFSLa nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFSMorlini Gabriele
 
Il Cloud chiavi in mano | Giampaolo Sticotti (CA Technologies)
Il Cloud chiavi in mano | Giampaolo Sticotti (CA Technologies)Il Cloud chiavi in mano | Giampaolo Sticotti (CA Technologies)
Il Cloud chiavi in mano | Giampaolo Sticotti (CA Technologies)CA Technologies Italia
 
Alla scoperta di gRPC
Alla scoperta di gRPCAlla scoperta di gRPC
Alla scoperta di gRPCAndrea Dottor
 

Ähnlich wie Ap Camp 2011 (20)

100526 Sa 1.1 Platespin Forge Webinar (2)
100526 Sa 1.1 Platespin Forge Webinar (2)100526 Sa 1.1 Platespin Forge Webinar (2)
100526 Sa 1.1 Platespin Forge Webinar (2)
 
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...
 
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi ClusterCodemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
 
Kubernetes Core Concepts
Kubernetes Core ConceptsKubernetes Core Concepts
Kubernetes Core Concepts
 
Ha solutions su power i
Ha solutions su power iHa solutions su power i
Ha solutions su power i
 
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBPolyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
 
Atempo hyperstream server
Atempo hyperstream serverAtempo hyperstream server
Atempo hyperstream server
 
Kubernetes as HA time series server, a proposal
Kubernetes as HA time series server, a proposalKubernetes as HA time series server, a proposal
Kubernetes as HA time series server, a proposal
 
Benchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLBenchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQL
 
Webminar del 12.03.2012
Webminar del 12.03.2012Webminar del 12.03.2012
Webminar del 12.03.2012
 
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...
 
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
 
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
 
Service Backup Online
Service Backup OnlineService Backup Online
Service Backup Online
 
Hadoop analyzerJR
Hadoop analyzerJRHadoop analyzerJR
Hadoop analyzerJR
 
Quickr In Real Life - casi di successo di QuickR
 Quickr In Real Life - casi di successo di QuickR Quickr In Real Life - casi di successo di QuickR
Quickr In Real Life - casi di successo di QuickR
 
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFSLa nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
 
SVN/TRAC
SVN/TRACSVN/TRAC
SVN/TRAC
 
Il Cloud chiavi in mano | Giampaolo Sticotti (CA Technologies)
Il Cloud chiavi in mano | Giampaolo Sticotti (CA Technologies)Il Cloud chiavi in mano | Giampaolo Sticotti (CA Technologies)
Il Cloud chiavi in mano | Giampaolo Sticotti (CA Technologies)
 
Alla scoperta di gRPC
Alla scoperta di gRPCAlla scoperta di gRPC
Alla scoperta di gRPC
 

Ap Camp 2011