SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
MySQL Hochverfügbarkeitslösungen


    Lenz Grimmer <lenz@grimmer.com>
                  <
    http://lenzg.net/ | Twitter: @lenzgr
  2009-12-11 | SLAC 2009 | Berlin | Germany
Agenda
● Konzepte & Aspekte
● MySQL Replikation


● Disk replikation (DRBD)


● Shared Storage (SAN/NAS)


● Heartbeat/Linux-HA


● MySQL Cluster


● Weitere HV-Applikationen
Single MySQL Server

             MySQL Client



    SQL (SELECT, INSERT,
        UPDATE, DELETE)


   MySQL Storage Engines
(InnoDB, MyISAM, PBXT...)




              Disk Storage
(XFS, ReiserFS, JFS, ext3...)
Warum Hochverfügbarkeit?
●   Irgendetwas kann und wird ausfallen
●   Notwendigkeit von Wartungsarbeiten
●   Ausfallzeiten sind teuer
     ●   Website-Besucher kommen nicht wieder
     ●   Sie verlieren €€€
     ●   Ihr Chef beschwert sich
●   HV zu einem bereits vorhandenen System
    hinzuzufügen ist schwierig
Eliminierung des SPOF
●   Was ausfallen wird
    ●   Festplatten
    ●   Lüfter
●   Was ausfallen kann
        ●   Absturz der Applikation
        ●   OOM-Situationen, Kernel-Panics
        ●   Netzwerkverbindungen/-kabel
        ●   Stromversorgung
Was ist HV-Clustering?
●   Redundanz
●   Ein Dienst fällt aus → ein anderer
    übernimmt
●   Übernahme der IP Addresse und des
    Dienstes
●   Failover vs. Failback vs. Switchover
●   Nicht geeignet für mehr Leistung
●   Nicht geeignet für mehr Durchsatz
    (Lastverteilung)
Hochverfügbarkeitslevel
Regeln zur Hochverfügbarkeit
●   Auf Ausfälle vorbereitet sein
●   Sicherstellen daß keine wichtigen Daten
    verloren gehen
●   Keep it simple, stupid (KISS)
●   Komplexität ist der Feind der
    Zuverlässigkeit
●   Automatisieren was sinnvoll ist
●   Häufig Tests durchführen!
HA Komponenten
●   Heartbeat
     ●   Überwachung der hochverfügbar zu
         machenden Dienste
     ●   Kann einzelne Server, Dienste,
         Netzwerkverbundungen etc. prüfen
●   HA Monitor
     ●   Konfiguration der Dienste/Applikationen
     ●   Regelt ordnungsgemäßen Start und Beenden
     ●   Erlaubt manuelle Übernahme
●   Replikation oder Shared storage (SAN)
Split-Brain
●   Ausfall der Kommunikation → separate
    Cluster-Partitionen
●   “Split-brain” Situation: mehr als eine
    Partition will die Kontrolle über ihren Teil
    des Clusters übernehmen
●   http://linux-ha.org/BadThingsWillHappen
●   Vermeidung mittels “Fencing“ oder
    Moderation/Arbitrierung
Redundancy with MySQL Replication




           MySQL Replication
MySQL Replikation
●   Unidirektional
●   Anweisungs- oder zeilenbasiert (MySQL 5.1)
●   Bestandteil des MySQL-Servers
●   Einfach zu bedienen und einzurichten
●   Ein Master, viele Slaves
●   Asynchron – Slaves können nachlaufen
MySQL Replikation (2)
●   Master verwaltet Binärlogs & index
●   Replikation auf Slave ist (noch) single-
    threaded
    http://forge.mysql.com/wiki/ReplicationFeatures/ParallelSlave
●   Kein automatisiertes Fail-over
●   Kein Heartbeat, kein Monitoring
MySQL Replikation - Überblick

        Read & Write


            Web/App
             Server
                                                                       Write

                                                 Relay
                                                  Log



                  mysqld                               I/O              SQL
                                                     Thread            Threa
                                                                         d
                       Index &
                       Binlogs

Data

                                 Replication                  Binlog           Data

                                               mysqld

       MySQL Master                                       MySQL Slave
Anweisungsbasierte Replikation
●   Pro
     ●    Bewährt (seit MySQL 3.23 verfügbar)
     ●    Kleinere Logdateien
     ●    Auditing der tatsächlichen SQL-Anweisungen
     ●    Kein Primärschlüssel bei replizierten Tabellen
          erforderlich
●   Kontra
     ●    Nicht-deterministische Funktionen und UDFs
     ●    LOAD_FILE(), UUID(), USER(),
          FOUND_ROWS() (RAND() and NOW() gehen)
Zeilenbasierte Replikation
●   Pro
     ●    Alle Veränderungen können repliziert werden
     ●    Verfahren ähnlich zu anderen DBMSen
     ●    Erfordert weniger Locks für bestimmte INSERT,
          UPDATE oder DELETE Anweisungen
●   Kontra
     ●    Mehr Daten müssen gelogged werden
     ●    Logfile-Größe (Auswirkungen auf Backup/Restore)
     ●    Replizierte Tabellen benötigen expliziten
          Primärschlüssel
     ●    Mögliche Ergebnis-Differenzen bei Bulk-INSERTs
Replikationstopologien

Master > Slave                           Master > Slaves




Master > Slave > Slaves             Masters > Slave (Multi-Source)




                                          Ring (Multi-Master)
 Master < > Master (Multi-Master)
Master-Master-Replikation
●   Zwei Server sind sowohl Master als auch
    Slave zueinander
●   Vereinfacht Failover
●   Nicht geeignet um Schreiblast zu verteilen
    ●   Änderungen erfolgen auf beiden Systemen
    ●   Keines von beiden hat volle Autorität
●   Nicht auf beide Master schreiben!
●   Sharding oder Partitionierung (z.B. MySQL
    Proxy) eignen sich besser
MySQL Replikation als eine HV-Lösung
●   Was passiert wenn der Master ausfällt?

●   Was passiert wenn der Slave ausfällt?

●   Ist das Hochverfügbarkeit?
Replikation & Hochverfügbarkeit
●   Kombiniert mit Heartbeat
●   Übernahme der virtuellen IP-Adresse
●   Slave wird zum Master befördert
●   Nebeneffekt: Lastverteilung & Backup
●   Failback kompliziert
●   Keine automatische Konfliktauflösung
●   Korrektes Failover muß gescriptet werden
Redundancy with Disk Replication




           Disk Replication
DRBD
●   Distributed Replicated Block Device
●   “RAID-1 über das Netzwerk”
●   Synchrone/asynchrone Block-Replizierung
●   Automatische Resynchronisierung
●   Applications-agnostisch
●   Kann lokale I/O-Fehler maskieren
●   Aktiv/passiv-Konfiguration vorgegeben
●   Dual-primary Modus (benötigt ein Cluster
    Dateisystem wie GFS or OCFS2)
●   http://drbd.org/
DRBD im Detail
●   DRBD repliziert Datenblöcke zwischen zwei
    Plattenpartitionen
●   DRBD kann mit Linux-HA und anderen HV-
    Lösungen gekoppelt
    werden
    MySQL läuft normal auf                    Applications
●


    dem Primärknoten
●   MySQL ist nicht aktiv auf   Active Node   Virtual IP     Passive Node



    dem Sekundärknoten
●   DRBD ist nur für Linux                           DRBD



    verfügbar
Redundancy with Shared Storage
Replikation vs. SAN
●   Konsistenz der replizierten Daten
●   Synchrone vs. asynchrone Replikation
●   Geteiltes Speichermedium kann zum SPOF
    werden
●   “Split brain”-Situationen können zu
    Problemen führen (z.B. Gleichzeitiges
    Einhängen eines Dateisystems)
●   SAN/NAS I/O Overhead
Linux-HA / Heartbeat
●   Unterstützt 2 oder mehr Knoten (v2)
●   Wenig Abhängigkeiten/ Anforderungen
●   Überwachung von Resourcen
●   Aktiver Fencing-Mechanismus: STONITH
●   Erkennung eines Knotenausfalls in
    Sekundenbruchteilen
●   http://linux-ha.org/
Heartbeat (2)
●   Richtlinien-basierte Resourcenverwaltung,
    Abhängigkeiten & Einschränkungen
●   Zeitbasierte Regeln
●   Unterstützt sehr viele Applikationen
    (incl. MySQL)
●   Grafische Oberfläche
Applications




Master   Virtual IP          HA Slave   Scale-out Slave




               Replication

                         Replication
Redundancy with MySQL Cluster
MySQL Cluster
●   “Shared-nothing”-Architektur
●   Automatische Partitionierung
●   Verteilte Fragmente
●   Synchrone Replikation
●   Schnelles, automatisches Fail-Over der
    Datenknoten
●   Automatische Resynchronisierung
●   Transparent für MySQL-Applikationen
●   Unterstützt Transaktionen
●   http://mysql.com/products/database/cluster/
MySQL Cluster
●   In-memory indexes
●   Nicht für alle Abfrage-Muster geeignet
    (JOINs über viele Tabellen, Range Scans)
●   Keine Unterstützung für Fremdschlüssel
●   Ungeeignet für lang laufende Transaktionen
●   Netzwerk-Latenz wichtig
●   Kann mit MySQL Replikation (RBR) kombiniert
    werden
MySQL Cluster & Replication
●   MySQL Cluster
      ●   Easy failover from one master to another
      ●   Scaling writes to multiple masters
●   Asynchronous replication from Cluster to
    multiple slaves
●   Reads are distributed to slave servers (running
    InnoDB/MyISAM)
●   Quick setup of new slaves (using Cluster Online
    Backup)
●   Easy failover and quick recovery
http://johanandersson.blogspot.com/2009/05/ha-mysql-write-scaling-using-cluster-to.html
MMM
●   MySQL Master-Master Replication
    Manager
●   Perl-Scripte zur Überwachung/Failover und
    Management
●   Master-Master Replikationskonfiguration
    (ein aktiver beschreibbarer Master)
●   Failover mittels Übernahme einer virtuellen
    IP-Adresse
●   http://mysql-mmm.org/
Galera Replication
●   Patch für InnoDB plus externe Bibliothek
●   Asynchrone und synchrone Replikation
●   Single- oder Multi-Master
●   Multicast-Replikation
●   HA plus Lastverteilung möglich
●   Zertifikat-basierte Replikationsmethode
    (anstatt 2PC)
●   http://www.codership.com/en/products/galera_replication
Red Hat Cluster Suite
●   HV und Lastverteilung
●   Unterstützt bis zu 128 Knoten
●   Unterstützt Shared Storage
●   Überwacht Dienste, Dateisysteme und
    Netzwerk-Status
●   Fencing (STONITH) oder distributed lock
    manager
●   Synchronisierung der Konfiguration
●   http://www.redhat.com/cluster_suite/
Solaris Cluster / OpenHA Cluster
●   Provides failover and scalability services
●   Solaris / OpenSolaris (Project Colorado)
●   Kernel-level components plus userland
●   Agents monitor applications
●   Geo Edition to provide Disaster Recovery using
    Replication
●   Open Source since June 2007
●   http://www.opensolaris.org/os/community/ha-clusters/
●   http://opensolaris.org/os/project/ha-mysql/
Flipper
●   Perl Script zur Steuerung eines sich replizierenden
    Paars von MySQL-Servern (Master-Master)
●   Automatisierter Switch-Over, manuell ausgelöst
●   Kontrolliertes Herunterfahren einer Hälfte zu
    Wartungszwecken
●   Die andere Hälfte übernimmt die Arbeit
●   Verteilung von rollenbasierten IP Addressen ("nur-
    lesen", "beschreibbar") zwischen zwei Knoten im
    Master-Paar stellt sicher, daß beide Rollen
    verfügbar sind
●   http://provenscaling.com/software/flipper/
Weitere Werkzeuge/Links
●   Maatkit
    http://maatkit.sourceforge.net/
●   Continuent Tungsten Replicator
    https://community.continuent.com/community/tungsten-replicator
Q&A




Fragen, Kommentare?
Vielen Dank!




Lenz Grimmer <lenz@grimmer.com>
         Twitter: @lenzgr
         http://lenzg.net/

Weitere ähnliche Inhalte

Was ist angesagt?

DOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningDOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningFromDual GmbH
 
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, BackupDOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, BackupFromDual GmbH
 
MySQL-Server im Teamwork - Replikation und Cluster
MySQL-Server im Teamwork - Replikation und ClusterMySQL-Server im Teamwork - Replikation und Cluster
MySQL-Server im Teamwork - Replikation und ClusterFromDual GmbH
 
MySQL Cluster with Galera Cluster for MySQL
MySQL Cluster with Galera Cluster for MySQLMySQL Cluster with Galera Cluster for MySQL
MySQL Cluster with Galera Cluster for MySQLFromDual GmbH
 
MySQL für Oracle DBA's
MySQL für Oracle DBA'sMySQL für Oracle DBA's
MySQL für Oracle DBA'sFromDual GmbH
 
MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?
MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?
MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?FromDual GmbH
 
MySQL Backup/Recovery
MySQL Backup/RecoveryMySQL Backup/Recovery
MySQL Backup/RecoveryFromDual GmbH
 
Weltweite Produktionsdatenverwaltung mit MySQL-Replikation
Weltweite Produktionsdatenverwaltung mit MySQL-ReplikationWeltweite Produktionsdatenverwaltung mit MySQL-Replikation
Weltweite Produktionsdatenverwaltung mit MySQL-ReplikationFromDual GmbH
 
MySQL Performance Tuning für Oracle-DBA's
MySQL Performance Tuning für Oracle-DBA'sMySQL Performance Tuning für Oracle-DBA's
MySQL Performance Tuning für Oracle-DBA'sFromDual GmbH
 
Der Datenbank-Backup ist gemacht - was nun?
Der Datenbank-Backup ist gemacht - was nun?Der Datenbank-Backup ist gemacht - was nun?
Der Datenbank-Backup ist gemacht - was nun?FromDual GmbH
 
MySQL - New Features 5.6
MySQL - New Features 5.6MySQL - New Features 5.6
MySQL - New Features 5.6FromDual GmbH
 
DOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLDOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLFromDual GmbH
 
MySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerMySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerFromDual GmbH
 
MySQL HA and Security
MySQL HA and SecurityMySQL HA and Security
MySQL HA and SecurityFromDual GmbH
 
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQLInternet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQLFromDual GmbH
 
Nagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo LatschnerNagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo LatschnerNETWAYS
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability SolutionsFromDual GmbH
 
Neues zur Oracle Lizenzierung - DOAG Konferenz 2011 - OPITZ CONSULTING - Mic...
Neues zur Oracle Lizenzierung  - DOAG Konferenz 2011 - OPITZ CONSULTING - Mic...Neues zur Oracle Lizenzierung  - DOAG Konferenz 2011 - OPITZ CONSULTING - Mic...
Neues zur Oracle Lizenzierung - DOAG Konferenz 2011 - OPITZ CONSULTING - Mic...OPITZ CONSULTING Deutschland
 

Was ist angesagt? (20)

DOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningDOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance Tuning
 
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, BackupDOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
 
MySQL-Server im Teamwork - Replikation und Cluster
MySQL-Server im Teamwork - Replikation und ClusterMySQL-Server im Teamwork - Replikation und Cluster
MySQL-Server im Teamwork - Replikation und Cluster
 
MySQL Cluster with Galera Cluster for MySQL
MySQL Cluster with Galera Cluster for MySQLMySQL Cluster with Galera Cluster for MySQL
MySQL Cluster with Galera Cluster for MySQL
 
NoSQL with MySQL
NoSQL with MySQLNoSQL with MySQL
NoSQL with MySQL
 
MySQL für Oracle DBA's
MySQL für Oracle DBA'sMySQL für Oracle DBA's
MySQL für Oracle DBA's
 
MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?
MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?
MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?
 
MySQL Backup/Recovery
MySQL Backup/RecoveryMySQL Backup/Recovery
MySQL Backup/Recovery
 
MySQL Backup
MySQL BackupMySQL Backup
MySQL Backup
 
Weltweite Produktionsdatenverwaltung mit MySQL-Replikation
Weltweite Produktionsdatenverwaltung mit MySQL-ReplikationWeltweite Produktionsdatenverwaltung mit MySQL-Replikation
Weltweite Produktionsdatenverwaltung mit MySQL-Replikation
 
MySQL Performance Tuning für Oracle-DBA's
MySQL Performance Tuning für Oracle-DBA'sMySQL Performance Tuning für Oracle-DBA's
MySQL Performance Tuning für Oracle-DBA's
 
Der Datenbank-Backup ist gemacht - was nun?
Der Datenbank-Backup ist gemacht - was nun?Der Datenbank-Backup ist gemacht - was nun?
Der Datenbank-Backup ist gemacht - was nun?
 
MySQL - New Features 5.6
MySQL - New Features 5.6MySQL - New Features 5.6
MySQL - New Features 5.6
 
DOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLDOAG: NoSQL with MySQL
DOAG: NoSQL with MySQL
 
MySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerMySQL Performance Tuning für Entwickler
MySQL Performance Tuning für Entwickler
 
MySQL HA and Security
MySQL HA and SecurityMySQL HA and Security
MySQL HA and Security
 
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQLInternet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
 
Nagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo LatschnerNagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo Latschner
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
Neues zur Oracle Lizenzierung - DOAG Konferenz 2011 - OPITZ CONSULTING - Mic...
Neues zur Oracle Lizenzierung  - DOAG Konferenz 2011 - OPITZ CONSULTING - Mic...Neues zur Oracle Lizenzierung  - DOAG Konferenz 2011 - OPITZ CONSULTING - Mic...
Neues zur Oracle Lizenzierung - DOAG Konferenz 2011 - OPITZ CONSULTING - Mic...
 

Andere mochten auch

Effiziente datenpersistierung mit JPA 2.1 und Hibernate
Effiziente datenpersistierung mit JPA 2.1 und HibernateEffiziente datenpersistierung mit JPA 2.1 und Hibernate
Effiziente datenpersistierung mit JPA 2.1 und HibernateThorben Janssen
 
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...AWS Germany
 
Nouvelle nature de l'innovation
Nouvelle nature de l'innovationNouvelle nature de l'innovation
Nouvelle nature de l'innovationCyril Durand
 
Cd a 3a apresentacao
Cd a 3a apresentacaoCd a 3a apresentacao
Cd a 3a apresentacaoJnausch
 
Expo metodologia
Expo metodologiaExpo metodologia
Expo metodologiaYOLANDA
 
Crucero Brisas Del Mediterraneo
Crucero Brisas Del MediterraneoCrucero Brisas Del Mediterraneo
Crucero Brisas Del Mediterraneoguest62ca15b
 
Para Que Apresies Lo Que Tienes
Para Que Apresies Lo Que TienesPara Que Apresies Lo Que Tienes
Para Que Apresies Lo Que Tienesyashira
 
La france amandine et lisa
La france amandine et lisaLa france amandine et lisa
La france amandine et lisalatincaumont
 
XING Produktoffensive im Herbst
XING Produktoffensive im HerbstXING Produktoffensive im Herbst
XING Produktoffensive im HerbstXING AG
 
Agenda de la UIMP, Viernes 7 de Agosto de 2009
Agenda de la UIMP, Viernes 7 de Agosto de 2009Agenda de la UIMP, Viernes 7 de Agosto de 2009
Agenda de la UIMP, Viernes 7 de Agosto de 2009guesteb997e
 
Tpe PréSentation Faq+DéF
Tpe PréSentation Faq+DéFTpe PréSentation Faq+DéF
Tpe PréSentation Faq+DéFCHRIS
 

Andere mochten auch (20)

Nested sets
Nested setsNested sets
Nested sets
 
Effiziente datenpersistierung mit JPA 2.1 und Hibernate
Effiziente datenpersistierung mit JPA 2.1 und HibernateEffiziente datenpersistierung mit JPA 2.1 und Hibernate
Effiziente datenpersistierung mit JPA 2.1 und Hibernate
 
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
 
album de fotografias
album de fotografiasalbum de fotografias
album de fotografias
 
Nouvelle nature de l'innovation
Nouvelle nature de l'innovationNouvelle nature de l'innovation
Nouvelle nature de l'innovation
 
Mercedes Sosa
Mercedes SosaMercedes Sosa
Mercedes Sosa
 
Cd a 3a apresentacao
Cd a 3a apresentacaoCd a 3a apresentacao
Cd a 3a apresentacao
 
Tunisia on Rails 2010
Tunisia on Rails 2010Tunisia on Rails 2010
Tunisia on Rails 2010
 
Expo metodologia
Expo metodologiaExpo metodologia
Expo metodologia
 
Aplicación de la semejanza
Aplicación de la semejanzaAplicación de la semejanza
Aplicación de la semejanza
 
Crucero Brisas Del Mediterraneo
Crucero Brisas Del MediterraneoCrucero Brisas Del Mediterraneo
Crucero Brisas Del Mediterraneo
 
Para Que Apresies Lo Que Tienes
Para Que Apresies Lo Que TienesPara Que Apresies Lo Que Tienes
Para Que Apresies Lo Que Tienes
 
Presentacion Web 2.0
Presentacion Web 2.0Presentacion Web 2.0
Presentacion Web 2.0
 
Mujeres Celtas
Mujeres CeltasMujeres Celtas
Mujeres Celtas
 
La france amandine et lisa
La france amandine et lisaLa france amandine et lisa
La france amandine et lisa
 
XING Produktoffensive im Herbst
XING Produktoffensive im HerbstXING Produktoffensive im Herbst
XING Produktoffensive im Herbst
 
Trabajo en equipo
Trabajo en equipoTrabajo en equipo
Trabajo en equipo
 
Agenda de la UIMP, Viernes 7 de Agosto de 2009
Agenda de la UIMP, Viernes 7 de Agosto de 2009Agenda de la UIMP, Viernes 7 de Agosto de 2009
Agenda de la UIMP, Viernes 7 de Agosto de 2009
 
Tpe PréSentation Faq+DéF
Tpe PréSentation Faq+DéFTpe PréSentation Faq+DéF
Tpe PréSentation Faq+DéF
 
Usabilidad Web
Usabilidad WebUsabilidad Web
Usabilidad Web
 

Ähnlich wie MySQL Hochverfügbarkeitslösungen

Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickBig Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickKarin Patenge
 
Sql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenSql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenCommunardo GmbH
 
Sql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSharepointUGDD
 
MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?FromDual GmbH
 
Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro sessionVirttoo org
 
Spezialitäten der Oracle Lizenzierung - DOAG Konferenz 2010 - OPITZ CONSULTI...
Spezialitäten der Oracle Lizenzierung -  DOAG Konferenz 2010 - OPITZ CONSULTI...Spezialitäten der Oracle Lizenzierung -  DOAG Konferenz 2010 - OPITZ CONSULTI...
Spezialitäten der Oracle Lizenzierung - DOAG Konferenz 2010 - OPITZ CONSULTI...OPITZ CONSULTING Deutschland
 
Überblick Oracle Datenbank Hochverfügbarkeit
Überblick Oracle Datenbank HochverfügbarkeitÜberblick Oracle Datenbank Hochverfügbarkeit
Überblick Oracle Datenbank HochverfügbarkeitIleana Somesan
 
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatengeKarin Patenge
 
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationSamuel Zürcher
 
SQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die Cloud
SQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die CloudSQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die Cloud
SQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die CloudAWS Germany
 
Infinispan / JBoss Data Grid - Schneller Zugriff auf große Datenmengen im Cl...
 Infinispan / JBoss Data Grid - Schneller Zugriff auf große Datenmengen im Cl... Infinispan / JBoss Data Grid - Schneller Zugriff auf große Datenmengen im Cl...
Infinispan / JBoss Data Grid - Schneller Zugriff auf große Datenmengen im Cl...gedoplan
 
Roadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesRoadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesDigicomp Academy AG
 
DB2 High Availability für IBM Connections, Sametime oder Traveler
DB2 High Availability für IBM Connections, Sametime oder TravelerDB2 High Availability für IBM Connections, Sametime oder Traveler
DB2 High Availability für IBM Connections, Sametime oder TravelerNico Meisenzahl
 
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...Loopback.ORG
 

Ähnlich wie MySQL Hochverfügbarkeitslösungen (17)

PostgreSQL News
PostgreSQL NewsPostgreSQL News
PostgreSQL News
 
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickBig Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
 
Sql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenSql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint Administratoren
 
Sql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point Admins
 
MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?
 
Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro session
 
Spezialitäten der Oracle Lizenzierung - DOAG Konferenz 2010 - OPITZ CONSULTI...
Spezialitäten der Oracle Lizenzierung -  DOAG Konferenz 2010 - OPITZ CONSULTI...Spezialitäten der Oracle Lizenzierung -  DOAG Konferenz 2010 - OPITZ CONSULTI...
Spezialitäten der Oracle Lizenzierung - DOAG Konferenz 2010 - OPITZ CONSULTI...
 
Überblick Oracle Datenbank Hochverfügbarkeit
Überblick Oracle Datenbank HochverfügbarkeitÜberblick Oracle Datenbank Hochverfügbarkeit
Überblick Oracle Datenbank Hochverfügbarkeit
 
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
 
Hazelcast
HazelcastHazelcast
Hazelcast
 
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL Installation
 
Transaktionssysteme
TransaktionssystemeTransaktionssysteme
Transaktionssysteme
 
SQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die Cloud
SQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die CloudSQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die Cloud
SQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die Cloud
 
Infinispan / JBoss Data Grid - Schneller Zugriff auf große Datenmengen im Cl...
 Infinispan / JBoss Data Grid - Schneller Zugriff auf große Datenmengen im Cl... Infinispan / JBoss Data Grid - Schneller Zugriff auf große Datenmengen im Cl...
Infinispan / JBoss Data Grid - Schneller Zugriff auf große Datenmengen im Cl...
 
Roadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesRoadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & Features
 
DB2 High Availability für IBM Connections, Sametime oder Traveler
DB2 High Availability für IBM Connections, Sametime oder TravelerDB2 High Availability für IBM Connections, Sametime oder Traveler
DB2 High Availability für IBM Connections, Sametime oder Traveler
 
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
 

Mehr von Lenz Grimmer

Ceph Management and Monitoring - DevConf.CZ - 2019-01-26
Ceph Management and Monitoring -  DevConf.CZ - 2019-01-26Ceph Management and Monitoring -  DevConf.CZ - 2019-01-26
Ceph Management and Monitoring - DevConf.CZ - 2019-01-26Lenz Grimmer
 
Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12
Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12
Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12Lenz Grimmer
 
Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23
Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23
Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23Lenz Grimmer
 
Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05
Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05
Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05Lenz Grimmer
 
Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23
Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23
Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23Lenz Grimmer
 
Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09
Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09
Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09Lenz Grimmer
 
Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07
Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07
Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07Lenz Grimmer
 
Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21
Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21
Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21Lenz Grimmer
 
Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07
Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07
Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07Lenz Grimmer
 
Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23
Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23
Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23Lenz Grimmer
 
Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23
Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23
Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23Lenz Grimmer
 
Storage Management mit openAttic - LinuxDay - 2015-11-21
Storage Management mit openAttic - LinuxDay - 2015-11-21Storage Management mit openAttic - LinuxDay - 2015-11-21
Storage Management mit openAttic - LinuxDay - 2015-11-21Lenz Grimmer
 
Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18
Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18
Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18Lenz Grimmer
 
The Evolution of Storage on Linux - FrOSCon - 2015-08-22
The Evolution of Storage on Linux - FrOSCon - 2015-08-22The Evolution of Storage on Linux - FrOSCon - 2015-08-22
The Evolution of Storage on Linux - FrOSCon - 2015-08-22Lenz Grimmer
 
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)Lenz Grimmer
 
What's new in MySQL 5.5? FOSDEM 2011
What's new in MySQL 5.5? FOSDEM 2011What's new in MySQL 5.5? FOSDEM 2011
What's new in MySQL 5.5? FOSDEM 2011Lenz Grimmer
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability SolutionsLenz Grimmer
 
How to build your own Quadrocopter
How to build your own QuadrocopterHow to build your own Quadrocopter
How to build your own QuadrocopterLenz Grimmer
 
What's new in MySQL 5.5?
What's new in MySQL 5.5?What's new in MySQL 5.5?
What's new in MySQL 5.5?Lenz Grimmer
 

Mehr von Lenz Grimmer (20)

Ceph Management and Monitoring - DevConf.CZ - 2019-01-26
Ceph Management and Monitoring -  DevConf.CZ - 2019-01-26Ceph Management and Monitoring -  DevConf.CZ - 2019-01-26
Ceph Management and Monitoring - DevConf.CZ - 2019-01-26
 
Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12
Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12
Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12
 
Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23
Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23
Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23
 
Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05
Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05
Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05
 
Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23
Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23
Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23
 
Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09
Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09
Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09
 
Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07
Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07
Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07
 
Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21
Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21
Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21
 
Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07
Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07
Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07
 
Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23
Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23
Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23
 
Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23
Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23
Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23
 
Storage Management mit openAttic - LinuxDay - 2015-11-21
Storage Management mit openAttic - LinuxDay - 2015-11-21Storage Management mit openAttic - LinuxDay - 2015-11-21
Storage Management mit openAttic - LinuxDay - 2015-11-21
 
Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18
Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18
Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18
 
The Evolution of Storage on Linux - FrOSCon - 2015-08-22
The Evolution of Storage on Linux - FrOSCon - 2015-08-22The Evolution of Storage on Linux - FrOSCon - 2015-08-22
The Evolution of Storage on Linux - FrOSCon - 2015-08-22
 
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
 
What's new in MySQL 5.5? FOSDEM 2011
What's new in MySQL 5.5? FOSDEM 2011What's new in MySQL 5.5? FOSDEM 2011
What's new in MySQL 5.5? FOSDEM 2011
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
How to build your own Quadrocopter
How to build your own QuadrocopterHow to build your own Quadrocopter
How to build your own Quadrocopter
 
What's new in MySQL 5.5?
What's new in MySQL 5.5?What's new in MySQL 5.5?
What's new in MySQL 5.5?
 
ZFS unter Linux
ZFS unter LinuxZFS unter Linux
ZFS unter Linux
 

MySQL Hochverfügbarkeitslösungen

  • 1. MySQL Hochverfügbarkeitslösungen Lenz Grimmer <lenz@grimmer.com> < http://lenzg.net/ | Twitter: @lenzgr 2009-12-11 | SLAC 2009 | Berlin | Germany
  • 2. Agenda ● Konzepte & Aspekte ● MySQL Replikation ● Disk replikation (DRBD) ● Shared Storage (SAN/NAS) ● Heartbeat/Linux-HA ● MySQL Cluster ● Weitere HV-Applikationen
  • 3. Single MySQL Server MySQL Client SQL (SELECT, INSERT, UPDATE, DELETE) MySQL Storage Engines (InnoDB, MyISAM, PBXT...) Disk Storage (XFS, ReiserFS, JFS, ext3...)
  • 4. Warum Hochverfügbarkeit? ● Irgendetwas kann und wird ausfallen ● Notwendigkeit von Wartungsarbeiten ● Ausfallzeiten sind teuer ● Website-Besucher kommen nicht wieder ● Sie verlieren €€€ ● Ihr Chef beschwert sich ● HV zu einem bereits vorhandenen System hinzuzufügen ist schwierig
  • 5. Eliminierung des SPOF ● Was ausfallen wird ● Festplatten ● Lüfter ● Was ausfallen kann ● Absturz der Applikation ● OOM-Situationen, Kernel-Panics ● Netzwerkverbindungen/-kabel ● Stromversorgung
  • 6. Was ist HV-Clustering? ● Redundanz ● Ein Dienst fällt aus → ein anderer übernimmt ● Übernahme der IP Addresse und des Dienstes ● Failover vs. Failback vs. Switchover ● Nicht geeignet für mehr Leistung ● Nicht geeignet für mehr Durchsatz (Lastverteilung)
  • 8. Regeln zur Hochverfügbarkeit ● Auf Ausfälle vorbereitet sein ● Sicherstellen daß keine wichtigen Daten verloren gehen ● Keep it simple, stupid (KISS) ● Komplexität ist der Feind der Zuverlässigkeit ● Automatisieren was sinnvoll ist ● Häufig Tests durchführen!
  • 9. HA Komponenten ● Heartbeat ● Überwachung der hochverfügbar zu machenden Dienste ● Kann einzelne Server, Dienste, Netzwerkverbundungen etc. prüfen ● HA Monitor ● Konfiguration der Dienste/Applikationen ● Regelt ordnungsgemäßen Start und Beenden ● Erlaubt manuelle Übernahme ● Replikation oder Shared storage (SAN)
  • 10. Split-Brain ● Ausfall der Kommunikation → separate Cluster-Partitionen ● “Split-brain” Situation: mehr als eine Partition will die Kontrolle über ihren Teil des Clusters übernehmen ● http://linux-ha.org/BadThingsWillHappen ● Vermeidung mittels “Fencing“ oder Moderation/Arbitrierung
  • 11. Redundancy with MySQL Replication MySQL Replication
  • 12. MySQL Replikation ● Unidirektional ● Anweisungs- oder zeilenbasiert (MySQL 5.1) ● Bestandteil des MySQL-Servers ● Einfach zu bedienen und einzurichten ● Ein Master, viele Slaves ● Asynchron – Slaves können nachlaufen
  • 13. MySQL Replikation (2) ● Master verwaltet Binärlogs & index ● Replikation auf Slave ist (noch) single- threaded http://forge.mysql.com/wiki/ReplicationFeatures/ParallelSlave ● Kein automatisiertes Fail-over ● Kein Heartbeat, kein Monitoring
  • 14. MySQL Replikation - Überblick Read & Write Web/App Server Write Relay Log mysqld I/O SQL Thread Threa d Index & Binlogs Data Replication Binlog Data mysqld MySQL Master MySQL Slave
  • 15. Anweisungsbasierte Replikation ● Pro ● Bewährt (seit MySQL 3.23 verfügbar) ● Kleinere Logdateien ● Auditing der tatsächlichen SQL-Anweisungen ● Kein Primärschlüssel bei replizierten Tabellen erforderlich ● Kontra ● Nicht-deterministische Funktionen und UDFs ● LOAD_FILE(), UUID(), USER(), FOUND_ROWS() (RAND() and NOW() gehen)
  • 16. Zeilenbasierte Replikation ● Pro ● Alle Veränderungen können repliziert werden ● Verfahren ähnlich zu anderen DBMSen ● Erfordert weniger Locks für bestimmte INSERT, UPDATE oder DELETE Anweisungen ● Kontra ● Mehr Daten müssen gelogged werden ● Logfile-Größe (Auswirkungen auf Backup/Restore) ● Replizierte Tabellen benötigen expliziten Primärschlüssel ● Mögliche Ergebnis-Differenzen bei Bulk-INSERTs
  • 17. Replikationstopologien Master > Slave Master > Slaves Master > Slave > Slaves Masters > Slave (Multi-Source) Ring (Multi-Master) Master < > Master (Multi-Master)
  • 18. Master-Master-Replikation ● Zwei Server sind sowohl Master als auch Slave zueinander ● Vereinfacht Failover ● Nicht geeignet um Schreiblast zu verteilen ● Änderungen erfolgen auf beiden Systemen ● Keines von beiden hat volle Autorität ● Nicht auf beide Master schreiben! ● Sharding oder Partitionierung (z.B. MySQL Proxy) eignen sich besser
  • 19. MySQL Replikation als eine HV-Lösung ● Was passiert wenn der Master ausfällt? ● Was passiert wenn der Slave ausfällt? ● Ist das Hochverfügbarkeit?
  • 20. Replikation & Hochverfügbarkeit ● Kombiniert mit Heartbeat ● Übernahme der virtuellen IP-Adresse ● Slave wird zum Master befördert ● Nebeneffekt: Lastverteilung & Backup ● Failback kompliziert ● Keine automatische Konfliktauflösung ● Korrektes Failover muß gescriptet werden
  • 21. Redundancy with Disk Replication Disk Replication
  • 22. DRBD ● Distributed Replicated Block Device ● “RAID-1 über das Netzwerk” ● Synchrone/asynchrone Block-Replizierung ● Automatische Resynchronisierung ● Applications-agnostisch ● Kann lokale I/O-Fehler maskieren ● Aktiv/passiv-Konfiguration vorgegeben ● Dual-primary Modus (benötigt ein Cluster Dateisystem wie GFS or OCFS2) ● http://drbd.org/
  • 23. DRBD im Detail ● DRBD repliziert Datenblöcke zwischen zwei Plattenpartitionen ● DRBD kann mit Linux-HA und anderen HV- Lösungen gekoppelt werden MySQL läuft normal auf Applications ● dem Primärknoten ● MySQL ist nicht aktiv auf Active Node Virtual IP Passive Node dem Sekundärknoten ● DRBD ist nur für Linux DRBD verfügbar
  • 25. Replikation vs. SAN ● Konsistenz der replizierten Daten ● Synchrone vs. asynchrone Replikation ● Geteiltes Speichermedium kann zum SPOF werden ● “Split brain”-Situationen können zu Problemen führen (z.B. Gleichzeitiges Einhängen eines Dateisystems) ● SAN/NAS I/O Overhead
  • 26. Linux-HA / Heartbeat ● Unterstützt 2 oder mehr Knoten (v2) ● Wenig Abhängigkeiten/ Anforderungen ● Überwachung von Resourcen ● Aktiver Fencing-Mechanismus: STONITH ● Erkennung eines Knotenausfalls in Sekundenbruchteilen ● http://linux-ha.org/
  • 27. Heartbeat (2) ● Richtlinien-basierte Resourcenverwaltung, Abhängigkeiten & Einschränkungen ● Zeitbasierte Regeln ● Unterstützt sehr viele Applikationen (incl. MySQL) ● Grafische Oberfläche
  • 28. Applications Master Virtual IP HA Slave Scale-out Slave Replication Replication
  • 30. MySQL Cluster ● “Shared-nothing”-Architektur ● Automatische Partitionierung ● Verteilte Fragmente ● Synchrone Replikation ● Schnelles, automatisches Fail-Over der Datenknoten ● Automatische Resynchronisierung ● Transparent für MySQL-Applikationen ● Unterstützt Transaktionen ● http://mysql.com/products/database/cluster/
  • 31. MySQL Cluster ● In-memory indexes ● Nicht für alle Abfrage-Muster geeignet (JOINs über viele Tabellen, Range Scans) ● Keine Unterstützung für Fremdschlüssel ● Ungeeignet für lang laufende Transaktionen ● Netzwerk-Latenz wichtig ● Kann mit MySQL Replikation (RBR) kombiniert werden
  • 32.
  • 33. MySQL Cluster & Replication ● MySQL Cluster ● Easy failover from one master to another ● Scaling writes to multiple masters ● Asynchronous replication from Cluster to multiple slaves ● Reads are distributed to slave servers (running InnoDB/MyISAM) ● Quick setup of new slaves (using Cluster Online Backup) ● Easy failover and quick recovery
  • 35. MMM ● MySQL Master-Master Replication Manager ● Perl-Scripte zur Überwachung/Failover und Management ● Master-Master Replikationskonfiguration (ein aktiver beschreibbarer Master) ● Failover mittels Übernahme einer virtuellen IP-Adresse ● http://mysql-mmm.org/
  • 36. Galera Replication ● Patch für InnoDB plus externe Bibliothek ● Asynchrone und synchrone Replikation ● Single- oder Multi-Master ● Multicast-Replikation ● HA plus Lastverteilung möglich ● Zertifikat-basierte Replikationsmethode (anstatt 2PC) ● http://www.codership.com/en/products/galera_replication
  • 37. Red Hat Cluster Suite ● HV und Lastverteilung ● Unterstützt bis zu 128 Knoten ● Unterstützt Shared Storage ● Überwacht Dienste, Dateisysteme und Netzwerk-Status ● Fencing (STONITH) oder distributed lock manager ● Synchronisierung der Konfiguration ● http://www.redhat.com/cluster_suite/
  • 38. Solaris Cluster / OpenHA Cluster ● Provides failover and scalability services ● Solaris / OpenSolaris (Project Colorado) ● Kernel-level components plus userland ● Agents monitor applications ● Geo Edition to provide Disaster Recovery using Replication ● Open Source since June 2007 ● http://www.opensolaris.org/os/community/ha-clusters/ ● http://opensolaris.org/os/project/ha-mysql/
  • 39. Flipper ● Perl Script zur Steuerung eines sich replizierenden Paars von MySQL-Servern (Master-Master) ● Automatisierter Switch-Over, manuell ausgelöst ● Kontrolliertes Herunterfahren einer Hälfte zu Wartungszwecken ● Die andere Hälfte übernimmt die Arbeit ● Verteilung von rollenbasierten IP Addressen ("nur- lesen", "beschreibbar") zwischen zwei Knoten im Master-Paar stellt sicher, daß beide Rollen verfügbar sind ● http://provenscaling.com/software/flipper/
  • 40. Weitere Werkzeuge/Links ● Maatkit http://maatkit.sourceforge.net/ ● Continuent Tungsten Replicator https://community.continuent.com/community/tungsten-replicator
  • 42. Vielen Dank! Lenz Grimmer <lenz@grimmer.com> Twitter: @lenzgr http://lenzg.net/