Ich habe dies beim Stackoverflow gefragt , aber jemand hat darauf hingewiesen, dass es besser ist, hier zu fragen.
Nehmen wir Subversion und MySQL auf einem RAID-NAS an. Was sind die besten Methoden zum Sichern von Daten?
Ich dachte daran, mysqldumps unter die Kontrolle von subversionn zu stellen und dann vielleicht das svn-Repository regelmäßig zu sichern, indem ich das Ganze komprimiere.
Wenn Sie keine SVN-Sicherungen auf einer anderen physischen Festplatte speichern, scheint es nicht hilfreich zu sein, Sicherungen des Repositorys zu erstellen. Ist das wahr? Wenn nicht, warum?
Wie oft sollten Backups erstellt und wie viele gespeichert werden?
Antworten:
Erstens: Versionskontrolle Ihrer Datenbanksicherungen nicht.
Ein Backup ist ein Backup - ein Zeitpunkt. Die Verwendung der Versionskontrolle klingt nach einer guten Idee, aber Sie müssen das gesamte SVN-Repository (ZOMG Freaking HUGE ) wiederherstellen, wenn Sie einen katastrophalen Fehler haben und Ihre Datenbank zurückerhalten müssen. Dies kann eine zusätzliche Ausfallzeit sein, die Sie sich nicht leisten können.
Zweitens stellen Sie sicher, dass Ihre Backups irgendwie vom Standort abweichen. Eine Sicherung auf dem lokalen Computer ist ideal, wenn Sie Daten wiederherstellen müssen, weil Sie eine Tabelle durcheinander gebracht und gelöscht haben. Es nützt Ihnen absolut nichts, wenn die Festplatten Ihres Servers ausfallen.
Zu den Optionen gehören eine externe Festplatte oder der Versand der Sicherungen mit rsync an einen Remotecomputer. Es gibt sogar Speicherdienstleister wie rsync.net , die sich darauf spezialisiert haben.
Drittens in Bezug auf die Häufigkeit von Sicherungen: Nur Sie wissen, wie oft Sie dies tun müssen.
Meine derzeitige Firma verfügt über eine Slave-Datenbank mit nahezu Echtzeit-Replikation unserer Produktionsdaten. Dieser Slave wird jede Nacht auf einem lokalen Computer gesichert, der dann mit einem externen Speicher synchronisiert wird.
Bei einem Ausfall der Produktionshardware aktivieren wir den Slave. Der Datenverlust sollte minimal sein, ebenso wie die Ausfallzeiten. Im Falle eines versehentlichen Löschens der Tabelle können wir aus der lokalen Sicherung wiederherstellen (Verlust von bis zu 1 Tag Daten). Im Falle eines katastrophalen Vorfalls können wir die Sicherung außerhalb des Standorts wiederherstellen (was eine Weile dauert, aber wiederum nur bis zu 1 Tag Daten verliert).
Ob diese Art von Sicherungsschema für Sie funktioniert, hängt von Ihren Daten ab: Wenn es sich häufig ändert, müssen Sie möglicherweise eine Sicherungsstrategie untersuchen, mit der Sie zu einem bestimmten Zeitpunkt wiederhergestellt werden können (Protokollversandlösungen können dies häufig tun). Wenn es größtenteils statisch ist, müssen Sie es möglicherweise nur einmal im Monat sichern. Der Schlüssel besteht darin, sicherzustellen, dass Sie Änderungen an Ihren Daten innerhalb einer angemessenen Zeit ab dem Zeitpunkt ihrer Durchführung erfassen, um sicherzustellen, dass Sie diese Änderungen im Falle eines größeren Vorfalls nicht verlieren.
quelle
Allgemeiner Rat:
Spezifische Beratung:
quelle
Bei der Vorbereitung einer Sicherungsstrategie sollten Sie zunächst das Wiederherstellungspunktziel (RPO) und das Wiederherstellungszeitziel (RTO) bewerten. Das RPO gibt an, wie viele Daten das Unternehmen im Falle eines Vorfalls verlieren möchte, während das RTO angibt, wie schnell die Wiederherstellung erforderlich ist. Ihre Anforderungen an RTO und RPO erhöhen die wirtschaftlichen und Leistungskosten für die Wartung von Backups. [1] .
Im Allgemeinen gibt es vier Sicherungsstrategien:
Jeder Ansatz hat seine eigenen Vor- und Nachteile. Sie können aus verschiedenen Blickwinkeln verglichen werden:
Nicht blockierend : Alle Methoden müssen den Schreibzugriff auf db für die Sicherung nicht stoppen, mit Ausnahme des Datenbank-Snapshots, der in einigen Fällen, z. B. in Mongodb, wenn das Journaling aktiviert ist, selbst bei LVM-Snaphshot keine Garantie dafür gibt, dass der Snapshot konsistent und gültig ist.
Inkrementell : Speicherauszug und Snapshot sind normalerweise nicht inkrementell und folglich ist die Sicherungsgeschwindigkeit niedriger als der Rest. Replikat- und Cloud-Methoden sind inkrementeller Natur.
Workload : Snapshot hat keine Last in der Datenbank, da nur zugrunde liegende Dateien kopiert werden. Dump hat die meiste Last. Bei einer anderen Methode wird die Arbeitslast auf die Arbeitsstunden der Datenbank verteilt.
quelle