MySQL Hochverfügbarkeit mit SafeKit: Installieren Sie das Modul mysql.safe für Failover
Schnellinstallationsanleitung für Hochverfügbarkeit für MySQL
Diese Anleitung erklärt, wie Sie mit SafeKit einen Mirror-Cluster für MySQL einrichten, der ein automatisches Failover und eine synchrone Replikation ohne die Notwendigkeit eines gemeinsam genutzten Speichers gewährleistet.
Für Hilfe können Sie SafeKit AI 🤖 nutzen.
1. Überblick
- Architektur: Verwendet ein Zwei-Knoten-System (primär/sekundär).
- Datenschutz: Implementiert synchrone Replikation in Echtzeit für null Datenverlust (RPO = 0).
2. Installation
- Software: Installieren Sie die SafeKit-Engine auf beiden Servern.
- Modul: Laden Sie das vorkonfigurierte
mysql.safeAnwendungsmodul herunter.
3. Konfiguration
- Webkonsole: Konfigurieren Sie die spezifischen Ordner, die die MySQL Dateien enthalten.
- Überwachung: Starten Sie die Überwachung und den Schutz der MySQL Anwendung.
Einschränkungen SafeKit Hochverfügbarkeit
| Grenzwert / Anforderung | Grund und Auswirkung | Empfohlene Alternative |
|---|---|---|
| Replikationsgröße: Einige TB | Resynchronisierungszeit nach einem Fehler (Schritt 3): • 1-Gbit/s-Netzwerk ≈ 3 Stunden/TB • 10-Gbit/s-Netzwerk ≈ 1 Stunde/TB (abhängig von der Schreibgeschwindigkeit der Festplatte) | • Verwenden Sie externen gemeinsam genutzten Speicher (teurer, komplexer). |
| Anzahl der Dateien: < 1.000.000 Dateien | • Leistung der Resynchronisierungszeit nach einem Fehler (Schritt 3). • Zeit, die zum Vergleichen jeder Datei zwischen beiden Knoten benötigt wird. | • Legen Sie die vielen zu replizierenden Dateien auf eine virtuelle Festplatte/in eine virtuelle Maschine. • In diesem Fall werden nur die Dateien repliziert und erneut synchronisiert, die die virtuelle Festplatte/virtuelle Maschine darstellen. |
| Failover-Kapazität: ≤ 32 VMs | • Jede VM läuft in einem unabhängigen mirror-Modul. • Maximal 32 mirror-Module die auf demselben Cluster laufen. | • Verwenden Sie einen externen gemeinsam genutzten Speicher und eine andere VM-Clustering-Lösung (teurer, komplexer). |
| Netzwerkarchitektur: LAN/VLAN-Netzwerk zwischen entfernten Standorten | • Automatisches Failover der virtuellen IP-Adresse mit 2 Knoten im selben Subnetz. • Gute Bandbreite für die Resynchronisierung (Schritt 3). • Geringe Latenz für die synchrone Replikation: typischerweise < 5 ms RTT; höhere Werte sollten mit der Schreibgeschwindigkeit der Anwendung abgeglichen werden. | • Wenn sich die beiden Knoten in unterschiedlichen Subnetzen befinden (in der Cloud üblich), verwenden Sie andere Umleitungsoptionen: einen Load Balancer, Cloud-Provider-CLIs, BGP oder DNS-Umleitung. • Verwenden Sie Backup-Lösungen mit asynchroner Replikation für Netzwerke mit hoher Latenz. |
Übersicht über die SafeKit/MySQL-Lösung
Die Lösung wird hier beschrieben: 💡 Die einfachste Hochverfügbarkeit MySQL: synchrone Replikation und Failover mit 2 Knoten.
Installation der SafeKit/MySQL-Lösung unter Windows und Linux (mysql.safe)
Voraussetzungen
- Sie benötigen MySQL das auf zwei Knoten (virtuelle Maschinen oder physische Server) installiert ist.
Paketinstallation unter Windows
- Laden Sie die kostenlose Version von SafeKit herunter und installieren Sie sie auf zwei Windows-Knoten.
Hinweis: Die kostenlose Version enthält alle SafeKit Funktionen. Am Ende der Testphase können Sie permanente Lizenzschlüssel aktivieren, ohne das Paket zu deinstallieren. - Wählen Sie nach Abschluss der Paketinstallation die Option „Konsolenanmeldeinformationen und Firewall-Regeln jetzt festlegen“ und konfigurieren Sie ein Passwort für den admin der SafeKit-Konsole.
Legen Sie auf allen Knoten dasselbe Passwort fest. - Schließen Sie C:/safekit/ (das Standardinstallationsverzeichnis) und alle replizierten Ordner, die Sie definieren werden, von Antivirenscans aus.
Antivirenprogramme können aufgrund der engen Integration von SafeKit mit dem Betriebssystem, virtuellen IP-Mechanismen, Echtzeit-Replikation und dem Neustart kritischer Dienste Schwierigkeiten bei der Erkennung haben.
SafeKit (Windows) herunterladen >
Modulinstallation unter Windows
- Laden Sie das Modul mysql.safe herunter. Das Modul ist kostenlos. Es enthält die Dateien userconfig.xml und die Neustartskripte.
- Legen Sie mysql.safe unter C:/safekit/Application_Modules/generic ab.
mysql.safe herunterladen (Windows) >
Paketinstallation unter Linux
- Installieren Sie die kostenlose Version von SafeKit auf 2 Linux-Knoten. Hinweis: Die kostenlose Testversion beinhaltet alle SafeKit Funktionen. Am Ende der Testphase können Sie permanente Lizenzschlüssel aktivieren, ohne das Paket zu deinstallieren.
- Nach dem Download des Pakets safekit_xx.bin führen Sie es aus, um das rpm und das Skript safekitinstall zu extrahieren, und führen Sie dann das Skript safekitinstall aus
- Antworten Sie mit „Ja“ auf die automatische Firewall-Konfiguration
- Legen Sie das Passwort für die Webkonsole und den Standardbenutzer admin fest. Legen Sie auf allen Knoten dasselbe Passwort fest.
SafeKit (Linux) herunterladen >
Modulinstallation unter Linux
- Laden Sie das Modul mysql.safe herunter.
Das Modul ist kostenlos. Es enthält die Dateien userconfig.xml und die Neustartskripte. - Legen Sie mysql.safe unter /opt/safekit/Application_Modules/generic/ ab.
mysql.safe (Linux) herunterladen >
Schritt-für-Schritt-Konfiguration der SafeKit/MySQL-Server-Lösung
Voraussetzungen
- MySQL Anwendung ist auf 2 Knoten installiert.
- Die Gesamtmenge der replizierten Daten ist auf wenige Terabyte begrenzt – darüber hinaus wird die Resynchronisierungszeit erheblich.
- Mindestens 1 Gbit/s Interkonnekt zwischen den Knoten (10 Gbit/s für eine schnellere Resynchronisierung empfohlen).
- Für das IP-Failover müssen sich beide Knoten im selben LAN oder erweiterten LAN (L2) befinden – geroutete L3-Netzwerke werden nicht unterstützt (außer mit 🛠️ Cloud Load Balancer).
1. Starten Sie die SafeKit Konsole
- Starten Sie die Webkonsole in einem Browser auf einem Clusterknoten, indem Sie eine Verbindung zu
http://localhost:9010herstellen. - Geben Sie als Benutzernamen
adminund das während der Installation festgelegte Passwort ein.
Sie können die Konsole auch in einem Browser auf einer Workstation außerhalb des Clusters ausführen.
⚠️ Die Konfiguration von SafeKit erfolgt auf beiden Knoten über einen einzigen Browser.
ℹ️ Um die Webkonsole zu sichern, siehe 🛠️ 11. Sichern des SafeKit Webdienstes im Benutzerhandbuch.

2. Knotenadressen konfigurieren
- Geben Sie die IP-Adressen der Knoten ein, drücken Sie die
Tab key, um die Konnektivität zu überprüfen und die Knotennamen auszufüllen. Wenn entweder node1 oder node2 rot angezeigt wird, überprüfen Sie die Konnektivität des Browsers zu beiden Knoten und überprüfen Sie die Firewall auf beiden Knoten zur 🛠️ Fehlerbehebung. - Klicken Sie anschließend auf
Save and applyum die Konfiguration zu speichern. - Überprüfen Sie die
Success✅ auf beiden Knoten. - Wenn der
Failure❌ auf einem Knoten auftritt, öffnen Sie das ▼ Akkordeon für diesen Knoten und überprüfen Sie die Nachrichten. Beachten Sie, dass Sie die SafeKit AI 🤖 zur Unterstützung verwenden können.
ℹ️ Wenn Sie möchten, können Sie ein neues LAN and nodes (erstes ➕) hinzufügen, um einen zweiten Heartbeat und ein dediziertes Replikationsnetzwerk zu erstellen.
ℹ️ Wenn Sie auf Advanced configuration klicken, wird die Datei cluster.xml angezeigt. Diese Datei wird automatisch von der Konsole ausgefüllt und auf den Knoten bereitgestellt.

3. Modul auswählen
- Klicken Sie im
New moduleauf das Modulmysql.safe.
ℹ️ Im blauen Banner oben stellt 🛜 node1 den Konsolenverbindungsknoten dar. Dieser Knoten leitet bei Bedarf Anfragen an node2 weiter.
ℹ️ Die Konsole sucht nach xxx.safe im Verzeichnis Application_Modules/generic/ auf dem Verbindungsknoten (node1), wenn Sie dort während der Installation ein Modul platziert haben.

4. Modul konfigurieren
- Wählen Sie unter
Module startup at booteinen automatischen Start des Moduls beim Booten ohne Verzögerung. - Geben Sie unter
Macros/SERVICESdie Dienstnamen Ihrer Anwendung in der Startreihenfolge durch Kommas getrennt ein. Siehe diesen Screenshot für ein visuelles Beispiel der Milestone XProtect-Dienste 🖼️. - In
Heartbeat networkssollten Sie ein einzelnes Heartbeat-Netzwerk haben, auf dem die Replikation durchgeführt wird. Wenn Sie in Schritt 2 ein privates LAN hinzugefügt haben, können Sie zwei Heartbeats mit dem Replikationsfluss im privaten LAN konfigurieren. - Geben Sie unter
Virtual IP addresseseine virtuelle IP-Adresse ein. Eine virtuelle IP-Adresse ist eine Standard-IP-Adresse im selben IP-Netzwerk (dasselbe Subnetz) wie die IP-Adressen beider Knoten.
Anwendungsklienten müssen mit der virtuellen IP-Adresse (oder dem mit der virtuellen IP-Adresse verknüpften DNS-Namen) konfiguriert werden.
Die virtuelle IP-Adresse wird im Fehlerfall automatisch umgeschaltet. - Legen Sie unter
Replicated directoriesdie Pfade der zu replizierenden Verzeichnisse fest. Stellen Sie sicher, dass sie auf beiden Knoten vorhanden sind und die Anwendungsdaten enthalten.
Daten- und Protokollreplikation sind für eine Datenbank unerlässlich.
Sie können bei Bedarf zusätzliche replizierte Verzeichnisse erstellen.
Sehen Sie sich diesen Screenshot für ein visuelles Beispiel der Milestone XProtect SQL-Replikation an 🖼️. - In
Checkerskönnen Sie bei Bedarf Checkers konfigurieren, z. B. Prozessüberwachung, benutzerdefinierte Checkers, TCP, Ping oder Split-Brain-Checkers.
Wenn beispielsweise ein Prozessname unterMonitored processes/servicesangezeigt wird, wird er im Fehlerfall mit einer Neustartaktion überwacht. Die Konfiguration eines falschen Prozessnamens führt dazu, dass das Modul direkt nach dem Start beendet wird.
ℹ️ Wenn Sie auf Advanced configuration klicken, wird die Datei userconfig.xml angezeigt. Diese Datei wird automatisch von der Konsole ausgefüllt und mit den Neustartskripten auf den Knoten bereitgestellt.
ℹ️ Bei einer Cloud-Bereitstellung müssen Sie keine virtuelle IP-Adresse in SafeKit konfigurieren. Die virtuelle IP wird auf der Ebene des 🛠️ Cloud Load Balancer verwaltet.
ℹ️ Wenn Sie die SafeKit-Konfiguration anwenden, wird der startup type der Dienste in Windows-Diensten automatisch auf Manual gesetzt. Dies stellt sicher, dass die Dienste nicht automatisch starten, wenn das System hochfährt, sondern erst gestartet werden, wenn das Modul selbst gestartet wird (dasselbe gilt unter Linux).

5. Skripte bearbeiten (optional)
- Dieser Schritt ist optional und kann in den meisten Fällen übersprungen werden, da die Neustartskripte bereits so vorkonfiguriert sind, dass sie die im vorherigen Schritt definierten Dienste neu starten.
- Klicken Sie also direkt auf
Next step. start_prim.ps1startet alle Dienste in der in der ListeSERVICESangegebenen Reihenfolge, währendstop_prim.ps1alle Dienste in umgekehrter Reihenfolge stoppt.- Zusätzlich überprüft
start_prim.ps1den Start jedes Dienstes und stoppt das Modul, wenn ein Dienst nicht korrekt gestartet werden kann.

6. Kommunikationsverschlüsselung (optional)
- Verschlüsselung der Kommunikation zwischen den Knoten beibehalten.

7. Speichern und anwenden
Save and applydie Konfiguration und die Skripte auf beiden Knoten an.

8. Erfolgreiche Konfiguration überprüfen
- Überprüfen Sie die
Success✅ auf beiden Knoten und klicken Sie aufMonitor modules. - Wenn der
Failure❌ auf einem Knoten auftritt, öffnen Sie das ▼ Akkordeon für diesen Knoten und überprüfen Sie die Nachrichten. Beachten Sie, dass Sie die SafeKit AI 🤖 zur Unterstützung verwenden können.
⚠️ Unter Linux kann in diesem Schritt ein Fehler auftreten, wenn die replizierten Verzeichnisse Einhängepunkte sind. 🛠️ Siehe SK-0030, um das Problem zu lösen.

9. Starten Sie den Knoten mit aktuellen Daten
- Wenn Knoten 1 über die aktuellsten replizierten Verzeichnisse verfügt, wählen Sie ihn aus und ⋯
Force start▶As primary.
Wenn Knoten 2 gestartet wird, werden alle Daten von Knoten 1 auf Knoten 2 kopiert.
⚠️ Wenn Sie die falsche Wahl treffen, laufen Sie Gefahr, veraltete Daten auf beiden Knoten zu synchronisieren.
⚠️ Es wird auch davon ausgegangen, dass die MySQL Anwendung auf Knoten 1 gestoppt ist, damit SafeKit die Replikationsmechanismen installiert und dann die Anwendung im start_prim-Skript startet.
⚠️ Verwenden Sie Start für nachfolgende Starts: SafeKit behält den aktuellsten Server bei. Starten As primary ist ein spezieller Startvorgang beim ersten Mal oder bei außergewöhnlichen Vorgängen.

10. Warten Sie, bis der Übergang zu ALONE (grün) erfolgt
- Knoten 1 sollte den ALONE Status (grün) erreichen, was bedeutet, dass die virtuelle IP-Adresse festgelegt wurde und das
start_primSkript auf Knoten 1 ausgeführt wurde.
⚠️ Wenn ALONE (grün) nicht erreicht wird oder die Anwendung nicht gestartet wird, analysieren Sie den Grund mit dem Modulprotokoll 🖼️ von Knoten 1.
- Klicken Sie auf das 🔍 Protokollsymbol von
node1, um das Modulprotokoll zu öffnen und nach Fehlermeldungen zu suchen, z. B. wenn ein Prüfer einen Fehler erkennt und das Modul stoppt. - Klicken Sie im Protokoll auf
start_prim: Die Ausgabemeldungen des Skripts werden rechts angezeigt und Fehler können erkannt werden, z. B. wenn ein Dienst falsch gestartet wurde. - Nutzen Sie die SafeKit AI 🤖 für Unterstützung bei Protokollnachrichten.
⚠️ Wenn sich der Cluster im Zustand WAIT (red) not uptodate, STOP (red) not uptodate, stoppen Sie den WAIT Knoten und erzwingen Sie seinen Start als primär 🖼️.

11. Startknoten 2
- ⋯
StartKnoten 2 mit seinem Kontextmenü. - Warten Sie auf den SECOND (grünen) Zustand.
ℹ️ Knoten 2 bleibt im SECOND (orangen) Zustand, während die replizierten Verzeichnisse resynchronisiert werden (Kopie von Knoten 1 auf Knoten 2).
- Dies kann je nach Größe der in replizierten Verzeichnissen zu resynchronisierenden Dateien und der Netzwerkbandbreite einige Zeit dauern.
- Um den Fortschritt der Kopie zu sehen, siehe das Modulprotokoll 🖼️ und die Replikationsressourcen 🖼️ von Knoten 2. Verwenden Sie SafeKit AI 🤖 für Unterstützung bei Protokollmeldungen.

12. Überprüfen Sie, ob der Cluster betriebsbereit ist
- Überprüfen Sie, ob der Cluster grün/grün ist und MySQL Dienste auf dem PRIM-Knoten ausgeführt werden und nicht auf dem SECOND-Knoten.
In diesem Zustand werden nur Änderungen innerhalb von Dateien in Echtzeit repliziert.
⚠️ Komponenten, die Clients von MySQL Diensten sind, müssen mit der virtuellen IP-Adresse konfiguriert werden. Die Konfiguration kann mit einem DNS-Namen erfolgen (wenn ein DNS-Name erstellt und der virtuellen IP-Adresse zugeordnet wurde).

13. Tests
- Stoppen Sie den PRIM-Knoten, indem Sie im Kontextmenü nach unten scrollen und auf
Stopklicken. - Überprüfen Sie, ob auf dem SECOND Knoten ein Failover stattfindet, der ALONE (grün) sein sollte.
- Überprüfen Sie mit Microsoft Management Console (MMC) unter Windows oder mit Befehlszeilen unter Linux das Failover der MySQL-Dienste (gestoppt auf Knoten 1 im
stop_prim-Skript und gestartet auf Knoten 2 imstart_prim-Skript).
⚠️ Wenn ALONE (grün) auf node2 nicht erreicht wird oder die Anwendung nicht gestartet wird, analysieren Sie den Grund mit dem Modulprotokoll 🖼️ von Knoten 2.
- Klicken Sie auf das 🔍 Protokollsymbol von
node2, um das Modulprotokoll zu öffnen und nach Fehlermeldungen zu suchen, z. B. wenn ein Prüfer einen Fehler erkennt und das Modul stoppt. - Klicken Sie im Protokoll auf
start_prim: Die Ausgabemeldungen des Skripts werden rechts angezeigt und Fehler können erkannt werden, z. B. wenn ein Dienst falsch gestartet wurde. - Nutzen Sie die SafeKit AI 🤖 für Unterstützung bei Protokollnachrichten.
⚠️
- Wenn alles in Ordnung ist, starten Sie einen Start auf node1, wodurch die replizierten Verzeichnisse von node2 erneut synchronisiert werden.
- Wenn etwas schiefgeht, stoppen Sie node2 und erzwingen Sie, dass Knoten 1 als primärer Knoten startet 🖼️. Dieser wird dann mit seinen lokal intakten Daten zum Zeitpunkt des Stopps neu gestartet.
ℹ️ Weitere Details sowie Videos finden Sie im SafeKit Online-Training.

14. Unterstützung
- Um Unterstützung zu erhalten, erstellen Sie 2 SafeKit
Snapshots(2 .zip-Dateien), einen für jeden Knoten.
ℹ️ Weitere Informationen zum Support finden Sie hier.

Demonstration der SafeKit mirror
SafeKit Video: Clustering auf Anwendungsebene (8:47)
In diesem Video erfahren Sie, wie SafeKit einen mirror HA-Cluster ohne die Komplexität eines SAN implementiert. Während diese Demonstration Microsoft SQL Server verwendet, funktioniert die Lösung identisch für andere Datenbanken und Anwendungen.
Kapitel
- 🎬 2 Knoten mit SQL Server (0:32)
- 🎬 Konfigurieren Sie den Cluster und das Modul mirror.safe (3:58)
- 🎬 SQL-Replikation, -Migration und Failover bei Absturz starten und testen (4:17)
Schritt-für-Schritt-Implementierung
- 🛠️ Lies die Anleitung zum Einrichten eines Mirror-Clusters unter Windows
- 🛠️ Lies den Leitfaden zum Einrichten eines Mirror-Clusters unter Linux
🔍 SafeKit entdecken
Finden Sie Informationen zu SafeKit-Funktionen, Architekturen, Videos, Dokumentation und der kostenlosen Testversion.
| Ressource | Beschreibung | Link |
|---|---|---|
| Wichtige Merkmale | Erfahren Sie, warum SafeKit eine einfache und kostengünstige Hochverfügbarkeitslösung ist. | Entdecken Sie die wichtigsten Funktionen |
| Anwendungsfälle | Erfahren Sie, wie SafeKit kritische Anwendungen und Infrastrukturen verfügbar hält. | Anwendungsfälle erkunden |
| Bereitstellungsmodell | SafeKit bietet Hochverfügbarkeit ohne SAN oder gemeinsam genutzten Speicher. | Das Bereitstellungsmodell erkunden |
| Hochverfügbarkeitsstrategien | Vergleichen Sie die Hochverfügbarkeit für virtuelle Maschinen mit der Hochverfügbarkeit für Anwendungen. | Vergleichen Sie die beiden Strategien |
| Technische Daten | Überprüfen Sie die technischen Anforderungen und Einschränkungen für SafeKit-Cluster. | Lesen Sie die technischen Daten |
| Videos | Sehen Sie sich Demonstrationen der SafeKit-Konfiguration und des automatischen Failovers an. | Sehen Sie sich die technischen Videos an |
| Architektur | Erfahren Sie, wie der SafeKit Mirror-Cluster Dateien in Echtzeit repliziert und Failover abwickelt. | Erkunden Sie die Mirror Architektur |
| Architektur | Erfahren Sie, wie der SafeKit Farm-Cluster den Netzwerkverkehr ausgleicht und Failover handhabt. | Entdecken Sie die Architektur Farm |
| Produktvergleich | Vergleichen Sie SafeKit mit herkömmlichen Hochverfügbarkeits-Clustern. | Vergleichen Sie die Lösungen |
| Technische Ressourcen | Finden Sie technische Dokumentation, laden Sie SafeKit herunter und greifen Sie auf die kostenlose Testversion zu. | Auf die Dokumentation und die kostenlose Testversion zugreifen |
| Anwendungsmodule | Nutzen Sie vorkonfigurierte SafeKit-Module, um die Hochverfügbarkeit Ihrer Anwendungen einzurichten. | Erkunden Sie die Anwendungsmodule |