Es ist geplant, eine Schattenkopie eines ziemlich großen, E / A-lastigen Volumens zu erstellen. Es ist 350 GB groß und enthält einen dateisystembasierten Volltextindex, der in Hunderten von Ordnern und Hunderttausenden von winzigen Dateien organisiert ist, die für eine erfolgreiche Wiederherstellung in einem konsistenten Zustand sein müssen.
Derzeit wird der Indexer gestoppt, die Sicherungsaufgabe ausgeführt und der Indexer neu gestartet. Dies führt dazu, dass der Index während der Sicherung stundenlang nicht verfügbar ist. Ich möchte konsistente Backups per Schattenkopie erstellen, idealerweise ohne den Indexer jemals stoppen zu müssen.
Also habe ich Shadow Copy für dieses Volume aktiviert und es so konfiguriert, dass einmal pro Nacht ein Snapshot auf einem anderen Volume erstellt wird.
Jetzt bin ich etwas ratlos - wie kann ich auf die gesamte Schattenkopie zugreifen, um ein Backup zu erstellen? Ich stelle mir ein schreibgeschütztes Laufwerk vor, das die Dateien so enthält, wie sie zum Zeitpunkt des letzten Schnappschusses waren, aber vielleicht funktionieren die Dinge ganz anders.
Betriebssystem ist Windows Server 2003 SP2, Sicherungssoftware ist CommVault Galaxy 7.0.
BEARBEITEN : Beachten Sie, dass in der Zwischenzeit zwei Antworten erstellt wurden, die die erforderliche Funktionalität in Form eines Skripts implementieren:
- VBScript (von mir)
- PowerShell (von John Homer )
quelle
Antworten:
Um das Rad neu zu erfinden, präsentiere ich Ihnen Tomalaks exzellentes Drehbuch (siehe oben), das jedoch vollständig in Powershell neu geschrieben wurde !!! Der Hauptgrund, warum ich das getan habe, war, die unglaublichen Kräfte von Powershell zu evangelisieren, aber auch, weil ich vbscript mit meinem ganzen Wesen verachte.
Es ist meistens ein Merkmal, das identisch ist, aber ich habe einige Dinge aus verschiedenen Gründen etwas anders implementiert. Die Debugging-Ausgabe ist definitiv ausführlicher.
Eine sehr wichtige Sache zu beachten ist, dass diese Version die Betriebssystemversion und die Bitness erkennt und die entsprechende Version von vshadow.exe aufruft. Ich habe unten eine Tabelle eingefügt, um zu zeigen, welche Versionen von vshadow.exe verwendet werden sollen, wo sie zu erhalten sind und wie sie zu benennen sind.
Hier sind die Nutzungsinformationen:
Hier ist das Skript:
Hier sind die zu verwendenden Versionen von vshadow.exe:
quelle
Also ... ich habe an einem kleinen VBScript gearbeitet, das Folgendes kann:
Es basiert auf
vshadow.exe
( Dokumentation ), einem Teil des von Microsoft erhältlichen Volume Shadow Copy Service SDK 7.2 . Ich habe mit dieser Version gearbeitet: " VSHADOW.EXE 2.2 - Beispielclient für Volume Shadow Copy, Copyright (C) 2005 Microsoft Corporation. "Im Grunde ist es eine nette kleine Hülle um diese vier vshadow-Befehle:
Hier ist der Hilfebildschirm:
Hier einige Beispielausgaben:
Und hier ist das Skript selbst. Es gilt der übliche Haftungsausschluss: Die Software wird unverändert zur Verfügung gestellt, ich gebe keine Gewährleistungen, die Verwendung erfolgt auf eigenes Risiko, wenn etwas kaputt geht, ist nur Sie selbst schuld. Ich habe es allerdings ziemlich gründlich getestet und es funktioniert gut für mich. Fühlen Sie sich frei, mich über Fehler in den Kommentaren unten zu benachrichtigen.
Ich hoffe das hilft jemandem. Fühlen Sie sich frei, es in Übereinstimmung mit cc-by-sa zu verwenden . Ich bitte Sie nur, den Link intakt zu lassen, der hierher zurückführt.
quelle
vssadmin list shadows
um alle verfügbaren Schattenkopien aufzulisten. Sie erhalten eine Ausgabe wie diese ...Notieren Sie sich den
Shadow Copy Volume
Namen für die gewünschte Schattenkopie (am einfachsten in die Zwischenablage).Hängen Sie die Schattenkopie ein
Unter Windows 2003 ...
Sie müssen die Resource Kit-Tools für 2003 herunterladen, falls Sie sie noch nicht haben.
Geben Sie den Befehl ein ...
... wo
c:\shadow
ist der Pfad, in dem die Schattenkopie erscheinen soll, und\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy69
der Name, den Sie oben kopiert haben. Beachten Sie, dass Sie am Ende des Namens der Schattenkopie einen Backslash hinzufügen müssen !Unter Windows 2008 und höher ...
Geben Sie den Befehl ein ...
... wo
c:\shadow
ist der Pfad, in dem die Schattenkopie erscheinen soll, und\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy69
der Name, den Sie oben kopiert haben. Beachten Sie, dass Sie am Ende des Namens der Schattenkopie einen Backslash hinzufügen müssen !XCOPY
), um auf die Dateien zuzugreifenc:\shadow
.quelle
list shadows
?Sie verstehen falsch, wie VSS mit dem Dateisystem funktioniert (wie es mit Datenbanken funktioniert, ist völlig anders). Im Dateisystem wird VSS verwendet, um die Funktion "Vorherige Versionen" zu implementieren, die ausschließlich zum Erstellen von Snapshot- Änderungen an Dateien und Ordnern zu vordefinierten Zeitpunkten für die Wiederherstellung über die Registerkarte "Vorherige Versionen" in Clients verwendet wird. Diese Änderungen werden dann mit den Daten auf dem Volume zum Erstellen des Wiederherstellungssatzes zusammengeführt. Es hängt also davon ab, ob das ursprüngliche Volume noch vorhanden ist, um die Wiederherstellung durchzuführen, was mit anderen Worten für die ordnungsgemäße Sicherung und Wiederherstellung unbrauchbar ist.
Ich denke, Sie müssen zurücktreten, wie Sie dies tun möchten, und noch einmal darüber nachdenken, was Sie tun möchten.
350 GB Daten sind nicht wirklich viel, und ich bin bereit zu wetten, dass der Prozentsatz dessen, was täglich aktiv genutzt wird, recht gering ist. Haben Sie darüber nachgedacht, nächtliche differenzielle Sicherungen mit vollständigen Sicherungen nur am Wochenende durchzuführen? Oder die geplante DFS-Replikation auf einen alternativen Speicher verwenden, um einen "Snapshot" zu erhalten (der dann gesichert wird)?
quelle
Hoffe das ist was du willst:
diskshadow -s vssbackup.cfg
vssbackup.cfg:
quelle
Mit der VSS-API ist es möglich, einen "Snapshot" des Volumes zu erstellen. Dann müssten Sie diesen Snapshot mounten, um ihn zu kopieren. Ich bin mit einem inzwischen toten Produkt vertraut, das diese Technik zum Replizieren von Daten verwendete, obwohl Dateien ausschließlich von anderen Prozessen im Live-Dateisystem geöffnet wurden. Es können gültige Fragen dazu gestellt werden, ob die Dateien im VSS-Snapshot selbstkonsistent sind, wenn sie von Apps geschrieben werden, die nicht in die VSS-APIs integriert sind. Möglicherweise gibt es andere Produkte, die ähnliche Funktionen bieten.
quelle
Kurze Antwort: Das kannst du nicht.
Etwas längere Antwort: Der Schattenkopiedienst kann programmgesteuert über seine API verwendet werden, um das Sichern geöffneter Dateien zu ermöglichen. Der Dienst erstellt jedoch keine vollständigen Snapshots des Systems, sondern nur teilweise Snapshots.
quelle