Harald Armin Massa. Hochverfügbarkeit mit PostgreSQL - ein Überblick. Swiss PG Day Rapperswil

Ähnliche Dokumente
Ist Dein PostgreSQL logisch genug für bidirektionalität? , Swiss PGDay Harald Armin Massa

Hochverfügbarkeit für die Datenbank

Wege zur Hochverfügbarkeit. Christian Affolter High Availability 08. Mai 2015

Daten auf mehreren Systemen Swiss Postgres Conference Juni Harald Armin Massa

Hochverfügbarkeit mit Data Guard Möglichkeiten und Grenzen

Hochverfügbarkeit von TransConnect 2.2

APEX (Hoch) Verfügbar? Ernst Leber

Im Vergleich: Hochverfügbarkeitslösungen für die MySQL -Datenbank

IBM DB2 UNIX/Linux/Windows Backup und Hochverfügbarkeit mit HADR

PostgreSQL im Cluster. Hans-Jürgen Schönig Hans-Jürgen Schönig

<Insert Picture Here> RAC Architektur und Installation

Oracle HA-Technologien im Überlick

PostgreSQL in der Praxis - Replikation und Hochverfügbarkeit

MySQL Replikationstechnologien eine Übersicht

PostgreSQL Administration

Grundlagen der PostgreSQL Administration

Hochverfügbarkeit für die Datenbank was ist zu beachten

IBM DB2 Unix/Linux/Windows Backup und Hochverfügbarkeit mit HADR

Application Business Continuity

Linux High Availability out of the Box

Hochverfügbarkeit - wie geht das?

Hochverfügbarkeit mit MySQL: Eine Kartographie der Lösungen

MySQL Replikation für Einsteiger

SAP HANA Betriebsprozesse im Rechenzentrum

MariaDB und Galera. Chemnitzer Linux-Tage März Ralf Lang Linux Consultant & Developer B1 Systems GmbH

Weltweite Produktionsdatenverwaltung mit MySQL-Replikation

Präsentation. Failover-Cluster unter Linux Debian Folie: 1 Failover-Cluster 2017 Präsentation G. Hellberg

und DRBD und Gluster FrosCon 2017 Daniel Menzel

Hochverfügbare Virtualisierung mit Open Source

MySQL Backup- und Recovery-Strategien

Online-Schema-Updates - Qualität & Quantität

Datensicherheit und Hochverfügbarkeit

Freiberuflicher IT-Berater Schwerpunkte: Unix, Oracle, Netzwerk. IT-Berater. Dipl.-Inform.

PostgreSQL replizieren Jetzt erst Recht!

Präsentation der Projektphase. Praktikanten der HEDV

Migration von Oracle zu PostgreSQL

Hochverfügbarkeit mit AlwaysOn für die SSISDB. Stefan Grigat,

Datensicherung für MySQL - Möglichkeiten und Unterschiede

Oracle Core für Einsteiger: Datenbank I/O

MySQL Replikationstechnologien

Installation MySQL Replikationsserver

Intern: Ceph Kurzeinführung in die verteile Storage-Lösung

Side Recovery Manager

MySQL Backup- und Recovery-Strategien

Weblogic 12.2 und DB 12.2 das perfekte Duo

Johannes Ahrends CarajanDB GmbH

Hochverfügbarkeit mit Windows Server vnext. Carsten Rachfahl Microsoft Hyper-V MVP

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

NoSQL mit PostgreSQL Swiss Postgres Conference Juni Hannu Krosing Harald Armin Massa

Ihre heutigen Leistungen. HA reicht nicht aus! Wege zu VMware DR. NetUSE AG Jochen Fritzenkötter

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Oracle 18c Real Application Cluster (RAC) und Grid Infrastructure

PostgreSQL repliziert: Ein Überblick. Michael Renner. Netways OSDC 29. & 30. April 2009

Synchroner Spiegel & Applikationsverfügbarkeit. Johan van den Boogaart

Backup. Christian Inauen. Theorie. Praxis. Backup. Werkzeuge. Point-in-time Restore. ..bei MySQL

MySQL Hochverfügbarkeitslösungen. Lenz Grimmer Grazer Linuxtage Austria

ORACLE Database Migration

Hochverfügbarkeit versus Disaster Recovery

Linux High Availability out of the Box der Thomas Krenn Cluster

HP IT-Symposium Stephan Haas. Server Technology Competence Center ORACLE Deutschland GmbH. Page

Allgemeines. Spass. Bericht: PgCon Markus Wanner. 14. Juli 2016

Darüber hinaus wird das Training dazu beitragen, das Verständnis für die neuen Möglichkeiten zu erlangen.


Redo Logs. Informationen soweit der Logminer reicht Thomas Klughardt Senior Systems Consultant

MySQL-Server im Teamwork - Replikation und Galera Cluster

Dipl.-Inf. (FH) Thomas Noone

OSL Storage Cluster for Solaris

Datenbankadministration

MySQL HA Lösungen für Backund

PostgreSQL in großen Installationen

Konsolidierungsplattform Exadata Betriebliche Erfahrungen. Gregor Büchner (Deutsche Telekom IT GmbH) Mai 2017

Datenbankspiegelung mit (Active) Data Guard. und Abgrenzung

Hochverfügbarkeit mit Data Guard Möglichkeiten und Grenzen

Hochverfügbarkeit für die Datenbank. Was ist zu beachten?

MySQL Replikation - Die Eier legende Wollmilchsau?

MySQL Replikation, Scale-Out, Master- Master Replikation, Backup

Galera Cluster - Lessons learned Linux höchstpersönlich.

MySQL Cluster Wann brauche ich das?

GSCC General Storage Cluster Controller. TSM Verfügbarkeit

MySQL HA Lösungen für Front- und Backend. Matthias Klein

Oracle Backup und Recovery mit RMAN

Intrexx Hochverfügbarkeit

der Oracle Maximum Availability Architecture

Manfred Helber Microsoft Senior PreSales Consultant

Chancen und Wachstumsfelder für PostgreSQL

Clustering mit Shared Storage. Ing. Peter-Paul Witta

MySQL High Availability. DOAG 2013 Datenbank. 14. Mai 2013, Düsseldorf. Oli Sennhauser

<Insert Picture Here> Web-2.0-Anwendungen mit MySQL

Backup- und Replikationskonzepte. SHE Informationstechnologie AG Patrick Schulz, System Engineer

Innova&ve IT Solu&ons. Oracle ACFS / Cloud File System. En?esselung Ihrer Business- kridschen ApplikaDonen. Ma#hias Pölzinger Senior Consultant

Oracle 12c Real Application Cluster (RAC) und Grid Infrastructure

Thomas-Krenn.AG Webinar Hochverfügbarkeit und Datensicherheit mit Open-E JovianDSS

Highlights zu IBM TSM Fastback

Skalierbare Webanwendungen

Johannes Ahrends CarajanDB GmbH CarajanDB GmbH

Trügerische Datensicherung: Horrorszenario RAID-Ausfall

Transkript:

Harald Armin Massa Hochverfügbarkeit mit PostgreSQL - ein Überblick Swiss PG Day 2017-06-30 Rapperswil

Begriffe Hochverfügbarkeit, die Fähigkeit eines Systems, trotz Ausfall einzelner seiner Komponenten einen fortgeführten Betrieb zu gewährleisten.

Klassifizierungen Verfügbarkeiten nach Harvard Research Group (Availability Environment Classification (AEC) Conventional (AEC-0): Funktion kann unterbrochen werden, Datenintegrität ist nicht essenziell. Highly Reliable (AEC-1): Funktion kann unterbrochen werden, Datenintegrität muss jedoch gewährleistet sein. High Availability (AEC-2): Funktion darf nur innerhalb festgelegter Zeiten minimal unterbrochen werden. Fault Resilient (AEC-3): Funktion muss innerhalb festgelegter Zeiten ununterbrochen aufrechterhalten werden. Fault Tolerant (AEC-4): Funktion muss ununterbrochen aufrechterhalten werden (24/7) Disaster Tolerant (AEC-5): Funktion muss unter allen Umständen verfügbar sein.

Klassifizierungen Verfügbarkeitsklasse Bezeichnung Verfügbarkeit in Prozent Downtime pro Jahr 2 stabil 99 3,7 Tage 3 verfügbar 99,9 8,8 Stunden 4 hochverfügbar 99,99 52,2 Minuten 5 fehlerunempfindlich 99,999 5,3 Minuten 6 fehlertolerant 99,9999 32 Sekunden 7 fehlerresistent 99,99999 3 Sekunden

Begriffe Recovery Time Objective RTO Wie lange darf ein System ausfallen? Zeit zwischen Ausfall und Wiederherstellung der Betriebs Recovery Point Objective RPO Wieviel Datenverlust kann in Kauf genommen werden?

Berechnungen Arbeitskosten Schweiz (2014): 59,6 Franken / Stunde (ca. 55 EUR) 100 Mitarbeiter, 8 Stunden Ein Tag Arbeitsausfall 8 * 100 * 59,6 = 47680 Franken Schaden Aufwendungen / Schaden durch Umsatzausfall Reputationsverlust Schadenersatz

Vorgehensweisen Geplante Unterbrechnungen minimieren Versionsupgrades! Ungeplante Unterbrechungen minimieren Redundanz für kritische Systemkomponenten

Begriffe Master Server mit Read + Write Zugriff Führendes System Slave (Replika / Replikant) Folgt dem Master Folgendes System Switchover freiwillige Umschaltung, folgendes System wird zum führenden System Failover unfreiwillige Umschaltung aufgrund von Fehlersituation

Redundanz kritischer Systemkomponenten Systemkomponenten: Netzwerk Stromversorgung Prozessor + Hauptspeicher "Festplatte" WARNUNG! https://www.postgresql.org/docs/9.6/static/differentreplication-solutions.html#high-availability-matrix

Redundanz 1 nur Prozessor und Hauptspeicher mehrfach vorhanden shared disk Bei PostgreSQL als shared disk failover möglich + nur ein Festspeicher erforderlich - es kann nur einen geben: Sicherstellen, dass nur ein Server auf Daten zugreift - Upgrades unterbrechen Systembetrieb Wunsch oft aus Oracle-Welt Empfehlung: auf gar keinen Fall verwenden

Redundanz 2 Duplikation der Festplatten Blockdevice oder Hardware DRBD (Distributed Replicated Block Device) sowie proprietäre Hardware + mehrere Prozessoren + Hauptspeicher + tatsächliche mehrere Plattenspeicher verfügbar + non-database files können Hochverfügbar werden (Bilder, Videos..)

Redundanz 2 Duplikation der Festplatten Blockdevice oder Hardware - Server an duplizierter Platte warten nur - Upgrades unterbrechen Systemverfügbarkeit - Duplikation weiß nichts über Datenbank Schreibvorgänge Schreibvorgänge der Datenbank = kritischer Pfad multiple Blöcke mit wechselseitigen Abhängigkeiten: heap, index files, visibility map, clog, pg_subtrans, pg_multixact Empfehlung: nicht machen, subtile Bugs drohen!

Redundanz 3 Statement Basierte Replikation Üblich in MySQL Welt Umsetzung bei PostgreSQL mit middleware pg_pool + keine Belastung des Masters durch Replikanten + Master - Master möglich, alle Server als Schreibzugriff verfügbar ~ Unterstützung von Versionsupgrade fragwürdig / nicht vorhanden - Daten der Server sind nicht Deckungsgleich: a) insert into logtable (when, what) (now(), 'something dumb') b) timing bei relationen Abhängigkeiten Empfehlung: nicht machen, subtile Bugs!

Redundanz 4 Trigger basierte Replikation Slony, Londiste Änderungen werden per Trigger in Queue-Tabelle geschrieben Replikation der Änderungen an Slave

Redundanz 4 Trigger basierte Replikation + multiple Festplatten + multiple Server + Slaves können für Reads genutzt werden + Granularität auf Tabellenebene möglich + deckungsgleiche Daten + vacuum / analyze / reindex belasten nicht datentransfer + reduktion downtime minor + major upgrades ~ Tabellen müssen Primary Key haben

Redundanz 4 Trigger basierte Replikation - erhebliche Belastung Master - multiple Schreiblast (WAL, Tabelle, Queue-Table, WAL von Queue-Table) - Trigger auf Tabellen erhöhen DB-Komplexität - DDL herausfordernd in Replikation

Redundanz 5 Binary Replication logshipping streaming synchronous streaming

Redundanz 5 Binary Replication + multiple Festplatten + multiple Server + slaves können für Reads genutzt werden + geringe Belastung Master + reduktion downtime minor updates + Tabellen ohne Primary Key können repliziert werden + keine Herausforderungen für DDL + bewährt seit PostgreSQL 9.0

Redundanz 5 Binary Replication - Granularität = alle DB des Servers - VACUUM, ANALYZE, REINDEX => Belastung Datentransfer Empfehlung: empfohlene Vorgehensweise

Redundanz 6 logical replication pg_logical (released) BDR (1.0 released for 9.4, 2.0 for 9.6 private beta)

Redundanz 6 logical replication + multiple Festplatten + multiple Server + Slaves können für Reads genutzt werden + geringe Belastung Master (minimal mehr als binary Replikation) + Reduktion downtime minor updates + major upgrades + Tabellen-Granularität + VACUUM, ANALYZE, REINDEX = geringer Datentransfer ~ Primary Key muss vorhanden seind - DDL herausfordernd - neuer Code (ab 9.4)

Orthogonale Fragen Wie einrichten? Wie umschalten? Wann umschalten?

Tools Focus auf Binary Replication Einrichten + Umschalten geht mit Bordmitteln: pg_basebackup zum Einrichten Replikant Umschalten: pg_ctl promote oder Triggerfile für den Switchover

Umsetzung Umsetzung mit Skripten möglich, Pseudocode: while test_if_server_is_alive(): noop promote slave to new master reroute access Herausforderung: bei jeder Umsetzung neue Verhalten Wie test_if_server_is_alive() umsetzen?

Toolkits Pacemaker patroni + etcd / consul / zookeeper repmgr

Pro + Con tools Pacemaker, Patroni: + basierend auf distributed storage + Nutzen von fortgeschrittenen Konsens-Algorythmen - diverse zusätzliche pakete Repmgr + standalone tool, minimale Abhängigkeiten + schlichter Konsensalgorhythmus - distributed storage der Konfigs per Filecopy der repmgr.ini - schlichter Konsensalgorhythmus

Ende.