Übersicht über die tatsächliche Sicherung von Dateien

VSS ermöglicht es einem Anforderer, auf die Schattenkopie von Volumes zuzugreifen, die Daten für die Sicherung enthalten, und Daten auf Sicherungsmedien zu kopieren. Schreiber fahren in der Regel mit dem normalen Betrieb während dieses Prozesses fort. Weitere Informationen finden Sie unter Übersicht über die Verarbeitung einer Sicherung unter VSS.

Die folgende Tabelle zeigt die Reihenfolge der Aktionen und Ereignisse, die für die Sicherung von Dateien erforderlich sind.

Anfordereraktion Ereignis Writer-Aktion
Zugreifen auf Dateien auf dem von Schatten kopierten Volume (siehe IVssBackupComponents::GetSnapshotProperties, VSS_SNAPSHOT_PROP) Keine Keine
Generieren Sie die Liste der zu sichernden Dateien, und kopieren Sie Dateidaten auf Sicherungsmedien. Keine Keine
Geben Sie den Erfolg oder Fehler der Sicherung mit IVssBackupComponents::SetBackupSucceeded an. Keine Keine
Der Anforderer gibt an, dass die Sicherung abgeschlossen wurde, indem er IVssBackupComponents::BackupComplete aufruft. BackupComplete Führen Sie nach der Sicherung eine Bereinigung durch (siehe CVssWriter::OnBackupComplete, IVssWriterComponents, IVssComponent).
Der Anforderer wartet, bis alle Autoren den Empfang des IVssBackupComponents::BackupComplete-Ereignisses mithilfe von IVssAsync bestätigen. Außerdem sollte writer status überprüft werden (siehe IVssBackupComponents::GatherWriterStatus, IVssBackupComponents::GetWriterStatus). Der Anforderer muss zu diesem Zeitpunkt GatherWriterStatus aufrufen, damit die Writersitzung auf einen abgeschlossenen Zustand festgelegt wird. Hinweis: Dies ist nur unter Windows Server 2008 mit Service Pack 2 (SP2) und früher erforderlich.
Keine Keine
Speichern Sie das Dokument der Sicherungskomponenten und jedes Writer-Metadatendokument in XML-Dokumenten, die auf die Sicherungsmedien geschrieben werden können (siehe IVssBackupComponents::SaveAsXML und IVssExamineWriterMetadata::SaveAsXML). Keine Keine

 

Writeraktionen während der Sicherung von Dateien

Nach Abschluss der Schattenkopie sollten alle E/A-Vorgänge auf dem gesicherten System fortgesetzt werden können, ohne die Integrität der Sicherung zu beeinträchtigen. Dies ist einer der Hauptgründe für die Schattenkopie-Funktionalität.

Daher gibt es wie in der Ermittlungsphase (siehe Übersicht über die Backup Discovery-Phase) nur wenige Anforderungen an die Writer, während Dateien tatsächlich gesichert werden.

Nachdem eine Sicherung abgeschlossen wurde und ein Anforderer ein BackupComplete-Ereignis generiert hat, ruft VSS die CVssWriter::OnBackupComplete-Methode jedes Writers auf, eine virtuelle Methode, die standardmäßig einfach TRUE zurückgibt. Autoren können jedoch die Standardimplementierung überschreiben und aktionen wie das Entfernen der verbleibenden temporären Dateien ausführen oder die IVssWriterComponents-Schnittstelle verwenden, mit der sie aufgerufen wird, um den Status der Sicherung jeder der enthaltenen expliziten Komponenten (und aller komponentensätze , die sie möglicherweise definieren) zu überprüfen, indem sie das entsprechende IVssComponent-Objekt abrufen. Der Writer kann dann den Erfolg oder Fehler der Sicherung ermitteln und darauf reagieren, indem er IVssComponent:GetBackupSucceeded aufruft. Der von IVssComponent:GetBackupSucceeded zurückgegebene Wert ist nur true , wenn alle explizit in die Komponente eingeschlossenen Dateien und alle implizit enthaltenenUnterkomponenten erfolgreich gesichert wurden.

Wenn der Aufruf von CVssWriter::OnBackupComplete abgeschlossen ist, sollte der Anforderer IVssBackupComponents::GatherWriterStatus und IVssBackupComponents::GetWriterStatus (für jeden Writer) ein letztes Mal aufrufen. Der Arbeitsspeicher des Writersitzungszustands ist eine begrenzte Ressource, und Writer müssen schließlich Sitzungszustände wiederverwenden. Dieser Schritt markiert den Zustand der Sicherungssitzung des Writers als abgeschlossen und benachrichtigt VSS, dass dieser Sicherungssitzungsslot durch einen nachfolgenden Sicherungsvorgang wiederverwendet werden kann.

Anfordereraktionen während der Sicherung von Dateien

Wie unter Übersicht über die Sicherungsermittlungsphase beschrieben, sollten Sie die tatsächliche Liste der zu sichernden Dateien erst generieren, wenn die Schattenkopie abgeschlossen ist.

Das Geräteobjekt , das der Schattenkopie eines bestimmten Volumes entspricht, wird verwendet, um zugriff auf Dateien auf dem kopierten Schattenvolume zu erhalten, nachdem die Schattenkopie abgeschlossen ist. Das Geräteobjekt wird aus dem VSS_SNAPSHOT_PROP-Objekt abgerufen, das von IVssBackupComponents::GetSnapshotProperties zurückgegeben wird. Jede Schattenkopie eines Schattenkopiesatzes verfügt über ein eigenes Geräteobjekt.

Das Geräteobjekt und die Pfade, die aus den Spezifikationen der Komponenten des Writer-Metadatendokuments abgerufen wurden, werden dann verwendet, um Dateien für die Sicherung auszuwählen. Weitere Informationen finden Sie unter Anforderungszugriff auf schattenkopierte Daten .

Welche Dateien in die Sicherungsliste aufgenommen werden, hängt von der Art der jeweiligen Sicherung, von der Auswählbarkeit der Komponente für die Sicherung und der logischen Pfadstruktur des Writers ab (siehe Arbeiten mit Selektivität für die Sicherung).

Zusätzlich zu den dateien, die in den Komponenten angegeben sind, kann ein bestimmter Writer auch dateien explizit ausgeschlossen haben. Der Dateiausschluss muss immer beachtet werden, unabhängig davon, welche Komponenten ausgewählt werden.

Wie unter Übersicht über die Sicherungsermittlungsphase beschrieben, kann ein eingebundener Ordner oder Analysepunkt in einer Schattenkopie angezeigt und gesichert werden. Ein eingebundener Ordner oder Analysepunkt kann jedoch nicht auf dem von Schatten kopierten Volume durchlaufen werden (siehe Arbeiten mit eingebundenen Ordnern und Analysepunkten).

Vorsicht sollte auch während eines Sicherungsvorgangs erfolgen, wenn der von IVssWMFiledesc::GetAlternateLocation zurückgegebene alternative Pfad nicht leer ist. Ein alternativer Pfad unterscheidet sich von einer alternativen Standortzuordnung dadurch, dass er nur während Sicherungen verwendet wird, während eine alternative Standortzuordnung nur bei Wiederherstellungen verwendet wird.

In diesem Fall sollen die Daten nicht von ihrem normalen Speicherort (angegeben durch IVssWMFiledesc::GetPath) gesichert werden, sondern von dem von IVssWMFiledesc::GetAlternateLocation zurückgegebenen Speicherort. Bei der Wiederherstellung sollte die Datei an ihren normalen Speicherort zurückgegeben werden. Weitere Informationen finden Sie unter Nicht standardmäßige Sicherungs- und Wiederherstellungsspeicherorte .

VSS legt keine Einschränkungen hinsichtlich des tatsächlichen Mechanismus der Sicherung von Daten auf einem Speichermedium oder der Wahl dieses Mediums fest. Es wird jedoch empfohlen, die Dateien der einzelnen Komponenten jedes instance Writers als Einheit zu verarbeiten. Unter Generieren eines Sicherungssatzes finden Sie eine Erläuterung der bewährten Methoden beim Generieren der Liste der Sicherungsdateien.

Der Erfolg oder Fehler beim Sichern einer der Dateien, die von einer bestimmten Komponente verwaltet werden, und (wenn sie einen Komponentensatz definiert) deren Unterkomponenten für einen bestimmten Writer instance sollte im Dokument Sicherungskomponenten beibehalten werden, indem IVssBackupComponents::SetBackupSucceeded aufgerufen wird. Wenn eine datei, die von einer Komponente oder einem Komponentensatz verwaltet wird, nicht gesichert werden kann, wird davon ausgesagt, dass die gesamte Komponente fehlschlägt. Genaue Informationen darüber, welche Datei nicht gesichert werden konnte, sollten immer protokolliert werden.

Entwickler finden es möglicherweise hilfreich, einen Datensatz auf dem Sicherungsmedium zu speichern, dessen Dateien gesichert werden, die Komponenten und Komponentensätze, in denen sie Mitglied waren, ihre Spezifikation und die ursprünglichen Pfade. Es kann auch nützlich sein, Informationen wie die Komponentendefinition jedes Writers zu speichern. Dies kann den Abrufvorgang vereinfachen. Solche Details bleiben jedoch dem entwickler des Anforderers überlassen.

Da Autoren das Sicherungskomponentendokument ändern können, während sie das PostSnapshot-Ereignis behandeln, das durch den Aufruf von IVssBackupComponents::D oSnapshotSet des Anforderers generiert wird, sollte das Dokument für Sicherungskomponenten erst gespeichert werden, nachdem dieser asynchrone Aufruf abgeschlossen wurde.

Es kann zwar früher stattfinden, aber dies ist auch ein bequemer Zeitpunkt, um das Writer-Metadatendokument zu speichern.

Es ist sehr wichtig, dass sowohl das Dokument der Sicherungskomponenten als auch die Writer-Metadatendokumente mithilfe von IVssBackupComponents::SaveAsXML und IVssExamineWriterMetadata::SaveAsXML beibehalten werden. Andernfalls ist es nicht möglich, VSS während der Dateiwiederherstellung zu nutzen.

Zusätzlich zum Speichern der ursprünglichen Metadaten finden es einige Sicherungsanwendungen möglicherweise nützlich, eine Kopie ihrer eigenen Liste der Dateien (in ihrem eigenen optimierten Format) und der zugehörigen Writer-, Komponenten-, Wiederherstellungsprozedur- und Speicherortinformationen auf den Sicherungsmedien für den späteren Abruf zu speichern. Eine solche Liste kann verwendet werden, um die Analyse und den Vergleich von Writer-Metadatendokumenten und den Sicherungskomponentendokumenten während der Wiederherstellung zu vermeiden.

Volumes, die gesichert werden, verfügen möglicherweise über Daten, die nicht von VSS-Writern verwaltet werden. Diese Daten können und sollten auf dem kopierten Schattenvolume gesichert werden, wo sie sich in einem absturzkonsistenten Zustand befinden. Weitere Informationen finden Sie unter Sicherungen ohne Writer-Beteiligung .