Erstellungsprozess für Schattenkopien

Im Folgenden finden Sie eine ausführliche Beschreibung der Rolle des Hardwareanbieters bei der Erstellung eines Schattenkopiesets. Ein Diagramm dieses Prozesses finden Sie unter Schattenkopieerstellung für Anbieter.

  1. Wenn der Anfordernde jedes Volume dem Schattenkopiesatz hinzufügt, bestimmt VSS die zugeordneten LUNs. Beispielsweise kann ein übergreifendes Volume aus mehreren LUNs bestehen. VSS erstellt eine anfängliche _ VDS-LUN-INFORMATION _ unter Verwendung physischer Geräteinformationen für jede LUN.

  2. VSS ruft AreLunsSupported auf, um zu bestimmen, ob der Anbieter eine Schattenkopie für diese LUN unterstützt. Der Hardwareanbieter ermittelt mit den _ VDS-LUN-INFORMATIONEN, _ ob die LUNs unterstützt werden. Diese Bestimmung muss ganz oder gar nichts sein. Derselbe Hardwareanbieter muss alle LUNs unterstützen, die zu einem bestimmten Volume beitragen. Im Beispiel für ein übergreifendes Volume kann der Anbieter nicht angeben, dass er nur eine der LUNs unterstützt, aus denen das Volume besteht.

  3. Für jedes Volume im Schattenkopiesatz ruft VSS IVssHardwareSnapshotProvider::BeginPrepareSnapshot mit dem gleichen Array von _ VDS-LUN-INFORMATIONSstrukturen _ auf. Innerhalb eines einzelnen Aufrufs sind alle LUNs im Array eindeutig, aber dieselbe LUN kann in einem nachfolgenden Aufruf angezeigt werden, wenn dieselbe LUN zu mehreren Volumes bei trägt. Der Anbieter muss diesen Fall ordnungsgemäß behandeln.

  4. Unmittelbar nach IVssProviderCreateSnapshotSet::EndPrepareSnapshotssetzt VSS die Flags schreibgeschützt, ausgeblendet, ohne Laufwerkbuchstaben und Schattenkopie für alle betroffenen LUNs. Die Flags werden mit ausgeblendeten Sektoren auf MBR-Datenträgern oder betriebssystemspezifischen Bits im Partitionsheadereintrag auf GPT-Datenträgern implementiert. Die Flags bewirken, dass alle Volumes auf den betroffenen Datenträgern auf den empfangenden Computern als schreibgeschützt und ausgeblendet verfügbar sind. Beachten Sie, dass die schattenkopierten LUNs in dieser Phase nicht übernommen wurden, sodass im Falle eines Systemabsturzes die Flags und die ursprüngliche LUN nicht betroffen sind. Das heißt, alle Volumes in der ursprünglichen LUN werden wie gewohnt behandelt und behalten ihre ursprünglichen Laufwerkbuchstabenzuweisungen, bereitgestellten Ordner und den Lese-/Schreibstatus bei.

    Hinweis

    Anbieter sollten nicht versuchen, eines der LUN-Flags zu ändern.

  5. Bei CommitSnapshotswerden die Schattenkopie-LUNs commitiert. CommitSnapshots sollten innerhalb weniger Sekunden zurückgegeben werden, da der gesamte Erstellungsprozess für Schattenkopien wahrscheinlich fehlschlägt.

  6. Nach CommitSnapshotswerden die Flags für alle ursprünglichen LUNs, die an der Schattenkopie beteiligt sind, von VSS entiert. Da die Schattenkopie-LUNs an diesem Punkt ein Committed für die Schattenkopie-LUNs erhalten, behalten die Schattenkopie-LUNs diese Flags bei.

  7. Nachdem IVssProviderCreateSnapshotSet::P ostCommitSnapshotsausgeführt wurde, werden von VSS die LUN-Flags (die nach IVssProviderCreateSnapshotSet::EndPrepareSnapshotsfestgelegt wurden) und die Writer benachrichtigt, dass sie reparieren. VSS ruft dann die Methoden IVssProviderCreateSnapshotSet::P reFinalCommitSnapshots und IVssProviderCreateSnapshotSet::P ostFinalCommitSnapshots des Anbieters auf.

  8. VSS ruft ein Array von _ VDS-LUN-INFORMATIONSstrukturen _ ab, eine für jede neu erstellte Schattenkopie-LUN, indem IVssHardwareSnapshotProvider::GetTargetLunsaufgerufen wird. Der Anbieter muss genügend Informationen bereitstellen, damit VSS und der Anbieter die Schattenkopien zu einem späteren Zeitpunkt und auf jedem System identifizieren können, das mit dem Subsystem verbunden ist. Zu diesem Zeitpunkt sollte auf die Schattenkopie-LUNs für diesen Computer nicht zugegriffen werden können. Der Anbieter muss einen anderen Mechanismus verwenden, als einfach die Informationen aus der LUN zu lesen.

  9. Bei transportierbaren Schattenkopien fügt VSS Folgendes an das Sicherungskomponentendokument an, das den Schattenkopiesatz beschreibt:

    1. Das ursprüngliche LUN-VDS-LUN-INFORMATIONSarray. _ _
    2. Das neue LUN-VN-LUN-INFORMATIONSarray _ für _ Schattenkopien.
    3. Die Datenträger-Extent für jedes Volume im Schattenkopiesatz.
  10. Bei automatischen Importschattenkopien beginnt der Importvorgang. In IVssHardwareSnapshotProvider::LocateLunserhält der Anbieter die _ VDS-LUN-INFORMATIONEN, _ die zum Zeitpunkt der Erstellung in GetTargetLuns generiert wurden. Während LocateLuns sollte der Anbieter diese Schattenkopie-LUNs für das System sichtbar machen. Der Anbieter sollte nicht dazu führen, dass ein Bus erneut einscannt. VSS verursacht das erneute Einscannen und die Enumeration, damit die LUNs von PNP und die Volumes online 2016 gefunden werden können.

  11. VSS ruft IVssHardwareSnapshotProvider::FillInLunInfo für die neu im System eingetroffenen Datenträger auf. VSS verwendet das LUN-INFORMATION-Array für Schattenkopie-LUNs von FillInLunInfo und vergleicht es mit den _ VDS-LUN-INFORMATIONEN, _ die während der Erstellung in GetTargetLuns generiert wurden, und den Datenträger-Extents für jedes Volume im Schattenkopieset, um die neu eingetroffenen Schattenkopie-LUNs zu identifizieren. _ _

  12. An diesem Punkt werden alle Volumes, die in den Schattenkopie-LUNs enthalten sind, ausgeblendet und schreibgeschützt bereitgestellt, und VSS verfügt über eine Zuordnung vom ursprünglichen Volume zum Schattenkopievolume.

Da eine einzelne LUN Teile mehrerer Volumes enthalten kann, kann der Satz von Schattenkopie-LUNs "zusätzliche" Volumes enthalten. Diese Volumes sind nicht Teil des Schattenkopiesets und sollten nicht verwendet werden, da sie nicht garantiert konsistent sind.

Nach dem Import kann über die IVssBackupComponents::Query-Methode auf die Schattenkopie zugegriffen werden. Eine Schattenkopie kann auch mithilfe von IVssBackupComponents::ExposeSnapshotals Laufwerkbuchstaben, bereitgestellter Ordner oder Freigabe verfügbar gemacht werden. Ein Schattenkopiesatz kann auch mithilfe der IVssBackupComponents::BreakSnapshotSet-Methode in eine reguläre LUN konvertiert werden. Von dort aus können Verwaltungsanwendungen geeignete Datenträgerverwaltungs-APIs verwenden, um die LUN weiter zu verwalten (z. B. das Ändern der Lese-/Schreibattribute).

Transportierbare Schattenkopien in einem SAN

Ab Windows Server 2003, Datacenter Edition und Windows Server 2003, Enterprise Edition ermöglicht VSS transportierbare Schattenkopiesätze auf einem SAN. Aus Sicht eines Anbieters, der LUNs zwischen Hosts übertragen kann, gibt es wenig oder keinen Unterschied zwischen einem nicht transportierbaren und einem transportierbaren Schattenkopiesatz.

Windows Server 2003, Standard Edition, Windows Server 2003, Web Edition und Windows XP: Transportierbare Schattenkopiesätze werden nicht unterstützt. Alle Editionen von Windows Server 2003 mit Service Pack 1 (SP1) unterstützen transportierbare Schattenkopiesätze.

Transportable shadow copy sets must be created with the VSS _ VOLSNAP _ ATTR _ TRANSPORTABLE attribute added to the shadow copy context described by _ the VSS _ VOLUME SNAPSHOT _ _ ATTRIBUTES enumeration. Alle Volumes in der Gruppe müssen transportierbar sein. Durch zurückgeben des Erfolgs von IVssHardwareSnapshotProvider::AreLunsSupportedgibt der Anbieter an, dass er nicht nur die LUN unterstützt, sondern auch die LUN übertragen kann. Die Erstellung eines transportierbaren Schattenkopiesets endet, wenn VSS die LUN-Informationen im Sicherungskomponentendokument auf zeichnet. Ein Schattenkopiesatz kann nach der ersten Erstellung nur einmal importiert werden.

Auf dem empfangenden Computer importiert der Anfordernde den Schattenkopiesatz. Die IVssBackupComponents::ImportSnapshots-Methode verwendet das Sicherungskomponentendokument, das den Schattenkopiesatz als Eingabe beschreibt. Der Import wird fortgesetzt durch:

  1. VSS erstellt ein Array von _ VDS-LUN-INFORMATIONSstrukturen _ für Schattenkopien aus dem Sicherungskomponentendokument.
  2. Wenn VSS IVssHardwareSnapshotProvider::LocateLunsaufruft, wird das In IVssHardwareSnapshotProvider::GetTargetLuns generierte Array von _ VDS-LUN-INFORMATIONSstrukturen _ an den Anbieter übergeben. Bei der Verarbeitung dieser Methode sollte der Anbieter diese Schattenkopie-LUNs für das System sichtbar machen. Der Anbieter sollte nicht dazu führen, dass ein Bus erneut einscannt. VSS löst das erneute Einscannen und die Enumeration aus, damit die LUNs von PNP und die Volumes online 2016 gefunden werden können.
  3. VSS ruft IVssHardwareSnapshotProvider::FillInLunInfo für die neu im System eingetroffenen Datenträger auf. VSS verwendet das Schattenkopie-LUN-Array von _ VDS-LUN-INFORMATIONSstrukturen _ aus FillInLunInfo und vergleicht es mit den _ VDS-LUN-INFORMATIONEN, _ die während der Erstellung des Schattenkopiesets in GetTargetLuns generiert wurden, und den Datenträgerdungen für jedes Volume im Schattenkopiesatz, um die neu eingetroffenen Schattenkopie-LUNs zu identifizieren.
  4. An diesem Punkt werden alle Volumes, die in den transportierten LUNs enthalten sind, ausgeblendet und schreibgeschützt bereitgestellt, und VSS verfügt über eine Zuordnung vom ursprünglichen Volume zum Schattenkopievolume.

Sowohl für den einzelnen Computer als auch für den transportierbaren Fall ist die Sequenz ähnlich, beginnend mit dem Punkt, an dem GetTargetLuns aufgerufen wird. Für den automatischen Import werden die Schritte direkt nach der Erstellung erstellt.