MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

9 ClusterControl-Funktionen, die Sie in anderen Datenbankverwaltungstools nicht finden werden

Das Sicherstellen eines reibungslosen Betriebs Ihrer Produktionsdatenbanken ist keine triviale Aufgabe, und es gibt eine Reihe von Tools und Dienstprogrammen, die Sie bei dieser Aufgabe unterstützen. Es stehen Tools zur Überwachung des Zustands, der Serverleistung, zur Analyse von Abfragen, Bereitstellungen, zur Verwaltung von Failover, Upgrades und vieles mehr zur Verfügung. ClusterControl als Verwaltungs- und Überwachungsplattform für Ihre Datenbankinfrastruktur zeichnet sich durch die Fähigkeit aus, den gesamten Lebenszyklus von der Bereitstellung über die Überwachung bis hin zur laufenden Verwaltung und Skalierung zu verwalten.

Obwohl ClusterControl wichtige Funktionen wie automatisches Datenbank-Failover, Verschlüsselung während der Übertragung/im Ruhezustand, Backup-Verwaltung, Point-in-Time-Wiederherstellung, Prometheus-Integration, Datenbankskalierung bietet, sind diese in anderen Unternehmensverwaltungs-/Überwachungstools auf dem Markt zu finden. Es gibt jedoch einige Funktionen, die Sie nicht so leicht finden werden. In diesem Blogbeitrag stellen wir 9 Funktionen vor, die Sie in keinem anderen Verwaltungs- und Überwachungstool auf dem Markt finden werden (zum Zeitpunkt der Erstellung dieses Artikels).

Backup-Verifizierung

Jedes Backup ist buchstäblich kein Backup, bis Sie wissen, dass es wiederhergestellt werden kann - indem Sie wirklich überprüfen, ob es wiederhergestellt werden kann. ClusterControl ermöglicht die Überprüfung einer Sicherung, nachdem die Sicherung erstellt wurde, indem ein neuer Server gestartet und die Wiederherstellung getestet wird. Das Verifizieren eines Backups ist ein kritischer Prozess, um sicherzustellen, dass Sie Ihre Recovery Point Objective (RPO)-Richtlinie im Falle einer Notfallwiederherstellung erfüllen. Der Überprüfungsprozess führt die Wiederherstellung auf einem neuen eigenständigen Host durch (wo ClusterControl vor der Wiederherstellung die erforderlichen Datenbankpakete installiert) oder auf einem Server, der für die Sicherungsüberprüfung bestimmt ist.

Um die Backup-Überprüfung zu konfigurieren, wählen Sie einfach ein vorhandenes Backup aus und klicken Sie auf Wiederherstellen. Es wird eine Option zum Wiederherstellen und Überprüfen geben:

Geben Sie dann einfach die IP-Adresse des gewünschten Servers an wiederherstellen und überprüfen:

Stellen Sie vorher sicher, dass der angegebene Host über passwortloses SSH erreichbar ist. Sie haben auch eine Handvoll Optionen darunter für den Bereitstellungsprozess. Sie können den Verifizierungsserver auch nach der Wiederherstellung herunterfahren, um Kosten und Ressourcen zu sparen, nachdem die Sicherung verifiziert wurde. ClusterControl sucht nach dem Beendigungscode des Wiederherstellungsprozesses und beobachtet das Wiederherstellungsprotokoll, um zu prüfen, ob die Überprüfung fehlschlägt oder erfolgreich ist.

Vereinfachung der ProxySQL-Verwaltung durch eine GUI

Viele würden zustimmen, dass eine grafische Benutzeroberfläche effizienter und weniger anfällig für menschliche Fehler bei der Konfiguration eines Systems ist. ProxySQL ist ein Teil der kritischen Datenbankebene (obwohl es darüber liegt) und muss für DBAs sichtbar genug sein, um allgemeine Probleme und Probleme zu erkennen. ClusterControl bietet eine umfassende grafische Benutzeroberfläche für ProxySQL.

ProxySQL-Instanzen können auf neuen Hosts bereitgestellt oder vorhandene in ClusterControl importiert werden. ClusterControl kann ProxySQL so konfigurieren, dass es mit einer virtuellen IP-Adresse (bereitgestellt von Keepalived) für den Einzelendpunktzugriff auf die Datenbankserver integriert wird. Es bietet auch Überwachungseinblicke in die wichtigsten ProxySQL-Komponenten wie Queries Backend, Slow Queries, Top Queries, Query Hits und eine Reihe anderer Überwachungsstatistiken. Im Folgenden sehen Sie einen Screenshot, der zeigt, wie Sie eine neue Abfrageregel hinzufügen:

Wenn Sie eine sehr komplexe Abfrageregel hinzufügen, wäre es bequemer, dies über die grafische Benutzeroberfläche zu tun. Jedes Feld verfügt über einen Tooltip, der Sie beim Ausfüllen des Abfrageregelformulars unterstützt. Beim Hinzufügen oder Ändern einer ProxySQL-Konfiguration stellt ClusterControl sicher, dass die Änderungen zur Laufzeit vorgenommen und zur Persistenz auf der Festplatte gespeichert werden.

ClusterControl 1.7.4 unterstützt jetzt sowohl ProxySQL 1.x als auch ProxySQL 2.x.

Betriebsberichte

Betriebsberichte sind eine Reihe von zusammenfassenden Berichten Ihrer Datenbankinfrastruktur, die on-the-fly generiert oder für den Versand an verschiedene Empfänger geplant werden können. Diese Berichte bestehen aus verschiedenen Prüfungen und behandeln verschiedene tägliche DBA-Aufgaben. Die Idee hinter dem Betriebsbericht von ClusterControl besteht darin, alle relevantesten Daten in einem einzigen Dokument zusammenzufassen, das schnell analysiert werden kann, um ein klares Verständnis des Status der Datenbanken und ihrer Prozesse zu erhalten.

Mit ClusterControl können Sie clusterübergreifende Umgebungsberichte wie den täglichen Systembericht, den Paket-Upgrade-Bericht, den Schemaänderungsbericht sowie Backups und Verfügbarkeit planen. Diese Berichte helfen Ihnen, Ihre Umgebung sicher und betriebsbereit zu halten. Sie sehen auch Empfehlungen zum Beheben von Lücken. Berichte können an SysOps, DevOps oder sogar Manager adressiert werden, die regelmäßige Statusaktualisierungen über den Zustand eines bestimmten Systems erhalten möchten.

Das Folgende ist ein Beispiel für einen täglichen Betriebsbericht, der in Bezug auf die Verfügbarkeit an Ihre Mailbox gesendet wird:

Wir haben dies in diesem Blog-Beitrag ausführlich behandelt:Ein Überblick über die Berichterstattung über den Datenbankbetrieb in ClusterControl.

Resynchronisiere einen Slave über Backup

ClusterControl ermöglicht das Staging eines Slaves (ob ein neuer Slave oder ein defekter Slave) über das letzte vollständige oder inkrementelle Backup. Es klingt nicht sehr aufregend, aber diese Funktion ist riesig, wenn Sie große Datensätze von 100 GB und mehr haben. Übliche Praxis beim Resynchronisieren eines Slaves ist das Streamen einer Sicherung des aktuellen Masters, was je nach Datenbankgröße einige Zeit in Anspruch nehmen kann. Dadurch wird der Master zusätzlich belastet, was die Leistung des Masters gefährden kann.

Um einen Slave über eine Sicherung neu zu synchronisieren, wählen Sie den Slave-Knoten auf der Seite „Knoten“ aus und gehen Sie zu „Knotenaktionen“ -> „Replikations-Slave neu erstellen“ -> „Aus einer Sicherung neu erstellen“. In der Dropdown-Liste werden nur PITR-kompatible Sicherungen aufgelistet:

Das Resynchronisieren eines Slaves von einem Backup bringt keinen zusätzlichen Overhead für den Master, wo ClusterControl das Backup aus dem Backup-Speicherort in den Slave extrahiert und streamt und schließlich die Replikationsverbindung zwischen dem Slave und dem Master konfiguriert. Der Slave holt den Master später ein, sobald die Replikationsverbindung hergestellt ist. Der Master bleibt während des gesamten Vorgangs unberührt, und Sie können den gesamten Fortschritt unter Aktivität -> Jobs überwachen.

Bootstrap eines Galera-Clusters

Galera Cluster ist sehr beliebt bei der Implementierung von Hochverfügbarkeit für MySQL oder MariaDB, aber die falschen Verwaltungsbefehle können zu verheerenden Folgen führen. Sehen Sie sich diesen Blog-Beitrag an, um zu erfahren, wie Sie einen Galera-Cluster unter verschiedenen Bedingungen booten. Dies zeigt, dass das Bootstrapping eines Galera-Clusters viele Variablen hat und mit äußerster Sorgfalt durchgeführt werden muss. Andernfalls können Sie Daten verlieren oder ein Split-Brain verursachen. ClusterControl versteht die Datenbanktopologie und weiß genau, was zu tun ist, um einen Datenbankcluster ordnungsgemäß zu booten. Um einen Cluster über ClusterControl zu booten, klicken Sie auf Cluster Actions -> Bootstrap Cluster:

Sie haben die Möglichkeit, ClusterControl automatisch den richtigen Bootstrap-Knoten auswählen zu lassen oder einen anfänglichen Bootstrap durchzuführen, bei dem Sie einen der Datenbankknoten aus der Liste als Referenzknoten auswählen und das MySQL-Datenverzeichnis auf den Joiner-Knoten löschen, um SST zu erzwingen der Bootstrap-Knoten. Wenn der Bootstrapping-Prozess fehlschlägt, zieht ClusterControl das MySQL-Fehlerprotokoll.

Wenn Sie einen manuellen Bootstrap durchführen möchten, können Sie auch die Funktion „Find Most Advanced Node“ verwenden und die Cluster-Bootstrap-Operation auf dem am weitesten fortgeschrittenen Knoten durchführen, der von ClusterControl gemeldet wird.

Zentralisierte Konfiguration und Protokollierung

ClusterControl zieht eine Reihe wichtiger Konfigurations- und Protokolldateien und zeigt sie in einer Baumstruktur innerhalb von ClusterControl an. Eine zentralisierte Ansicht dieser Dateien ist der Schlüssel zum effizienten Verständnis und zur Fehlerbehebung bei verteilten Datenbank-Setups. Die traditionelle Art, diese Dateien zu tailen/zu gruppieren, ist mit ClusterControl schon lange vorbei. Der folgende Screenshot zeigt den Konfigurationsdateimanager von ClusterControl, der alle zugehörigen Konfigurationsdateien für diesen Cluster in einer einzigen Ansicht auflistet (natürlich mit Syntaxhervorhebung):

ClusterControl eliminiert die Wiederholbarkeit beim Ändern einer Konfigurationsoption eines Datenbank-Clusters. Das Ändern einer Konfigurationsoption auf mehreren Knoten kann über eine einzige Schnittstelle durchgeführt werden und wird entsprechend auf den Datenbankknoten angewendet. Wenn Sie auf „Change/Set Parameter“ klicken, können Sie die Datenbankinstanzen auswählen, die Sie ändern möchten, und die Konfigurationsgruppe, den Parameter und den Wert angeben:

Sie können der Konfigurationsdatei einen neuen Parameter hinzufügen oder einen vorhandenen Parameter ändern . Der Parameter wird auf die Laufzeit der ausgewählten Datenbankknoten und in die Konfigurationsdatei angewendet, wenn die Option den Variablenvalidierungsprozess besteht. Einige Variablen erfordern möglicherweise einen Serverneustart, der dann von ClusterControl empfohlen wird.

Klonen von Datenbank-Clustern

Mit ClusterControl können Sie schnell einen vorhandenen MySQL Galera-Cluster klonen, sodass Sie eine exakte Kopie des Datensatzes auf dem anderen Cluster haben. ClusterControl führt den Klonvorgang online durch, ohne dass der vorhandene Cluster gesperrt oder heruntergefahren wird. Es ist wie ein Cluster-Scale-Out-Vorgang, außer dass beide Cluster nach Abschluss der Synchronisierung unabhängig voneinander sind. Der geklonte Cluster muss nicht unbedingt die gleiche Clustergröße haben wie der vorhandene. Wir könnten mit einem „Ein-Knoten-Cluster“ beginnen und ihn zu einem späteren Zeitpunkt mit mehr Datenbankknoten skalieren.

Eine weitere ähnliche Funktion, die von ClusterControl angeboten wird, ist "Cluster aus Backup erstellen". Diese Funktion wurde in ClusterControl 1.7.1 eingeführt, speziell für Galera Cluster und PostgreSQL-Cluster, wo man einen neuen Cluster aus dem bestehenden Backup erstellen kann. Im Gegensatz zum Klonen von Clustern bringt dieser Vorgang keine zusätzliche Last für den Quellcluster mit dem Kompromiss, dass der geklonte Cluster nicht denselben Status wie der Quellcluster hat.

Wir haben dieses Thema in diesem Blog-Beitrag, How to Create a Clone of Your MySQL or PostgreSQL Database Cluster, ausführlich behandelt.

Physische Sicherung wiederherstellen

Die meisten Datenbankverwaltungstools ermöglichen das Sichern einer Datenbank, und nur eine Handvoll von ihnen unterstützt die Datenbankwiederherstellung nur aus logischen Sicherungen. ClusterControl unterstützt die vollständige Wiederherstellung nicht nur für logische Backups, sondern auch für physische Backups, unabhängig davon, ob es sich um ein vollständiges oder inkrementelles Backup handelt. Das Wiederherstellen eines physischen Backups erfordert eine Reihe kritischer Schritte (insbesondere inkrementelle Backups), die im Wesentlichen das Erstellen eines Backups, das Kopieren der vorbereiteten Daten in das Datenverzeichnis, das Zuweisen der richtigen Berechtigungen/Eigentümer und das Starten des Knotens in der richtigen Reihenfolge umfassen, um die Datenkonsistenz zu wahren alle Mitglieder im Cluster. ClusterControl führt all diese Operationen automatisch durch.

Sie können auch eine physische Sicherung auf einem anderen Knoten wiederherstellen, der nicht Teil eines Clusters ist. In ClusterControl heißt die Option dafür "Cluster aus Backup erstellen". Sie können mit einem „Ein-Knoten-Cluster“ beginnen, um den Wiederherstellungsprozess auf einem anderen Server zu testen oder Ihren Datenbank-Cluster an einen anderen Ort zu kopieren.

ClusterControl unterstützt auch die Wiederherstellung einer externen Sicherung, einer Sicherung, die nicht über ClusterControl erstellt wurde. Sie müssen lediglich die Sicherung auf den ClusterControl-Server hochladen und beim Wiederherstellen den physischen Pfad zur Sicherungsdatei angeben. ClusterControl kümmert sich um den Rest.

Cluster-zu-Cluster-Replikation

Dies ist eine neue Funktion, die in ClusterControl 1.7.4 eingeführt wurde. ClusterControl kann jetzt die Cluster-Cluster-Replikation handhaben und überwachen, wodurch die asynchrone Datenbankreplikation zwischen mehreren Cluster-Sets an mehreren geografischen Standorten erweitert wird. Ein Cluster kann als Master-Cluster (aktiver Cluster, der Lese-/Schreibvorgänge verarbeitet) und der Slave-Cluster als Nur-Lese-Cluster (Standby-Cluster, der auch Lesevorgänge verarbeiten kann) festgelegt werden. ClusterControl unterstützt die asynchrone Cluster-Cluster-Replikation für Galera Cluster (Binärprotokoll muss aktiviert sein) und auch die Master-Slave-Replikation für die PostgreSQL-Streaming-Replikation.

Um einen neuen Cluster zu erstellen, den Sie von einem anderen Cluster replizieren, gehen Sie zu Cluster Actions -> Create Slave Cluster:

Das Ergebnis der obigen Bereitstellung wird übersichtlich auf dem Datenbank-Cluster-Listen-Dashboard dargestellt :

Der Slave-Cluster wird automatisch als schreibgeschützt konfiguriert, repliziert vom primären Cluster und fungiert als Standby-Cluster. Wenn der primäre Cluster von einer Katastrophe betroffen ist und Sie den sekundären Standort aktivieren möchten, wählen Sie einfach das Menü „Schreibgeschützt deaktivieren“ aus, das unter der Dropdown-Liste „Knoten“ -> „Knotenaktionen“ verfügbar ist, um ihn als aktiven Cluster hochzustufen.