Verteilte Datenbanken oder Cluster bestehen normalerweise aus mehreren Knoten und Knotentypen, und es ist nicht immer leicht zu verstehen, wie all diese zusammen hängen. Beispielsweise könnte man eine Replikationskonfiguration mit Zwischenmastern und Replikationsdatenverkehr haben, der einem bestimmten Pfad folgt. Fügen Sie einige Load Balancer, Hosts mit mehreren IP-Adressen, Nur-Lese-Flags und Slave-Lag hinzu, und Sie können sich auf eine Denksportaufgabe freuen.
Ein Bild sagt jedoch mehr als tausend Worte. Genau das liefert die neue Topology View von ClusterControl. Es zeigt alle verschiedenen Knoten, die Teil Ihres Datenbankclusters sind (ob Datenbankknoten, Load Balancer oder Arbitrator), sowie die Verbindungen zwischen ihnen. Die Knoten, Verbindungen und deren Status werden von ClusterControl ermittelt. Da ClusterControl die Knoten kontinuierlich überwacht und Zustandsinformationen speichert, werden alle Änderungen in der Topologie in der Weboberfläche widergespiegelt. Wenn ein Knoten ausgefallen ist, wird er als offline angezeigt.
Aus der Topologieansicht heraus können Sie die Knoten verwalten, Master per Drag &Drop des Objekts auf den gewünschten Master wechseln, Knoten neu starten und Daten synchronisieren. Sie können auch Probleme sehr einfach erkennen, da jedes Objekt eine schnelle Zusammenfassung seines Status darstellt. ClusterControl führt einige zusätzliche Steuerelemente für die Aktionen aus, die Sie ausführen möchten. Die vordefinierten Prüfungen erlauben keine Ausführung von Aufgaben, die zu Datenverlust führen können.
Es gibt verschiedene Arten von Topologien, wir werden einige davon zeigen und sehen, wie sie funktionieren.
Galera-Cluster
Galera-Cluster-TopologieansichtHier haben wir eine grundlegende Galera-Cluster-Topologie mit 3 Knoten.
In diesem Bildschirm sehen wir, dass die 3 Nodes korrekt funktionieren und grundlegende Informationen wie den Status und den letzten Commit.
Wir können auch beobachten, dass galera1 wird als Master aufgeführt, da es Binlogs generiert.
Wenn wir einen der Knoten erweitern, können wir zusätzliche Statusinformationen anzeigen.
Knotendetails Ansicht 1In der ersten sehen wir Informationen zum Verkehr von Galera.
Knotendetailansicht 2Im zweiten Unterbildschirm sehen wir Details zur regulären MySQL-Replikation.
Knotendetailansicht 3Im dritten haben wir Details über den Server, wie Betriebszeit und Version.
Wir haben auch Aktionen, die wir auf den Knoten ausführen können.
Ansicht "Knotenaktionen".Wenn wir auf das rechte Symbol klicken, können wir die verfügbaren Aktionen sehen:
- SSH-Konsole:Ermöglicht uns den Zugriff auf eine SSH-Konsole auf dem Knoten.
- Wartungsmodus planen:Ermöglicht es Ihnen, ein Wartungsfenster für den Knoten festzulegen.
- Host neu starten:Wir können den Host von hier aus neu starten.
- Restart Node:Wir können die Datenbank neu starten.
- Knoten neu synchronisieren:Ermöglicht uns, eine Neusynchronisierung des Knotens durchzuführen.
- Bootstrap-Cluster:Durch Auswahl dieser Option können wir einen Bootstrap des Clusters durchführen, indem wir den entsprechenden Knoten auswählen.
- Stop Node:Wir können die Datenbank stoppen.
- Unregister Node:Mit dieser Aktion entfernen wir den Node aus dem Cluster.
MySQL-Replikation
Topologieansicht der MySQL-ReplikationIn diesem Bildschirm sehen wir eine MySQL-Replikationstopologie mit 1 Master und 3 Slaves.
Wir haben einige Informationen wie den Status der Replikate und des Masters, welche Knoten beschreibbar sind und die Position der Replikation.
Wenn wir jeden Knoten erweitern, können wir detailliertere Informationen erhalten.
Master-Knoten-Detailansicht 1 Detailansicht 1 des Slave-KnotensIm ersten Unterbildschirm sehen wir Details der Replikation. Sowohl der Master als auch der Slave.
Knotendetailansicht 2Im zweiten Unterbildschirm sehen wir Serverdetails wie Version und Betriebszeit.
Wir haben verschiedene Aktionen, die wir auf den Knoten ausführen können.
Ansicht "Knotenaktionen".Wenn wir auf das rechte Symbol klicken, können wir die verfügbaren Aktionen sehen:
- SSH-Konsole:Sie ermöglicht uns den Zugriff auf eine SSH-Konsole innerhalb des Knotens.
- Wartungsmodus planen:Ermöglicht es Ihnen, ein Wartungsfenster für den Knoten festzulegen.
- Host neu starten:Wir können den Host von hier aus neu starten.
- Restart Node:Wir können die Datenbank neu starten.
- Schreibgeschützt deaktivieren:Mit dieser Option aktivieren wir das Schreiben auf die Replik.
- Sklave befördern:Ermöglicht es, einen Sklaven zum Meister zu befördern.
- Replizierungs-Slave neu erstellen:Wenn Sie diese Option auswählen, bauen wir die Replik neu auf, indem wir einen Master auswählen.
- Replikations-Master ändern:Ermöglicht Ihnen, den Master der Replikation zu ändern.
- Slave starten:Starten Sie die Instanz.
- Stop Node:Wir können die Instanz stoppen.
- Unregister Node:Mit dieser Aktion entfernen wir den Node aus dem Cluster.
Die Optionen können je nach Rolle des Knotens variieren.
Knotenansicht ändernSie können auch eine der folgenden Optionen auswählen, indem Sie einen Knoten auswählen und auf einen anderen ziehen:
Ansicht der KnotenoptionenSie können das Replikat von diesem neuen Knoten neu erstellen oder einfach den Master ändern und mit der Replikation fortfahren.
Beim Bestätigen der Änderungen haben wir eine neue Topologieansicht:
MySQL-Replikationstopologieansicht 2Hier können wir sehen, dass wir unseren Master mit zwei Repliken haben, und eine dieser Repliken fungiert als Zwischenmaster, von dem ein Slave repliziert.
PostgreSQL
PostgreSQL-Topologieansicht 1Hier haben wir eine Topologie für PostgreSQL mit 1 Master und 2 Slaves.
Wir können die Rolle jedes einzelnen beobachten, welche Knoten das Schreiben zulassen und den Status der Replikation.
Knotendetails Ansicht 1Wenn wir die Informationen der Knoten erweitern, können wir Versions- und Betriebszeitdetails sehen .
Ansicht "Knotenaktionen".Wir haben auch verschiedene Aktionen, die auf den Knoten ausgeführt werden können:
- SSH-Konsole:Sie ermöglicht uns den Zugriff auf eine SSH-Konsole innerhalb des Knotens.
- Wartungsmodus planen:Ermöglicht es Ihnen, ein Wartungsfenster für den Knoten festzulegen.
- Host neu starten:Wir können den Host von hier aus neu starten.
- Restart Node:Wir können die Datenbank neu starten.
- Sklave befördern:Ermöglicht uns, einen Sklavenmeister zu befördern.
- Replizierungs-Slave neu erstellen:Diese Option ermöglicht die Rekonstruktion einer Replik von einem Master.
- Stop Node:Wir können die Datenbank stoppen.
- Unregister Node:Mit dieser Aktion entfernen wir den Node aus dem Cluster.
Die Optionen können sich je nach Rolle der einzelnen Knoten ändern.
Wenn wir unseren Master ändern möchten, können wir dies einfach tun, indem wir Promote Slave in den Aktionen des Knotens auswählen, den wir zuvor gesehen haben.
Nach einigen Sekunden können wir unsere neue Topologie mit dem von uns ausgewählten neuen Master sehen.
PostgreSQL-Topologieansicht 2Um ein Replikat neu zu erstellen, können wir einfach den Knoten auswählen, den wir ändern möchten, und ihn auf dem Master ablegen.
Knotenansicht ändernAuf diese Weise können Sie schnell und einfach ein Replikat rekonstruieren.
MongoDB
MongoDB-TopologieansichtDies ist die Topologie für ein MongoDB ReplicaSet mit 1 Primärknoten und 2 Sekundärknoten.
Wir können grundlegende Informationen wie Verbindungen und Sperren beobachten.
Durch Erweitern der Knoteninformationen können wir zwei Unterbildschirme sehen.
Knotendetails Ansicht 1Im ersten sehen wir die Priorität und ob sie ausgeblendet ist oder nicht.
Knotendetailansicht 2Im zweiten sehen wir Serverdaten, wie die Version und die Betriebszeit.
Knotenaktionen Siehe ähnliche Ressourcen , MongoDB und PostgreSQLWir müssen auf jedem Knoten verschiedene Aktionen ausführen:
- SSH-Konsole:Sie ermöglicht uns den Zugriff auf eine SSH-Konsole innerhalb des Knotens.
- Wartungsmodus planen:Ermöglicht es Ihnen, ein Wartungsfenster für den Knoten festzulegen.
- Host neu starten:Wir können den Host von hier aus neu starten.
- Restart Node:Wir können die Datenbank neu starten.
- Knoten einfrieren:Wir können den Knoten X-mal in den Einfriermodus versetzen.
- Stop Node:Wir können die Datenbank stoppen.
- Unregister Node:Mit dieser Aktion entfernen wir den Node aus dem Cluster.
Die Optionen können sich je nach Rolle der einzelnen Knoten ändern.
Allgemeines
Unabhängig von der verwendeten Engine können wir, wenn wir den Zugriff auf einen Knoten verlieren, dies leicht erkennen und Warnungen zu den Ereignissen konfigurieren. Sehen wir uns ein Beispiel mit Galera Cluster an:
Offlineansicht des KnotensAuf diese Weise können wir den unzugänglichen Knoten schnell identifizieren und die erforderlichen Maßnahmen ergreifen.
Wir können in unserer Topologie auch Load Balancer mit Keepalive-Konfiguration haben:
Load-Balancer-AnsichtWir können Datenbankknoten und die Load Balancer (z. B. ProxySQL) anzeigen.
Zusammenfassend lässt sich sagen, dass die Topologieansicht sehr nützlich sein kann, um schnell zu visualisieren, wie sich unser Cluster repliziert.
Sie können diese und viele andere Funktionen mit der kostenlosen Testversion ausprobieren.