Wie verifizierst du eine Wiederherstellung?


7

Mit welchen Tools würden Sie überprüfen, ob eine wiederhergestellte Dateistruktur vollständig und vollständig ist? Meine Umgebung ist ein Windows Server 2008-Dateiserver. (Wir verwenden Band für die Sicherung, aber das spielt keine Rolle.)

Ich suche speziell nach einem Werkzeug, das:

  • Notieren Sie die Namen aller Dateien und Ordner unter einem angegebenen Verzeichnis
  • Berechnen Sie optional die Prüfsummen für jede gefundene Datei
  • Speichern Sie diesen Index in einem für Menschen lesbaren Format
  • Vergleichen Sie den Index mit wiederhergestellten Daten und zeigen Sie Unterschiede an

Einige Hintergrundinformationen: Ich musste kürzlich die Festplatten in unserem Dateiserver ersetzen. Das Upgrade sollte 36 Stunden nach der letzten vollständigen Sicherung beginnen, daher habe ich eine differenzielle Sicherung erstellt. Es stellte sich jedoch heraus, dass eine unserer Anwendungen das Archivbit für auf dem Server gespeicherte Dateien löschte, sodass diese nicht in die differenzielle Sicherung einbezogen wurden. Ich war mir dessen nicht bewusst, bis meine Benutzer einige Dateien als fehlend meldeten.

Gibt es darüber hinaus noch andere gängige Methoden zur Überprüfung der Vollständigkeit der Integrität einer Wiederherstellung? Mir wird häufig gesagt, dass das Testen von Backups durch Wiederherstellen der einzige Weg ist, um festzustellen, ob Backups funktionieren. Wie gehen Sie jedoch mit dem Fall um, in dem 99% korrekt funktionieren und die anderen 1% stillschweigend fehlschlagen?


Update: Anscheinend muss ich ein paar Dinge klären.

  • Wenn möglich, verwende ich bereits vollständige Sicherungen, aber manchmal erfordert die Situation eine differenzielle Sicherung. In diesem Fall muss ich überprüfen, ob jede Datei in den Originaldaten auch in den wiederhergestellten Daten enthalten ist.
  • Ich verwende bereits die Funktion "Überprüfen" in Backup Exec, aber das stellt nur sicher, dass alles, was auf Band geschrieben wurde, wieder zurückgelesen werden kann.
  • Ich führe gelegentlich Stichprobenprüfungen durch, um sicherzustellen, dass das Sicherungsmedium intakt ist.

Ich bin bereits mit der allgemeinen Weisheit vertraut, dass "der beste Weg, ein Backup zu testen, darin besteht, es wiederherzustellen". Dies ist ein notwendiger Schritt, der jedoch NICHT ausreicht. Die Wiederherstellung der von Ihnen gesicherten Dateien garantiert NICHT, dass alle benötigten Dateien überhaupt gesichert wurden. Das ist das Problem, das ich lösen muss.


14
Keine Antwort, aber einmal im Jahr versuche ich, unser gesamtes Netzwerk innerhalb von VMs nur mit unseren Backups neu aufzubauen. Es kann ... sehr aufschlussreich sein und zeigt oft große Mängel bei den Sicherungsprozeduren.
Mark Henderson

3
Mark, ich denke nicht, dass das "keine Antwort" ist, ich denke, dass das eine außergewöhnlich gute Antwort ist, und ich fordere Sie auf, sie als richtige Antwort für die Abstimmung zu verwenden. In vielerlei Hinsicht ist der Test "Tut der Server das, was er früher getan hat" der bestmögliche.
MadHatter

Marks Vorschlag ist wirklich die einzige Möglichkeit, eine Wiederherstellung zu "testen": Wenn Sie ein System nur mit Installationsmedien des Basisbetriebssystems und Ihren Sicherungen vollständig wiederherstellen können, haben Sie den Test nicht bestanden.
voretaq7

Obwohl ich der Meinung bin, dass Marks Vorschlag ein ausgezeichneter Rat ist, geht er nicht speziell auf meine Frage ein.
Nic

Marks ist der richtige Weg. Ein Rückenwerkzeug kann "lügen". Arbeitete an einem Ort, an dem diejenigen, die mit Sicherungen beauftragt waren, der Ausgabe des Tools hinsichtlich der Integrität, des Speicherorts usw. der Sicherung vertrauten. Benötigte eine Sicherung, um zu verhindern, dass das Geschäft ausfällt. Die Antwort des Tools "Sicherungsdatei unbekannt". Das war ein CEM für eine Person.
jl.

Antworten:


4

Unter Linux stehen verschiedene Tools zur Verfügung, die für diese Aufgabe gut geeignet sind. Sie können mount.cifs verwenden , um freigegebene Windows-Ordner auf einem Linux-Host bereitzustellen , oder Sie können Cygwin einfach direkt auf dem Dateiserver ausführen .

Verwenden Sie vor dem Starten der Sicherung den findBefehl, um rekursiv aus einem angegebenen Verzeichnis zu iterieren und die Ergebnisse in eine Datei zu schreiben. Diese Liste kann zusammen mit dem Backup für die zukünftige Verwendung gespeichert werden.

find /path/to/dir > list_before.txt

Wenn Sie Prüfsummen für jede Datei berechnen lassen möchten, übergeben Sie einfach die Ausgabe md5. Dieser Befehl zeigt nur Dateinamen an, da Ordner keine Hashes benötigen.

find /path/to/dir -type f -print0 | xargs -0 md5 > md5_before.txt

Erstellen Sie nach dem Wiederherstellen der Sicherung mit demselben Befehl eine weitere Dateiliste diffund suchen Sie dann nach Unterschieden zwischen diesen. Idealerweise sollte dieser Befehl keine Ausgabe geben.

diff list_before.txt list_after.txt

Warum wurde ich dafür herabgestimmt?
Nic

Ich bin nicht sicher, warum dies herabgestuft wurde. Dies ist eine gute Möglichkeit, die Integrität einer Wiederherstellung zu testen (vorausgesetzt, Ihre Serverdaten haben sich nicht geändert). Wenn Sie relative Pfade verwenden, können Sie lokal auf einem "alternativen Wiederherstellungspfad" wiederherstellen. & auf diese Weise validieren. Was es jedoch nicht tut, ist zu beweisen, dass Ihre Wiederherstellung ausreicht, um Ihre Umgebung wiederherzustellen. Siehe die Kommentare zur ursprünglichen Frage Re: that.
voretaq7

@ voretaq7, es gibt eine sehr kleine Anzahl von Problemen, die bedeuten würden, dass dies nicht beweist, dass die Umgebung nicht wiederherstellbar ist. AFAICS behandelt jedoch speziell jeden Punkt, der in der ursprünglichen Frage gestellt wurde, ohne die Komplikation des Wechsels der Sicherungssoftware einzuführen. Und lässt sich mit einem der verfügbaren kostenlosen Posix-Kits problemlos in MSWindows implementieren. Ich verstehe nicht, wie die Kommentare an anderer Stelle erklären, warum Sie denken, dass dies kein gültiger Ansatz ist.
Symcbean

@symcbean, lies meinen Kommentar noch einmal. Ich glaube, dies ist ein gültiger Ansatz zum Testen des Inhalts einer Wiederherstellung, aber die einzige Möglichkeit zu testen, ob "alle Dateien, die Sie benötigen (um Ihre Umgebung wiederherzustellen)" gesichert wurden, besteht darin, eine Wiederherstellung in einer Reinraumumgebung durchzuführen. Sie können "alle Dokumentordner" sichern, überprüfen, ob deren Inhalt auf diese Weise korrekt ist, und dennoch etwas Wichtiges für die Wiederherstellung Ihrer Umgebung vermissen.
voretaq7

@ woretaq7: ja. Ich habe das verstanden - aber es ist nicht das, was in der ursprünglichen Frage gestellt wurde.
Symcbean

0

Aktivieren Sie zunächst die Option "Überprüfen" in der von Ihnen ausgewählten Sicherungs-App und bleiben Sie dann bei vollständigen Sicherungen, wo immer dies möglich ist.

Sie können zusätzliche Apps verwenden, um alle gewünschten Aktionen auszuführen. Diese dauern jedoch so lange wie die Sicherung. Vielleicht etwas, um die Wochenendauslastung Ihrer Server zu erhöhen?


Können Sie bestimmte Apps nennen, die dies tun?
Nic

Könnte sein. Welche Umgebung / welches Betriebssystem bevorzugen Sie? GUI oder Kommandozeile?
DutchUncle

Auf dem Dateiserver wird Windows Server 2008 ausgeführt. Ich kann jedoch einen Linux-Computer mit dem Dateiserver verbinden, wenn auf diese Weise bessere Tools verfügbar sind.
Nic

Halten Sie sich am besten an die Plattform, auf der die Sicherung tatsächlich durchgeführt wird, da dadurch ACLs erhalten bleiben und plattformübergreifende Feinheiten bestehen (z. B. verstehen Windows-Apps Inodes nicht sehr gut). Welche Sicherungslösung verwenden Sie unter Windows 2008 und warum können Sie nicht jede Nacht vollständige Sicherungen ausführen?
DutchUncle

1
@UnisoftDesign: Wie gehen Sie mit Off-Site- und Offline-Backups um?
Evan Anderson

0

Backup Exec (in neueren Versionen) sollte standardmäßig nach dem Backup überprüft werden. Überprüfen Sie es jedoch, sollte ein Kontrollkästchen in den Optionen sein.

Sie können sich die Option "Prüfsummen auf Medien schreiben" ansehen, um Prüfsummen nach jeder Sicherung zu speichern, und die Jobprotokolle speichern, um sie von Lauf zu Lauf zu vergleichen. Ich kenne das Format dieser Dateien nicht, aber Sie können möglicherweise Dateilisten oder zumindest Größenangaben zum Vergleich als Ausgangspunkt abrufen.


1
Dies ist eine gültige Antwort, aber ich dachte, ich sollte erwähnen, dass Backup Exec, das überprüft, ob es das hat, was es glaubt, nicht gleich Backup Exec ist, das alles hat, was Sie glauben, dass es haben sollte.
Chris Thorpe

@ Chris +1 Sie verstehen genau, was ich zu fragen versuche
Nic

@ChrisThorpe Oder sogar, dass Ihre Wiederherstellungsprozedur nichts ausgelassen hat.
Scott Pack

0

Ich verwende eine Kombination von Methoden für Backups. Ich verwende ein Online-Backup und mache wöchentliche Images meiner Produktionsserver. Ich teste monatlich Wiederherstellungen von zufälligen Dateien wie SQL-Datenbanken, hänge sie an und überprüfe, ob sie funktionsfähig sind.

Mit meinem Imaging mache ich P2V-Backups meiner Server mit SCVMM in einem großen SAN. Für DR-Tests kann ich sie alle in einer separaten IP-Umgebung aufrufen. Wenn ein Server jemals physisch ausfällt, kann ich eine VM des Servers aufrufen, die immer weniger als eine Woche alt ist, und alle Unstimmigkeiten aus der Online-Sicherung wiederherstellen. Ich habe auch einen einzelnen XP-Computer mit der Domäne verbunden, die sich in dieser geschlossenen Umgebung befindet, in der ich alle meine Apps und E-Mails testen kann. Ich mache das alle 6 Monate oder so, um eine gute DR-Umgebung zu gewährleisten.


0

Der beste Weg, um ein Backup zu überprüfen, besteht darin, es wiederherzustellen. Alles andere ist ein Kompromiss - nichts ist falsch an Kompromissen, aber Sie müssen wirklich Daten wiederherstellen, um sie zu testen.

In einer idealen Welt würden Sie alle 6 bis 12 Monate eine DR-Wiederherstellung durchführen und häufiger zufällige Dateien wiederherstellen. Jede Routine, bei der Sie mindestens einen Server auf einer virtuellen Maschine wiederherstellen und anschließend überprüfen, ob er startet, ist ein guter Anfang .

Dies ist etwas, das Sie zusätzlich zu jeder Überprüfungsroutine tun würden , über die die Sicherungssoftware selbst verfügt.


Weder das Wiederherstellen zufälliger Dateien noch das Starten des Computers bieten eine Garantie dafür, dass alle Originaldaten wiederhergestellt wurden.
Nic

1
Fairer Punkt, Nic, also würden Sie auch eine Überprüfung durchführen, wie ich sage - Sie schlagen vor, dass es eine gute gibt. Ich stehe aber auch zu der Idee, dass eine Wiederherstellung nach Kälte ein sehr wichtiger Bestandteil beim Testen eines Backups ist.
Rob Moir

Ich stimme definitiv zu, dass das Testen vollständiger Wiederherstellungen ein notwendiger Bestandteil der Validierung von Sicherungen ist.
Nic

0

Nicht das, was Sie hören möchten, aber ich habe den Luxus einer Referenzumgebung mit einem Verhältnis von 1: 1 für alle meine Plattformen für solche Tests.


0

Entschuldigung, kann keinen Kommentar abgeben.)

Soweit ich sagen kann (i Typ Windows nicht bin), Nic-Lösung sollte „nativ“ in Windows arbeitet (nur finden und erhalte UnixUtils für win32 oder ein ähnliches Paket).

Sie können diffVerzeichnisse auch direkt erstellen (optional mit Trailing > difffile):

diff -r /path/to/what-to-backup /path/to/restored-data

0

Ich würde die Dateien an einem Testspeicherort wiederherstellen und ein Tool wie Winmerge verwenden:

http://lifehacker.com/290657/compare-and-merge-files-and-folders-with-winmerge

um sie mit der Originalquelle zu vergleichen. Es gibt auch Windiff:

http://www.computerperformance.co.uk/w2k3/utilities/windiff.htm

Ich würde auch empfehlen, Ihre wertvollen Daten auf drei verschiedene Arten zu sichern, insbesondere wenn Sie nicht jeden Tag Backups überprüfen. Ich würde Backup Exec auf Band, eine externe rsnapshot-Dateisicherung und eine festplattenbasierte Sicherung vorschlagen:

http://backuppc.sourceforge.net/

lokal laufen. Versuchen Sie Backuppc, Sie werden mir danken. Wenn etwas schief geht, werden Sie die Vielfalt der Optionen zu schätzen wissen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.