Beispiele für das VShadow-Tool

In den folgenden Beispielen wird gezeigt, wie Sie das VShadow-Tool verwenden, um die gängigsten Aufgaben auszuführen:

Eine vollständige Liste der Befehlszeilenoptionen und deren Verwendung finden Sie unter VShadow-Tool und Beispiel.

Zugreifen auf Schattenkopieeigenschaften über ein CMD-Skript

Wenn Sie beim Erstellen von Schattenkopien das optionale Flag -script verwenden, erstellt VShadow eine CMD-Skriptdatei mit Umgebungsvariablen, die mit den neu erstellten Schattenkopien verknüpft sind, z. B.:

  • Die ID des Schattenkopiesets, die in der Umgebungsvariablen %VSHADOW _ SET _ ID% gespeichert ist
  • Die Schattenkopie-IDs, die in Variablen der Form %VSHADOW _ ID _ NNN% gespeichert werden, wobei NNN den Index des Quellvolumens in der VShadow-Befehlszeile darstellt
  • Die Schattenkopiegerätenamen, die in Variablen der Form %VSHADOW _ DEVICE _ NNN% gespeichert werden, wobei NNN der Index des Quellvolumens in der VShadow-Befehlszeile ist

Sie können die generierte CMD-Datei verwenden, um eingeschränkte Verwaltungsvorgänge für die Schattenkopien durchzuführen.

Hinweis

Das BackupComplete Writer-Ereignis wird gesendet, nachdem das Skript -exec ausgeführt wurde. VSS ruft die IVssBackupComponents::BackupComplete-Methode auf, um den Writern zu signalisieren, dass die Sicherung abgeschlossen ist, und die Writer können protokolle zu diesem Zeitpunkt möglicherweise abschneiden. Daher ist es wichtig zu überprüfen, ob die Schatten-/Sicherungskopie tatsächlich abgeschlossen wurde. Wenn bei der Sicherung ein Fehler auft ist, können Sie den Erstellungsprozess abbrechen, indem Sie im ausgeführten Skript/Befehl einen Exitcode ungleich 0 (null) zurückgeben. (Weitere Informationen finden Sie in der Dokumentation zum Exitbefehl in Windows Befehlszeilenreferenz.) Wenn der benutzerdefinierte Befehl mit einem Exitcode ungleich 0 (null) zurückgegeben wird, wird die Erstellung der Schattenkopie abgebrochen, und IVssBackupComponents::BackupComplete wird nicht aufgerufen.

Das folgende Beispiel zeigt, wie Sie eine persistente Schattenkopie über die Befehlszeile erstellen und das CMD-Skript verwenden, um sie verfügbar zu machen.

  1. vshadow -p -nw -script=SETVAR1.cmd c:
  2. Aufrufen von SETVAR1.cmd
  3. C: \>vshadow -el=%VSHADOW _ ID _ 1%,c: \ directory1

Zugreifen auf nichtpersistente Schattenkopien

Nichtpersistente Schattenkopien werden automatisch gelöscht, wenn das Programm, das sie erstellt (in diesem Fall VShadow), beendet wird. Um auf den Inhalt dieser Schattenkopien zu zugreifen, können Sie mit VShadow ein Skript ausführen, nachdem die Schattenkopien erstellt wurden, aber bevor das VShadow-Programm beendet wird.

Das folgende Beispiel zeigt, wie Sie die Befehlszeilenoption -exec verwenden, um ein Skript namens "enum.cmd" auszuführen:

vshadow -nw -exec=enum.cmd c:

Im ausgeführten Skript können Sie auch das generierte SETVAR-Skript in diesem benutzerdefinierten Befehl ausführen. Dadurch kann das Skript direkt auf den Inhalt der Schattenkopien zugreifen. Denken Sie daran, dass das Schattengerät aus der Umgebungsvariablen VSHADOW _ DEVICE _ NNN abgerufen werden kann.

Hier sehen Sie ein Beispielskript für "enum.cmd":

call SETVAR1.cmd
for /R %VSHADOW_DEVICE_1%\ %%i in (*.*) do @echo %%i

Dies ist die Befehlszeile zum Ausführen des Skripts "enum.cmd":

vshadow -nw -exec=c: \ enum.cmd -script=setvar1.cmd c:

Kopieren einer Datei aus einer Schattenkopie

Das folgende Beispiel zeigt, wie eine Datei aus einer Schattenkopie kopiert wird.

  1. dir > c: \somefile.txt
  2. vshadow -p -nw -script=SETVAR1.cmd c:
  3. Aufrufen von SETVAR1.cmd
  4. copy %VSHADOW _ DEVICE _ 1% \somefile.txt c: \ somefile _bak.txt

Aufzählen aller Dateien auf einem Schattenkopiegerät

Das folgende Beispiel zeigt, wie sie alle Dateien auf einem Schattenkopiegerät aus einer Batchdatei aufzählen.

  1. dir > c: \somefile.txt
  2. vshadow -p -nw -script=SETVAR1.cmd c:
  3. Aufrufen von SETVAR1.cmd
  4. für /R %VSHADOW _ DEVICE _ 1% \ %%i in ( * ) do @echo %%i

Importieren einer transportierbaren Schattenkopie

Um eine transportierbare Schattenkopie auf einem Computer zu erstellen und auf einen anderen Computer zu importieren, müssen Sie über zwei Computer verfügen, die (über eine SAN-Konfiguration) mit einem Speicherarray verbunden sind, das VSS-Hardwareschattenkopien unterstützt. Auf jedem Computer muss ein VSS-Hardwareanbieter installiert sein.

Das folgende Beispiel zeigt, wie die Schattenkopie erstellt und importiert wird.

  1. Erstellen Sie den Schattenkopiesatz auf Computer A (dem Produktionsserver), indem Sie nach der Eingabeaufforderung den folgenden Befehl eingeben:

    vshadow -p -t=bc1.xml

    Dadurch werden keine Schattenkopiegeräte auf Computer A verfügbar.

  2. Kopieren Sie das Sicherungskomponentendokument (bc1.xml) von Computer A auf Computer B.

  3. Importieren Sie das Schattenset auf Computer B, indem Sie den folgenden Befehl eingeben:

    vshadow -i=bc1.xml

Optional können Sie diese Schattenkopien als Laufwerkbuchstaben oder bereitgestellte Ordner verfügbar machen. Außerdem könnten Sie den Schattensatz möglicherweise durchbrechen, um die neuen Schattenkopievolumes mit Lese-/Schreibzugriff zu beschriften.

Um den Schattensetverwaltungsprozess zu automatisieren, können Sie die Befehlszeilenoption -script verwenden, um das CMD-Skript mit den Schattenkopie-IDs zu generieren. Anschließend können Sie das generierte Skript zusammen mit den Sicherungskomponenten auf den anderen Computer kopieren.

Das folgende Beispiel zeigt, wie transportable Schattenkopien mithilfe von CMD-Skripts erstellt, verfügbar und unterbricht werden.

  1. Erstellen Sie den Schattenkopiesatz auf Computer A (dem Produktionsserver) wie folgt über die Befehlszeile:

    vshadow -p -t=bc1.xml -script=sc1.cmd

    Geben Sie die Option -script an, um das Skript zu generieren, das die richtigen Umgebungsvariablendefinitionen enthält. Beachten Sie, dass dadurch keine Schattenkopiegeräte auf Computer A verfügbar sind.

  2. Kopieren Sie das Sicherungskomponentendokument (bc1.xml) und das generierte Skript (sc1.cmd) von Computer A auf Computer B.

  3. Importieren Sie das Schattenset auf Computer B, indem Sie den folgenden Befehl eingeben:

    vshadow -i=bc1.xml

    Dadurch werden die erstellten Geräte auf Computer B verfügbar.

  4. Führen Sie das generierte Skript aus, um die Umgebungsvariablen für den Schattenkopiesatz zu legen, indem Sie den Dateinamen wie im folgenden Beispiel an der Eingabeaufforderung eingeben:

    sc1.cmd

    Dadurch werden die relevanten Umgebungsvariablen wie unter Access Shadow Copy Properties from a CMD Script (Zugriffsschattenkopieeigenschaften aus einem CMD-Skript) beschrieben festgelegt.

  5. Machen Sie die Schattenkopien auf Computer B verfügbar, indem Sie die folgenden Befehle eingeben:

    1. rmdir /s c: \ _ Bereitstellungspunkt
    2. mkdir c: \ _ Bereitstellungspunkt
    3. vshadow –el=%VSHADOW _ ID _ 1%,c: \ _ Bereitstellungspunkt

    Dadurch werden die erstellten Schattenkopiegeräte auf Computer B verfügbar.

  6. Brechen Sie den Schattenkopiesatz auf, um die Volumes schreibbar zu machen, indem Sie den folgenden Befehl eingeben:C: \>vshadow –bw=%VSHADOW _ SET _ ID%

Beachten Sie, dass nichtpersistente transportierbare Schattenkopien ebenfalls importiert, aber automatisch gelöscht werden, wenn der vshadow -i-Prozess beendet wird. Um die Schattenkopien zu importieren, bevor sie gelöscht werden, müssen Sie die Befehlszeilenoption -exec verwenden, wie unter Zugreifen auf nicht vorhandene Schattenkopien beschrieben.

Einschließlich Writer oder Komponenten

Standardmäßig nehmen alle Writer an der Erstellung von Schattenkopien teil. Um zu bestimmen, welche Writer und Komponenten in einem Schattenkopiesatz enthalten sein werden, verwenden Sie die Befehlszeilenoption -wm oder -wm2, wie unter Listing Writer Status and Metadata (Auflisten des Writerstatus und der Metadaten) beschrieben.

Um sicherzustellen, dass alle Komponenten eines Writers enthalten sind, verwenden Sie das optionale Flag -wi in einem der folgenden Formate:

  • vshadow -wi WriterName
  • vshadow -wi " Writer Name String"
  • vshadow -wi {WriterID}
  • vshadow -wi {InstanceID}

Um zu überprüfen, ob bestimmte Komponenten enthalten sind, verwenden Sie das optionale Flag -wi in einem der folgenden Formate:

  • vshadow -wi WriterName**: \**LogicalPath* \ * ComponentName
  • vshadow -wi " Writer Name String": \LogicalPath \ ComponentName
  • vshadow -wi {WriterID}: \LogicalPath \ ComponentName
  • vshadow -wi {InstanceID}: \LogicalPath \ ComponentName

In den folgenden Beispielen wird die Verwendung des optionalen Flags -wi gezeigt.

  • Angeben von WriterName: \ LogicalPath \ ComponentName:

    vshadow -wi="Registry Writer: \ Registry"

  • Angeben von {WriterID}:

    vshadow -wi={BE000CBE-11FE-4426-9C58-531AA6355FC4}

  • Angeben mehrerer Writer oder Komponenten:

    vshadow -wi="Registry Writer: \ Registry" -wi="COM+ REGDB Writer"

Ausschließen von Writern oder Komponenten

Um alle Writer auszuschließen, verwenden Sie das optionale Flag -nw beim Erstellen der Schattenkopie.

Um alle Komponenten eines Writers auszuschließen, verwenden Sie das optionale Flag -wx in einem der folgenden Formate:

  • vshadow -wx WriterName
  • vshadow -wx " Writer Name String"
  • vshadow -wx {WriterID}
  • vshadow -wx {InstanceID}

Um bestimmte Komponenten auszuschließen, verwenden Sie das optionale Flag -wx in einem der folgenden Formate:

  • vshadow -wx WriterName**: \**LogicalPath* \ * ComponentName
  • vshadow -wx " Writer Name String": \LogicalPath \ ComponentName
  • vshadow -wx {WriterID}: \LogicalPath \ ComponentName
  • vshadow -wx {InstanceID}: \LogicalPath \ ComponentName

In den folgenden Beispielen wird die Verwendung des optionalen Flags -wx veranschaulicht.

  • Angeben von WriterName: \ LogicalPath \ ComponentName:

    vshadow -wx="Registry Writer: \ Registry"

  • Angeben von {WriterID}:

    vshadow -wx={BE000CBE-11FE-4426-9C58-531AA6355FC4}

  • Angeben mehrerer Writer oder Komponenten:

    vshadow -wx="Registry Writer: \ Registry" -wx="COM+ REGDB Writer"

Breaking Shadow Copy Sets mithilfe der BreakSnapshotSetEx-Methode

In den folgenden Beispielen wird die Verwendung der Befehlszeilenoption -bex veranschaulicht.

  • Geben Sie an, dass die Schattenkopie-LUN vom Host maskiert wird:

    vshadow -bex -mask

  • Geben Sie an, dass die Schattenkopie-LUN für den Host als Lese-/Schreibvolume verfügbar gemacht wird:

    vshadow -bex -rw

  • Geben Sie an, dass die Schattenkopie-LUN für den Host als Lese-/Schreibvolume verfügbar gemacht wird und dass keine der Datenträgersignaturen auf den Schattenkopie-LUNs auf die der ursprünglichen LUNs zurückgesetzt wird:

    vshadow -bex -norevert