La replication dans PostgreSQL



Documents pareils
FORMATION PostgreSQL Réplication / Haute Disponibilité

Haute disponibilité avec PostgreSQL

Tungsten: une implémentation du futur clustering de PostgreSQL

Réplication des données

Présentation du projet

PostgreSQL. Formations. Catalogue Calendrier... 8

Haute-disponibilité et bases de données

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

DHCP Failover for Windows Server 2012 By COCHET Anthony

Oracle Maximum Availability Architecture

Sommaire. La haute-disponibilité. L'offre OpenSource. Les systèmes tiers. MySQL

LIVRE BLANC PRODUIT. Evidian SafeKit. Logiciel de haute disponibilité pour le clustering d application

Mise en oeuvre TSM 6.1

Architectures haute disponibilité avec MySQL. Olivier Olivier DASINI DASINI - -

Retour d'expérience migration Oracle vers PostgreSQL. Vincent Moreau Adeo Services

Ora2Pg Performances. (C) 2013 Gilles Darold

Artica Proxy Appliance Haute disponibilite

Fiche Produit MediaSense Extensions

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

Dynamic Computing Services solution de backup. White Paper Stefan Ruckstuhl

PHP. Performances. Audit et optimisation LAMP. Julien Pauli. Cyril Pierre de Geyer. Guillaume Plessis. Préface d Armel Fauveau

SQL Server 2008 et YourSqlDba

Archives, backup, DRP. Archivage, sauvegarde, PRA. (plan de reprise d'activité) 04 Octobre

«clustering» et «load balancing» avec Zope et ZEO

Synchronisation Mysql (Replication)


Configuration de plusieurs serveurs en Load Balancing

Procédure d'installation de PostgreSQL pour Windows

Solution Haute Disponibilité pour Linux

CATALOGUE FORMATION 2014

Slony1 2.1 Londiste 3

CNAM Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

Disponibilité 24-7/365

PostgreSQL. Formations. Calendrier... 14

Cours 6. Sécurisation d un SGBD. DBA - M1ASR - Université Evry 1

PLAN DE REPRISE D ACTIVITE INFORMATIQUE

PostgreSQL. Formations. SQL avancé Calendrier... 18

Ce TP consiste à installer, configurer et tester un serveur DNS sous Linux. Serveur open source : bind9 Distribution : Mandriva

GOUTEYRON ALEXIS. SIO2 N candidat: UEpreuve E4. USituation professionnelle 2. serveurs de fichiers. Uen haute disponibilité

DOMAIN NAME SYSTEM. CAILLET Mélanie. Tutoriel sur le DNS. Session Option SISR

GPI Gestion pédagogique intégrée

Configuration matériel. Tâche 2 : Installation proprement dite de l application sur un serveur de test virtualisé sous VmWare Workstation.

MySQL - Réplication. Fichiers de relais et de statut de la réplication. Mise en place de la réplication

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Bases de Données Réparties Concepts et Techniques. Matthieu Exbrayat ULP Strasbourg - Décembre 2007

Choisir la solution d hébergement et de support faite pour vous

Veeam Backup & Replication v6

Analyse Concurrentielle Retrospect et ses concurrents

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

La Continuité d Activité

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

Architectures d implémentation de Click&DECiDE NSI

Guide d installation

Continuité d activité : le choix des armes

Exemple de configuration ZyWALL USG

Audit et optimisation MySQL 5

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters

Oracle 11g - Dataguard

UE5A Administration Réseaux LP SIRI

Installation d un groupe de disponibilité avec SQL Server 2012 AlwaysOn (CTP3) qsjdlkqjs

TARDITI Richard Mise en place d une Haute Disponibilité

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

VERITAS NetBackup 5.0 en 5 jours : Administration Avancée

Analyse Concurrentielle Retrospect et ses concurrents

CONSULTATION : (MAPA) MAT_INFO_2013_03 Marché à procédure adaptée (MAPA) MAT_INFO_2013_03

Sybase High Avalaibility

ITIL Gestion de la continuité des services informatiques

LAB : Schéma. Compagnie C / /24 NETASQ

Notes de cours : bases de données distribuées et repliquées

Nouvelles stratégies et technologies de sauvegarde

VERITAS NetBackup 6.x en 5 jours : Administration Avancée

Cluster High Availability. Holger Hennig, HA-Cluster Specialist

L annuaire et le Service DNS

Bacula. It comes by night and sucks the vital essence from your computers. Guillaume Arcas

Serveur virtuel infogéré

Administration des bases de données relationnelles Part I

Plan de cette matinée

Solution de stockage et archivage de grands volumes de données fichiers.

Configuration du serveur ESX

1200 Incendies par an dans des «Data Center»!! Et vous. Moi j ai Data Guard 10g!!!!

VMware vsphere 5 au sein du Datacenter Complément vidéo : La configuration et la sécurisation de l'esx

contact@nqicorp.com - Web :

Exchange Server 2010 Exploitation d'une plateforme de messagerie

Utilisation de matériels industriels avec des outils de virtualisation open source. Open Source dans le monde industriel

Réalisation d un portail captif d accès authentifié à Internet

Backup Exec 2010 vs. BackupAssist V6

Sommaire. Etablir une connexion avec une base de données distante sur PostGreSQL

Master Informatique et Systèmes. Architecture des Systèmes d Information. 03 Architecture Logicielle et Technique

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Chapitre 1 Windows Server

EVOLUTION ACTIVE DIRECTORY Windows 2012R2

NEXTDB Implémentation d un SGBD Open Source

4D v11 SQL Release 5 (11.5) ADDENDUM

1. Présentation du TP

1 DHCP sur Windows 2008 Server Introduction Installation du composant DHCP Autorisation d'un serveur DHCP...

Sauvegarde et Restauration d un environnement SAS

Transcription:

10 mars 2011

Sommaire 1 Introduction 2 Les différents modes de réplication 3 La réplication par journaux Mise en place de la réplication en hot standby Limitations et critiques du hot standby Avenir du hot standby 4 Outils externes de réplications slony pgpool-ii 5 Appendice

Introduction Introduction Pourquoi répliquer sauvegarder une base dans un contexte de haute disponibilité load balancing (éventuellement) parallèliser les requêtes Probèmatiques de la réplication disponiblité en lecture/ecriture (maitre-escalve(s) ou maitre-maitre) surcharge sur le maitre attente entre serveurs pertes en cas de failover granularité résolution de conflits

Les différents modes de réplication Les différents modes de réplications Réplication de système de fichiers DRBD sur Linux : sorte de RAID1 sur deux machines différentes Utilisation des fichiers journaux le warm standby et hot standby de PostgreSQL : utilisation des fichiers pg xlog Réplication par trigger (ex : SLONY) Utilisation d un middleware (ex : pgpool) réplication master/master en synchrone (Ex : Bucardo)

Spécificité Réplication en mode asynchrone (un maitre et un (ou +) esclave(s)) La base esclave peut devenir maitre suite à une intervention du DBA Lorsque un esclave devient maitre fin de la réplication. Pour remettre le serveur en esclave, il est nécésaire de le reconstruire. Méthode interne de PostgreSQL, les fichiers WAL : Toutes les mises à jour de la base de données y sont tracées Permettent la reconstruction de la base en cas d arret brutal recyclage des fichiers WAL Les ordres de réplications sont séquentiels. Une rupture de la chaine attente inifinie de l esclave

Modes de réplications Warm standby : (version > 8.2 de PostgreSQL) la base esclave n est pas interogeable. Principe de mise à jour : Maitre WAL (pg_xlog) WAL (archive directory) WAL (pg_xlog) Esclave

Hot standby : (version >9.0 de PostgreSQL) Configurations possibles : 1 par copie des fichiers WAL (idem warm standby) 2 le mode streaming : l esclave se connecte à la base maitre (plus réactif) Stream flux Maitre WAL (pg_xlog) WAL (archive directory) la base esclave est interogeable en mode read-only Esclave WAL (pg_xlog)

Mise en place de la réplication en hot standby Les serveurs hébergeant le maitre et l esclave doivent être de même type Installation des outils de la «contrib» Préparation de la base esclave : 1 initdb -D directory base esclave 2 supprimer les fichiers et sous répertoires de la base esclave : global pg xlog pg tblspc pg clog base 3 sauvegarde de la base avec la commande select pg start backup() 4 copie des même fichiers et sous répertoires de la base maitre sur l esclave 5 stopper le processus de sauvegarde du maitre select pg stop backup() 6 mettre a jour la configuration de l esclave

Par archivage des fichiers journaux (WAL) Le serveur maitre # postgresql.conf wal level = hot standby # mettre archive pour le warm standby archive mode = on archive command = cp -f %p archive dir/%f </dev/null # Optionnel : archive timeout = 10 # force la creation de fichier WAL Le serveur esclave # postgresql.conf hot standby = on max standby archive delay = 30s # max delay before canceling queries (-1 = infini) # recovery.conf standby mode = on restore command = pg standby -d -t /tmp/stopstandby archive dir %f %p %r

Le mode streaming En mode streaming l archivage des fichiers WAL est optionnel Le serveur maitre # postgresql.conf wal level = hot standby archive mode = on max wal senders=1 # >0 (nombre d esclaves) # Optionnel : wal sender delay = 200ms# envoi des enregistrement a l esclave archive command = cp -f %p archive dir/%f </dev/null # mais recommande wal keep segments = 10 # si archive command non utilise, permet de recycler plus de WAL # pg hba.conf host replication postgres esclave ip/32 trust Le serveur esclave # postgresql.conf hot standby = on max standby archive delay = 30s max standby streaming delay = 30s # max delay before canceling queries (coming from stream) # recovery.conf standby mode = on primary conninfo = host=maitre ip port=5432 user=postgres password=foopass trigger file = /tmp/stopstandby # met le serveur esclave en maitre # Optionnel : restore command = cp archive dir/%f %p archive cleanup command = pg archivecleanup /path/to/archive %r

Monitoring Surveiller le répertoire d archivage s il a été configuré Le point de synchronisation correspond au dernier fichier journal traité (global/pg control) Il est possible a tout moment de connaitre ce point de synchronisation par la commande ps : postgres 24822 24821 0 19 :20 pts/1 00 :00 :00 /usr/local/pgsql/bin/postgres -D /home/postgresql/9.0.2/base1 postgres 24825 24822 0 19 :20? 00 :00 :00 postgres : wal writer process postgres 24827 24822 0 19 :20? 00 :00 :00 postgres : archiver process last was 000000010000000000000017 postgres 25050 25049 0 19 :28 pts/2 00 :00 :00 /usr/local/pgsql/bin/postgres -D /home/postgresql/9.0.2/base2 postgres 25051 25050 0 19 :28? 00 :00 :00 postgres : startup process recovering 000000010000000000000017 postgres 25055 25050 0 19 :28? 00 :00 :00 postgres : writer process

Limitations et critiques du hot standby le mode read-only implique qu il n est pas possible d utiliser les tables temporaires dans l esclave des vérous posés sur l esclave peuvent bloquer le mécanisme de réplication Le mécanisme de dévérouillage de ces vérous est basé sur un temps maximal d exécution des requêtes sur l esclave. (voir paramètres max standby archive delay et max standby streaming delay) blocage constaté lors d un drop de table ou de tablespace le système de fichiers journaux peut poser des problèmes de volumétrie en cas d arret du serveur esclave (si l archivage est configuré) asynchrone : pertes possible de données en cas de failover

Avenir du hot standby réplication synchrone dans la version 9.1 bascule automatique maitre-esclave

Outils externes de réplications Slony Caractéristiques licence BSD - installation avec «aptitude» sur Ubuntu replication par trigger granularité au niveau table : principe d abonnement démons mis a jour par des scripts Slony Avantages et limitations (+) possibilité d utiliser des tables temporaires (+) plusieurs esclaves possibles (+) update, insert impossible sur le(s) esclave(s) ( ) la réplication d une table nécéssite une clef primaire ( ) ajout de tables et modification du schema script slony ( ) moins rapide que hot standby de postgres ( ) asynchrone : pertes possible de données en cas de failover

Outils externes de réplications pgpool-ii Caractéristiques licence BSD - installation avec «aptitude» sur Ubuntu middleware (SQL) : connection sur un port pgpool nombreuses fonctionnalités : pool de connections, caches, replications, load balancing, requêtes parallèles peut utiliser le mode streaming (hot standby) de PostgreSQL ou Slony CLIENT (psql) Base virtuelle pgpool port 9999 Base1 Base2

Outils externes de réplications pgpool-ii Configuration : load balancing + réplication (2 serveurs PostgreSQL en mode normal) les requêtes de mises à jour sont exécutées sur les 2 serveurs bonne gestion des tables temporaires à condition de supprimer le cache de connection (ie : le pool) divergence possible en cas de connection directe en cas de divergence passage en mode dégradé Configuration : load balancing + Master Slave mode (mode hot standby de PostgreSQL) pas de divergence pgpool se charge d exécuter les requêtes de mise à jour sur le maitre, et ce dans la même connection création de table temporaire ok, mais lecture impossible

Appendice Appendice Comparaison des différents modes Fonction DRBD WAL Slony pgpool-ii Bucardo Plusieurs serveur maitres ok ok Pas de surcharge sur le maitre ok ok Pas d attente entre serveur ok ok ok Pas de perte en cas de panne du ok ok maitre Esclave disponible en lecture Hot only ok ok ok Granularite ok ok Pas de resolution de conflit ok ok ok