Skip to Content

Was ist MySQL High Availability?

MySQL High Availability ist eine Option, die Sie wählen können, damit Ihre MySQL-Datenbank auch bei einem Ausfall oder einer Unterbrechung verfügbar bleibt. Mit dieser Funktion können Sie höhere Anforderungen in Bezug auf unterbrechungsfreien Betrieb und eine Nulltoleranz für Datenverlust festlegen. In diesem Artikel werden die Bedeutung des allgemeinen Konzepts der Hochverfügbarkeit und die Funktionsweise der MySQL-Option „High Availability“ beschrieben. 

Was ist Hochverfügbarkeit?

Hochverfügbarkeit ist die Fähigkeit eines Systems oder Services, auch bei einem Fehler oder Ausfall funktionsfähig und verfügbar zu bleiben. Mit einem hochverfügbaren System wird sichergestellt, dass die betriebsnotwendigen Systeme und Anwendungen eines Unternehmens immer betriebsbereit sind. Dies ist insbesondere für Unternehmen und Organisationen in Bereichen wie dem Gesundheitswesen, dem Finanzwesen und der Luftfahrt wichtig, in denen der Ausfall eines betriebsnotwendigen Systems schwerwiegende Folgen haben könnte.

Die Hochverfügbarkeit wird in der Regel als Prozentsatz des unterbrechungsfreien Betriebs angegeben, der im Rahmen von Service Level Agreements (SLAs) definiert wird, wobei ein Wert von 100 für ein System steht, das nie ausfällt. Da dies praktisch nicht erreichbar ist, streben die meisten Unternehmen eine Verfügbarkeit von 99,999 % (fünf Neunen) an.

So erzielt MySQL Hochverfügbarkeit

Ein hochverfügbares System muss bei einem Fehler sofort wiederhergestellt werden können. Eine Hochverfügbarkeitsarchitektur besteht aus mindestens drei grundlegenden Elementen, die zusammen für Wiederherstellbarkeit und Hochverfügbarkeit sorgen.

Fehlererkennung

MySQL bietet eine Option für Hochverfügbarkeit (High Availability), mit der Anwendungen die Anforderungen an einen längeren unterbrechungsfreien Betrieb (und Nulltoleranz für Datenverlust) erfüllen können. Wenn die Option „High Availability“ aktiviert ist, erstellt das MySQL-System drei Instanzen in drei verschiedenen Fehlerdomänen oder Verfügbarkeitszonen.

Die Daten werden in den drei Instanzen mithilfe von MySQL Group Replication repliziert, und die Anwendung stellt zum Lesen und Schreiben von Daten in der Datenbank eine Verbindung mit der primären Instanz her. Bei einem Ausfall löst das System innerhalb weniger Minuten ein automatisches Failover auf eine sekundäre Instanz aus.

Failover

Der Failover-Mechanismus überträgt Services an eine replizierte Instanz. Wenn mehrere Backup-Instanzen verfügbar sind, wählt der Failover-Mechanismus die am besten geeignete zum Hochstufen auf den primären Knoten aus. 

Ein Weiterleitungsmechanismus

Bei einem Failover auf eine sekundäre Instanz leitet die Funktion „High Availability“ alle Anwendungs- und Benutzerverbindungen auf den neuen primären Knoten um. Zudem leitet sie alle Abfragen vom alten primären Knoten an die neue primäre Datenbank um. 

MySQL High Availability: Unterbrechungsfreier Betrieb

Als unterbrechungsfreie Betriebszeit gilt die Zeit, die ein System verfügbar ist und ordnungsgemäß funktioniert. Sie wird als Prozentsatz der Gesamtzeit angegeben, in der das System erwartungsgemäß betriebsbereit ist. Ein hoher Wert für die unterbrechungsfreie Betriebszeit bedeutet, dass das System überwiegend wie erwartet verfügbar ist und ordnungsgemäß funktioniert. 

Welche Betriebszeit bei unterschiedlichen Stufen von MySQL High Availability erwartet werden kann, hängt von der jeweils implementierten Hochverfügbarkeitslösung ab.

MySQL Replication

Mit MySQL Replication können Sie mehrere Server einrichten, um Redundanz und Failover sicherzustellen, sodass im Vergleich zu einem MySQL-Server ohne Hochverfügbarkeitsfunktion ein längerer unterbrechungsfreier Betrieb möglich ist. Bei einer Master-Slave-Konfiguration wird ein Master-Server für Lese- und Schreibvorgänge und mindestens ein Slave-Server nur für Lesevorgänge verwendet. Daten vom Master-Server werden asynchron auf die Slave-Server repliziert.

Zur Implementierung der Failover-Funktion muss mindestens ein Slave-Server als Standby-Server, der bei einem Ausfall auf einen Master-Server hochgestuft werden kann, eingerichtet werden. Failover ist im Allgemeinen ein manueller Prozess, bei dem der Slave-Knoten auf den Master-Knoten hochgestuft wird, indem der Status des hochgestuften Slave-Knotens zur Unterstützung von Abfragen in Lese-Schreib-Modus geändert wird.

Da das Failover manuell durchgeführt wird, dauert es länger und ist anfällig für Fehler, die zu längeren Ausfällen führen können. Zudem verwendet MySQL Replication die asynchrone Replikation. Das bedeutet, dass bei einem Ausfall des Master-Servers auf dem Master-Server festgeschriebene Transaktionen möglicherweise noch nicht auf die Slave-Server repliziert wurden. Dann müssen bei einem kritischen Datenverlust Daten wiederhergestellt werden, wodurch sich die Ausfallzeit des Systems verlängert.

MySQL Group Replication

Mit MySQL Group Replication lassen sich längere unterbrechungsfreie Betriebszeiten als mit MySQL Replication erreichen. Mithilfe von MySQL Group Replication werden mehrere MySQL-Server in einer Gruppe eingerichtet, wobei ein Server als primärer Server und die anderen Server als sekundäre Server bestimmt werden. Jeder Server in der Gruppe verfügt über eine Kopie der Daten und sorgt mittels Replikation dafür, dass die Kopien stets synchron sind. 

Wenn der primäre Server ausfällt, erkennen die sekundären Server in der Gruppe den Ausfall automatisch und starten den Failover-Prozess. Einer der sekundären Server wird automatisch zum neuen primären Server hochgestuft und beginnt mit der Bearbeitung von Client-Anforderungen. Die anderen sekundären Mitglieder in der Gruppe erhalten nun Aktualisierungen vom neuen primären Server und setzen die Bearbeitung von Client-Leseanforderungen fort.

Sobald der ausgefallene Server wieder online ist, wird er automatisch als sekundärer Server wieder in die Gruppe aufgenommen.

Da die Ausfallerkennung und das Failover bei MySQL Group Replication automatisch erfolgen, ist die Ausfallzeit minimal und die Benutzer und Anwendungen bemerken den Ausfall in der Regel nicht. 

MySQL Cluster

Eine MySQL Cluster-Hochverfügbarkeitslösung bietet die höchste Stufe des unterbrechungsfreien Betriebs. Dieses hochverfügbare, verteilte Datenbanksystem bietet zusammen mit dem automatischen Failover und Lastausgleich ein hohes Maß an Verfügbarkeit, Performance und Skalierbarkeit, sodass es nahezu keine Ausfallzeiten gibt. 

Bei MySQL Cluster werden zum Speichern und Verwalten von Daten drei Arten von Knoten verwendet:

  • Datenknoten: Speichern Daten und verarbeiten Lese- und Schreibanforderungen.
  • MySQL-Serverknoten: Erhalten Abfragen von Client-Anwendungen, verarbeiten diese auf den Datenknoten und geben das Ergebnis an die Clients zurück.
  • Managementknoten: Verwalten den Betrieb des Clusters und führen bei einem Ausfall ein Failover und die Wiederherstellung durch.

Wenn mindestens ein Knoten im Cluster ausfällt, wird das Problem im Cluster automatisch erkannt und ein Failover-Prozess ausgelöst. Der gesamte Prozess erfolgt in der Regel innerhalb einer Sekunde nach einem Ausfall ohne Unterbrechung des Service für Client-Anwendungen. Der Cluster funktioniert weiter wie gewohnt und praktisch ohne Ausfallzeiten.

FlashArray testen

Erleben Sie, wie Pure Storage Block- und Dateisysteme in einer Self-Service-Umgebung drastisch vereinfacht.

Jetzt testen

MySQL High Availability: Wiederherstellungszeit 

Die Wiederherstellungszeit ist die Zeit, die ein System nach einem Ausfall für die Wiederherstellung benötigt. Eine längere Wiederherstellungszeit führt zu einer geringeren Verfügbarkeit und kann sich direkt auf die Umsatzgenerierung, Mitarbeiterproduktivität und Kundenzufriedenheit eines Unternehmens auswirken.

Dabei hängen die Wiederherstellungszeiten in MySQL vom verwendeten Replikationstyp ab:

  • Die Wiederherstellungszeiten bei einer Master-Slave-Replikation in MySQL Replication werden durch den manuellen Failover-Prozess bestimmt. Nach dem Hochstufen des Slave-Servers auf den neuen primären Knoten muss dieser neu gestartet werden, sodass die Daten auf die verbleibenden Slave-Server repliziert werden können. Anschließend müssen fehlende Transaktionen nachgeholt und etwaige Konflikte beseitigt werden.
  • Group Replication verwendet einen automatischen Ausfallerkennungs- und Failover-Prozess. Dadurch verkürzen sich die Wiederherstellungszeiten im Vergleich zur Master-Slave-Replikation. Durch Mechanismen zum Erkennen und Beseitigen von Konflikten wird sichergestellt, dass die Daten auf den einzelnen Servern mit allen Servern in der Gruppe stets synchron sind. Group Replication verwendet zudem konfliktfrei replizierte Datentypen, sodass Daten bei einem Konflikt automatisch abgeglichen werden. Mit Group Replication kann das System nach einem Ausfall mit minimaler Ausfallzeit wiederhergestellt werden.
  • Bei MySQL Cluster wird ein „Shared-Nothing“-Ansatz verfolgt. Das bedeutet, dass jedem Knoten im Cluster eigene Speicher- und Disk-Storage-Ressourcen zugewiesen werden und dass jeder Knoten über eine Hochgeschwindigkeitsverbindung mit anderen Knoten kommuniziert. MySQL Cluster bleibt auch bei Ausfall eines Knotens funktionsfähig. Im Cluster wird das Problem automatisch erkannt und ein Failover-Prozess ausgelöst, sodass die Wiederherstellung praktisch ohne Ausfallzeiten erfolgt.

So ermitteln Sie Ihre Anforderungen an die Hochverfügbarkeit von MySQL

Bei der Ermittlung Ihrer Anforderungen an MySQL High Availability müssen Sie unter anderem folgende Faktoren berücksichtigen:

  • Die aktuelle Systemarchitektur: Welche Komponenten enthält Ihr aktuelles System und wie sind diese konfiguriert? Bieten diese Unterstützung für MySQL High Availability?
  • Budget: Welchen Betrag müssen Sie in Ressourcen wie Hardware, Software und Personal investieren? Berücksichtigen Sie zudem auch die Kosten für Schulung und laufende Wartung.
  • Geschäftsanforderungen: Berücksichtigen Sie Ihre Wiederherstellungszeiten (RTO) und Wiederherstellungspunkte (RPO). Welche Wiederherstellungszeit ist für Sie ideal? Wie schnell muss die Wiederherstellung nach einem Ausfall erfolgen? Überlegen Sie, ob Ihr Unternehmen bestimmten gesetzlichen Vorschriften oder Compliance-Anforderungen unterliegt, die Hochverfügbarkeit erfordern.
  • Die Wichtigkeit der Daten: Wie kritisch sind Ihre Unternehmensdaten? Wie wichtig ist es, dass sie aktuell sind? Wie viel Datenverlust können Sie sich leisten?

Verwendung von MySQL High Availability

Im Folgenden werden einige Anwendungsfälle beschrieben, in denen MySQL High Availability-Lösungen erforderlich sind:

Stark frequentierte Websites

Bei stark frequentierten Websites werden Tausende Abfragen und Transaktionen pro Sekunde verarbeitet und dabei gleichzeitig Tausende Benutzer bedient. Mit Maßnahmen zur Hochverfügbarkeit wie Serverredundanz und Lastausgleich kann sichergestellt werden, dass die Datenbank verfügbar bleibt und die Last bewältigen kann. 

Mit redundanten Servern wird sichergestellt, dass die Website auch bei einem Serverausfall verfügbar bleibt. Durch den Lastausgleich eingehender Anforderungen auf mehrere Server wird verhindert, dass ein Server überlastet wird und offline geht.

Betriebsnotwendige Anwendungen und Workloads

Unternehmen mit betriebsnotwendigen Systemen und Anwendungen sind auf ein hohes Maß an Verfügbarkeit und unterbrechungsfreier Betriebszeit angewiesen. Meist sind bei diesen Systemen keine Ausfallzeiten tolerierbar und die Datenbank muss stets verfügbar sein. 

MySQL-Hochverfügbarkeitslösungen wie Group Replication oder Cluster sind in diesen Anwendungsfällen ideal, da es hier dank einem automatischen Failover-Mechanismus nur zu geringen oder gar keinen Ausfallzeiten kommt.

So unterstützt Pure Storage MySQL High Availability

Pure Storage® Evergreen™ ist ein Abonnementpaket, das Implementierungen ohne Ausfallzeiten ermöglicht. In Kombination mit der unverwechselbaren Storage-Array-Architektur von Pure Storage ermöglicht Evergreen ein Upgrade der Storage-Infrastruktur ohne Unterbrechung der Service-Workloads. 

Zum Sicherstellen von RPO- und RTO-Werten von null unterstützt Pure dank Purity ActiveCluster™, einem Aktiv-Aktiv-Stretched-Cluster für mehrere Standorte, zudem auch Aktiv-Aktiv-Clustering und automatisches, transparentes Failover.

Überlegen Sie sich auch, ob die Verwendung von Pure Cloud Block Store™ sinnvoll ist, da diese Lösung für betriebsnotwendige Anwendungen Cloud-Zuverlässigkeit auf Enterprise-Ebene bietet. Unterbrechungsfreie Upgrades und Hochverfügbarkeit in allen Verfügbarkeitszonen sorgen für Hochverfügbarkeit bei Geschäftskontinuität und Disaster Recovery in mehreren Clouds.

KONTAKTIEREN SIE UNS
Fragen, Kommentare?

Haben Sie eine Frage oder einen Kommentar zu Produkten oder Zertifizierungen von Pure?  Wir helfen Ihnen gerne!

Termin für Demo vereinbaren

Vereinbaren Sie einen Termin für eine Live-Demo und sehen Sie selbst, wie Pure Ihnen helfen kann, Ihre Daten in überzeugende Ergebnisse zu verwandeln. 

Rufen Sie uns an: +49 89 26200662
Presse:
 pr@purestorage.com

 

Pure Storage Germany GmbH

Mies-van-der-Rohe-Straße 6

80807 München

Deutschland

info@purestorage.com

SCHLIESSEN
Ihr Browser wird nicht mehr unterstützt!

Ältere Browser stellen häufig ein Sicherheitsrisiko dar. Um die bestmögliche Erfahrung bei der Nutzung unserer Website zu ermöglichen, führen Sie bitte ein Update auf einen dieser aktuellen Browser durch.