Freigeben über


Beispiele für VShadow-Tools

Die folgenden Beispiele zeigen, wie Sie das VShadow-Tool zum Ausführen der gängigsten Aufgaben verwenden:

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

Zugriff auf Schattenkopieeigenschaften aus einem CMD-Skript

Wenn Sie beim Erstellen von Schattenkopien das optionale Flag -script verwenden, erstellt VShadow eine CMD-Skriptdatei mit Umgebungsvariablen im Zusammenhang mit den neu erstellten Schattenkopien, z. B. den folgenden:

  • Die Schattenkopiesatz-ID, die in der Umgebungsvariable %VSHADOW_SET_ID% gespeichert wird
  • Die Schattenkopie-IDs, die in Variablen des Formulars %VSHADOW_ID_NNN% gespeichert sind, wobei NNN den Index des Quellvolumes in der Befehlszeile von VShadow darstellt.
  • Die Gerätenamen der Schattenkopien, die in Variablen des Formulars %VSHADOW_DEVICE_NNN% gespeichert sind, wobei NNN der Index des Quellvolumes in der Befehlszeile von VShadow ist.

Sie können die generierte CMD-Datei verwenden, um begrenzte Verwaltungsvorgänge an den 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 an diesem Punkt potenziell kürzen. Daher ist es wichtig zu überprüfen, ob die Schattenkopie/die Sicherung tatsächlich abgeschlossen ist. Wenn die Sicherung fehlgeschlagen ist, können Sie den Erstellungsprozess abbrechen, indem Sie im ausgeführten Skript/Befehl einen Exit-Code ungleich Null zurückgeben. (Weitere Informationen finden Sie in der Dokumentation für den Exit-Befehl in der Windows-Befehlszeilenreferenz.) Wenn der benutzerdefinierte Befehl mit einem Ausgangscode ungleich null zurückgegeben wird, wird die Erstellung der Schattenkopie abgebrochen und IVssBackupComponents::BackupComplete wird nicht aufgerufen.

 

Das folgende Beispiel zeigt, wie Sie über die Befehlszeile eine dauerhafte Schattenkopie erstellen und diese mit dem CMD-Skript verfügbar machen.

  1. vshadow -p -nw -script=SETVAR1.cmd c:
  2. call SETVAR1.cmd
  3. C:\>vshadow -el=%VSHADOW_ID_1%,c:\directory1

Zugriff auf nicht persistente Schattenkopien

Nicht persistente Schattenkopien werden automatisch gelöscht, wenn das Programm, das sie erstellt (in diesem Fall VShadow), beendet wird. Um auf den Inhalt dieser Schattenkopien zuzugreifen, können Sie mit VShadow nach der Erstellung der Schattenkopien, aber vor dem Beenden des VShadow-Programms ein Skript ausführen.

Das folgende Beispiel zeigt, wie Sie mit der Befehlszeilenoption -exec ein Skript namens „enum.cmd“ ausführen:

vshadow -nw -exec=enum.cmd c:

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

Hier ist ein Beispiel für das Skript enum.cmd:

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

Hier ist die Befehlszeile zum Ausführen des enum.cmd-Skripts:

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

Kopieren einer Datei aus einer Schattenkopie

Im folgenden Beispiel wird gezeigt, wie eine Datei aus einer Schattenkopie kopiert wird.

  1. dir > c:\somefile.txt
  2. vshadow -p -nw -script=SETVAR1.cmd c:
  3. call 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 alle Dateien auf einem Schattenkopiegerät aus einer Batchdatei aufgelistet werden.

  1. dir > c:\somefile.txt
  2. vshadow -p -nw -script=SETVAR1.cmd c:
  3. call SETVAR1.cmd
  4. for /R %VSHADOW_DEVICE_1%\ %%i in (*) do @echo %%i

Importieren einer transportierbaren Schattenkopie

Um eine transportierbare Schattenkopie auf einem Computer zu erstellen und sie auf einem anderen Computer zu importieren, benötigen Sie zwei Computer, die (über eine SAN-Konfiguration) mit einem Speicher-Array verbunden sind, das VSS-Hardware-Schattenkopien unterstützt. Ein VSS-Hardwareanbieter muss auf jedem Computer installiert sein.

Im folgenden Beispiel wird gezeigt, wie die Schattenkopie erstellt und importiert wird.

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

    vshadow -p -t=bc1.xml

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

  2. Kopieren Sie das Dokument für Sicherungskomponenten (bc1.xml) von Computer A auf Computer B.

  3. Importieren Sie den Schattensatz 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. Darüber hinaus könnten Sie möglicherweise den Schattensatz entfernen, um den neuen Schattenkopie-Volumes Lese- und Schreibzugriff zu ermöglichen.

Um den Schattensatzverwaltungsprozess 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 Sie transportierbare Schattenkopien mithilfe von CMD-Skripts erstellen, verfügbar machen und entfernen.

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

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

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

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

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

    vshadow -i=bc1.xml

    Dadurch werden die erstellten Geräte auf Computer B angezeigt.

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

    sc1.cmd

    Dadurch werden die relevanten Umgebungsvariablen festgelegt, wie in „Access Shadow Copy Properties“ über ein CMD-Skript beschrieben.

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

    1. rmdir /s c:\mount_point
    2. mkdir c:\mount_point
    3. vshadow –el=%VSHADOW_ID_1%,c:\mount_point

    Dadurch werden die erstellten Schattenkopiegeräte auf Computer B angezeigt.

  6. Brechen Sie den Schattenkopiesatz ab, um die Volumes beschreibbar zu machen, indem Sie den folgenden Befehl eingeben:C:\>vshadow –bw=%VSHADOW_SET_ID%

Beachten Sie, dass nicht persistente transportierbare Schattenkopien ebenfalls importiert werden können, aber sie werden automatisch gelöscht, 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 in „Auf nicht persistente Schattenkopien zugreifen“ beschrieben.

Einbeziehen von Writern oder Komponenten

Standardmäßig nehmen alle Writer an der Erstellung von Schattenkopien teil. Um zu bestimmen, welche Writer und Komponenten in einen Schattenkopiesatz aufgenommen werden, verwenden Sie die Befehlszeilenoption -wm oder -wm2 wie in Aufführen von Writer-Status und Metadaten beschrieben.

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

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

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

  • vshadow-wiWriterName**:\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 dargestellt.

  • Angabe von WriterName:\LogicalPath\ComponentName:

    vshadow -wi="Registry Writer:\Registry"

  • Angabe von {WriterID}:

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

  • Angeben von mehr als einem Writer oder einer Komponente:

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

Ausschließen von Writern oder Komponenten

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

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

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

Verwenden Sie zum Ausschließen bestimmter Komponenten das optionale Flag -wx in einem der folgenden Formate:

  • vshadow-wxWriterName**:\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 gezeigt.

  • Angabe von WriterName:\LogicalPath\ComponentName:

    vshadow -wx="Registry Writer:\Registry"

  • Angabe von {WriterID}:

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

  • Angeben von mehr als einem Writer oder einer Komponente:

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

Schattenkopiesätze mit der BreakSnapshotSetEx-Methode entfernen

In den folgenden Beispielen wird gezeigt, wie die Befehlszeilenoption -bex verwendet wird.

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

    vshadow-bex-mask

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

    vshadow-bex-rw

  • Gibt an, dass die Schattenkopie-LUN dem Host als Lese-/Schreibvolume zugänglich gemacht wird und dass keine der Datenträgersignaturen auf den Schattenkopie-LUNs auf die der ursprünglichen LUNs zurückgesetzt werden:

    vshadow-bex-norevert