Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verwenden von Database Backup Advisors zum Automatisieren von Wartungsaufgaben

Eine Katastrophe verursacht in der Regel einen Ausfall, was zu Systemausfall und potenziellem Datenverlust führt. Sobald wir den Stromausfall erkannt haben, lösen wir unseren DR-Plan aus, um uns davon zu erholen. Aber es wäre eine Überraschung, wenn es kein Backup gibt oder Sie nach langen Stunden der Wiederherstellung sehen, dass es nicht das ist, was Sie brauchen.

Auch wenn Ausfälle kostspielig sein können, gibt es oft finanzielle Auswirkungen, die dem Geschäft schaden können, und Datenverlust kann ein Grund sein, das Unternehmen zu schließen.

Um den Datenverlust zu minimieren, müssen wir mehrere Kopien von Daten an verschiedenen Orten haben. Wir können unsere Infrastruktur in verschiedenen Schichten entwerfen und jede Schicht von der darunter liegenden abstrahieren. Zum Beispiel bauen wir eine Schicht für Cluster von Datenbankinstanzen auf, um sie vor Hardwareausfällen zu schützen. Wir replizieren Datenbanken über Rechenzentren hinweg, damit wir uns gegen einen Rechenzentrumsausfall wehren können. Jede zusätzliche Ebene erhöht die Komplexität, was zu einem Albtraum in der Verwaltung werden kann. Aber im Wesentlichen nimmt ein Backup den zentralen Platz bei der Notfallwiederherstellung ein.

Deshalb ist es wichtig, dass wir uns darauf verlassen können. Aber wie erreicht man das? Nun, eine der Optionen besteht darin, anhand der letzten paar Zeilen des Backup-Skripts zu überprüfen, ob Backups ausgeführt wurden.

Ein einfaches Beispiel:

#!/bin/sh

mysqldump -h 192.168.1.1 -u user -ppassword dbname > filename.sql



if [ "$?" -eq 0 ]; then

    echo "Success."

else

    echo "Error."

fi

Aber was ist, wenn das Backup-Skript überhaupt nicht gestartet wurde? Google bietet ziemlich viele Suchergebnisse für "Linux Cron, läuft nicht".

Leider bieten Open-Source-Datenbanken oft kein Backup-Repository an.

Ein weiterer Backup-Test. Sie haben vielleicht schon von Schrödingers Katze gehört. Eine bekannte Backup-Theorie von Schrödinger ist . "Der Zustand einer Sicherung ist unbekannt, bis eine Wiederherstellung versucht wird." Klingt nach einem einfachen Ansatz, aber ein solcher Versuch würde bedeuten, dass Sie nach jedem Backup eine Testumgebung einrichten, Dateien kopieren, Wiederherstellen ausführen müssen.

In diesem Artikel werden wir sehen, wie Sie ClusterControl verwenden können, um sicherzustellen, dass Ihre Sicherung ausgeführt wird, um Datenbanken der Enterprise-Klasse mit Open-Source-Datenbanken zu erreichen.

Backup-Berichte

ClusterControl ist auf Betriebsberichte ausgerichtet. Operational Reporting unterstützt die tägliche Überwachung und Kontrolle der Unternehmensaktivitäten. Der Sicherungsbericht ist einer von vielen. Sie können Berichte finden wie:

  • Täglicher Systembericht
  • Paket-Upgrade-Bericht
  • Schemaänderungsbericht
  • Verfügbarkeit 
  • Sicherung

Aber wozu braucht man das?

Möglicherweise verfügen Sie bereits über ein ausgezeichnetes Überwachungstool mit allen möglichen Metriken/Diagrammen und haben wahrscheinlich auch Warnmeldungen basierend auf Metriken und Schwellenwerten eingerichtet (einige haben sogar automatisierte Berater, die ihnen Empfehlungen geben oder Dinge automatisch beheben). Das ist gut – Einblick in Ihre System ist wichtig; dennoch müssen Sie viele Informationen verarbeiten können.

Wie funktioniert das? ClusterControl sammelt Informationen über den Backup-Prozess, die Systeme, Plattformen und Geräte in der Backup-Infrastruktur, wenn der Backup-Job ausgelöst wird. Alle diese Informationen werden aggregiert und in einer CMON (interne Datenbank) gespeichert, sodass keine zusätzlichen Abfragen bestimmter Datenbanken erforderlich sind. Wenn außerdem festgestellt wird, dass Sie einen laufenden Cluster haben, aber keine Sicherung vorhanden war, wird dies ebenfalls gemeldet.

In den Berichtsdetails können Sie eine Sicherungs-ID mit detaillierten Daten zu Ort, Größe, Zeit und Sicherungsmethode nachverfolgen. Vorlagen arbeiten mit Daten für verschiedene Datenbanktypen, sodass Sie bei der Verwaltung Ihrer gemischten Umgebung dasselbe Gefühl und dasselbe Erscheinungsbild erhalten. Es hilft, verschiedene Datenbanksicherungen besser zu verwalten.

CLI-Berichte

Für diejenigen, die die Befehlszeilenschnittstelle bevorzugen, eine gute Option zum Nachverfolgen von Backups ClusterControl Command Line Interface (CLI).

CLI lässt Sie die meisten der innerhalb von ClusterControl verfügbaren Funktionen mit einfachen Befehlen ausführen. Backup-Ausführung und Backup-Berichte sind eine davon.

In Verbindung mit der leistungsstarken GUI bietet es ClusterControl-Benutzern alternative Möglichkeiten, ihre Open-Source-Datenbankumgebungen mit der von ihnen bevorzugten Engine zu verwalten.

$ s9s backup --list --cluster-id=1 --long --human-readable

ID CID STATE     OWNER HOSTNAME CREATED  SIZE FILENAME

 1   1 COMPLETED dba   10.0.0.5 07:21:39 252K mysqldump_2017-05-09_072135_mysqldb.sql.gz

 1   1 COMPLETED dba   10.0.0.5 07:21:43 1014 mysqldump_2017-05-09_072135_schema.sql.gz

 1   1 COMPLETED dba   10.0.0.5 07:22:03 109M mysqldump_2017-05-09_072135_data.sql.gz

 1   1 COMPLETED dba   10.0.0.5 07:22:07 679 mysqldump_2017-05-09_072135_triggerseventsroutines.sql.gz

 2   1 COMPLETED dba   10.0.0.5 07:30:20 252K mysqldump_2017-05-09_073016_mysqldb.sql.gz

 2   1 COMPLETED dba   10.0.0.5 07:30:24 1014 mysqldump_2017-05-09_073016_schema.sql.gz

 2   1 COMPLETED dba   10.0.0.5 07:30:44 109M mysqldump_2017-05-09_073016_data.sql.gz

 2   1 COMPLETED dba   10.0.0.5 07:30:49 679 mysqldump_2017-05-09_073016_triggerseventsroutines.sql.gz

Ab Version 1.4.1 installiert das Installationsskript dieses Paket automatisch auf dem ClusterControl-Knoten. CLI ist Teil des s9s-tools-Pakets. Sie können es auch separat auf einem anderen Computer installieren, um den Datenbank-Cluster remote zu verwalten. Ähnlich wie ClusterControl verwendet es eine sichere SSH-Kommunikation.

Automatische Sicherungsüberprüfung

Ein Backup ist kein Backup, wenn wir die Daten nicht abrufen können. Die Überprüfung von Backups wird von vielen Unternehmen normalerweise übersehen. Sehen wir uns an, wie ClusterControl die Überprüfung von Backups automatisieren und dabei helfen kann, Überraschungen zu vermeiden.

Wählen Sie in ClusterControl Ihren Cluster aus und gehen Sie zum Abschnitt "Sicherung". Wählen Sie dann "Sicherung erstellen".

Die Funktion zur automatischen Überprüfung der Sicherung ist für geplante Sicherungen verfügbar, also wählen wir aus die Option „Sicherung planen“.

Beim Planen eines Backups müssen wir zusätzlich zur Auswahl der üblichen Optionen wie Methode oder Speicher auch Zeitplan/Häufigkeit angeben. In diesem Beispiel richten wir die MySQL-Backup-Überprüfung ein. Dasselbe kann jedoch für PostgreSQL- und Timescale-Datenbanken erreicht werden.

Wenn die Sicherungsüberprüfung aktiviert ist, wird eine weitere Registerkarte angezeigt.

Hier können wir alle notwendigen Schritte zur Vorbereitung der Umgebung festlegen. Wenn IP bereitgestellt wird, können wir loslegen und ein solches Backup planen. Jedes Mal, wenn die Sicherung abgeschlossen ist, wird sie in eine temporäre Sicherungsüberprüfungsumgebung kopiert (Option „Sicherung wiederherstellen ein“). Nach erfolgreicher Aktualisierung sehen Sie den Status der Überprüfung auf der Registerkarte Backup-Repository.

Fehlgeschlagene Sicherungsausführungen und Integrationsdienste

Eine weitere interessante Option, um weitere Hinweise zur Backup-Ausführung zu erhalten, ist die Verwendung von ClusterControl-Integrationsdiensten. Sie können den Ausführungsstatus der Sicherung mit Diensten von Drittanbietern steuern.

Die Integration von Tools von Drittanbietern ermöglicht es Ihnen, Warnungen mit anderen gängigen Systemen zu automatisieren. Derzeit unterstützt ClusterControl ServiceNow, PagerDuty, VictorOps, OpsGenie, Slack, Telegram und Webhooks.

Unten sehen wir ein Beispiel für die Slack-Channel-Integration. Wann immer ein Backup-Ereignis auftritt, wird es im Slack-Channel angezeigt.

Fazit

Sicherungen sind in jeder Umgebung obligatorisch. Sie helfen Ihnen beim Schutz Ihrer Daten und stehen im Mittelpunkt jedes Disaster-Recovery-Szenarios. ClusterControl kann helfen, den Backup-Prozess für Ihre Datenbanken zu automatisieren und im Fehlerfall mit wenigen Klicks wiederherzustellen. Außerdem können Sie sicher sein, dass sie erfolgreich und zuverlässig ausgeführt werden, damit Sie Ihre Daten im Katastrophenfall nicht verlieren.