Verwendung der Volume Shadow Copy-Technologie von Microsoft für konsistente Backups
Bei der Erstellung eines Backups einer virtuellen oder physischen Maschine mit laufenden Anwendungen – insbesondere von Anwendungen, die intensiv Daten in Dateien und Datenbanken schreiben – ist die Gewährleistung der Konsistenz der Sicherungsdaten von entscheidender Bedeutung. Konsistente Sicherungsdaten erleichtern die Wiederherstellung ohne Datenverlust oder Verzögerungen. Zu diesem Zweck hat Microsoft die VSS-Technologie entwickelt.
Dieser Blogbeitrag erläutert, was der Volume Shadow Copy Service (VSS) ist, wie er funktioniert und warum diese Technologie für die Sicherung von Windows-basierten virtuellen und physischen Maschinen wichtig ist.
Was ist VSS?
Der Volume Shadow Copy Service (VSS), eine native Funktion von Windows-Betriebssystemen, erleichtert die Erstellung konsistenter, Application-Aware-Backups. Um die Konsistenz der Backup-Daten zu gewährleisten, geschieht Folgendes:
- VSS unterbricht vorübergehend die von Anwendungen durchgeführten Schreibvorgänge.
- Puffer aus dem Arbeitsspeicher werden auf die Festplatte geschrieben, d. h., geleert, und das Dateisystem wird eingefroren.
- Im Windows-Betriebssystem wird ein Volume-Schnappschuss, auch Schattenkopie genannt, erstellt.
Volume Shadow Copy, auch als Volume Snapshot Service bezeichnet, ist eine Reihe von COM (Component Object Model) Schnittstellen in Windows, die das Framework zur Erstellung konsistenter Backups für verschiedene Anwendungen bereitstellen. VSS wurde erstmals mit Windows XP und Windows Server 2003 veröffentlicht.
Warum Sie die VSS-Technologie benötigen
Die Konsistenz der Anwendungsdaten ist wichtig für Backups von Virtuellen Maschinen und Physischen Servern. Konsistenz garantiert, dass die auf Virtuellen Maschinen oder Physischen Servern ausgeführten Anwendungen nach der Wiederherstellung aus einem Backup voll funktionsfähig sind.
Ohne VSS erhalten Sie ein inkonsistentes Backup. Ein solches Backup entsteht, indem einfach jeder Block in dem Zustand kopiert wird, in dem er sich zum Zeitpunkt des Kopiervorgangs befindet. Angenommen, eine Datei wird kontinuierlich von einer Anwendung wie einer Datenbank oder einer Systemanwendung genutzt. Diese Anwendung ändert kontinuierlich Daten in der geöffneten Datei, indem sie Blöcke schreibt oder löscht. Während der erste Teil der Datei kopiert wird, ändern sich Blöcke, die von anderen Teilen der Datei genutzt werden. Bis die anderen Teile der Datei in das Backup-Repository kopiert sind, haben sich die Blöcke im ersten Teil bereits verändert. Das Ergebnis sind Datenblöcke, die nicht konsistent sind und keinen bestimmten Zeitpunkt abbilden.
Eine Möglichkeit, diese Situation zu vermeiden, ist die auf Schnappschüsse basierend VM-Sicherung. Zu Beginn des Sicherungsvorgangs wird ein Schnappschuss, also eine exakte Kopie der VM, erstellt. Während dieses Vorgangs werden alle VM-Festplatten (die in VMware-Umgebungen als .vmdk -Dateien dargestellt werden) schreibgeschützt. Um die während des Backup-Vorgangs vorgenommenen Änderungen auf der Master-Festplatte zu speichern, erstellt VMware ESXi eine Delta-Datei, die mit der Hauptdatei .vmdk verbunden ist. Nach der Erstellung der Delta-Datei beginnt die Sicherungssoftware mit dem Kopieren der Daten aus der schreibgeschützten Datei .vmdk . Sobald der Backup-Vorgang abgeschlossen ist, wird die Delta-Datei mit der Datei .vmdk zusammengeführt.
Dieser Ansatz eignet sich gut für Dateisysteme mit geringer Auslastung, wie beispielsweise interne Dateispeicher oder Webserver. Wenn der Vorgang zum Backup jedoch zu einem Zeitpunkt beginnt, zu dem bestimmte Transaktionen ausgeführt werden und E/A-Vorgänge (Eingabe/Ausgabe) stattfinden, können Daten verloren gehen. Bei der Verwendung von Anwendungen oder Datenbanken wie Microsoft SQL Server, Active Directory oder Exchange Server ist es nicht möglich, die Datei einfach zu schließen und anschließend Daten an sie anzuhängen. Hier kann der Volume Shadow Copy Service (VSS) Abhilfe schaffen. Diese Technologie ermöglicht die Erstellung von Zeitpunktkopien offener und in Gebrauch befindlicher Dateien, ohne die Integrität und Verwendbarkeit dieser Kopien zu beeinträchtigen.
So funktioniert der Volume Shadow Copy Service
Um zu verstehen, wie VSS funktioniert, müssen wir zunächst die Komponenten betrachten, aus denen sich diese Funktion zusammensetzt. Die übergeordneten Komponenten von VSS sind:
- Der VSS-Anbieter ist die Kernkomponente von VSS, die Schnappschüsse (Snapshots) von Volumes erstellt. Der VSS-Anbieter kann als Software oder Hardware implementiert sein. Der „Copy-on-Write“-Software-VSS-Anbieter ist im Windows-Betriebssystem enthalten. Hardware-Anbieter werden in der Regel bei SAN-Speichern (Storage Area Network) eingesetzt. Hardware-Anbieter entlasten das Host-Betriebssystem bei der Erstellung einer Schattenkopie.
- Die Writer sind Softwarekomponenten, die Daten in Dateien und Datenbanken schreiben, um die Konsistenz sicherzustellen. Jede Anwendung mit VSS-Unterstützung fügt dem Betriebssystem bei der Installation ihren eigenen Writer hinzu. Beispiele für Anwendungen, die einen VSS-Writer bereitstellen, sind Microsoft SQL Server und Exchange Server.
- Der Anforderer ist eine Softwarekomponente, die den VSS-Anbieter anweist, den Betrieb zu starten oder zu beenden (Erstellen, Löschen oder Importieren von Schattenkopien). Die Anforderung kann von nativen Windows-Komponenten (wie NTBackup oder Snapshot Manager für Hyper-V) oder von einer Drittanbieteranwendung wie einer Sicherungssoftware stammen.
- Der VSS-Dienst ist eine Betriebssystemkomponente, die sicherstellt, dass alle anderen Komponenten miteinander kommunizieren und zusammenarbeiten können.
Snapshots werden auf Volume-Ebene erstellt, und VSS arbeitet mit Blöcken (die wiederum von Dateien verwendet werden). Aus diesem Grund können keine Snapshots von Dateien oder Ordnern erstellt werden. Eine Schattenkopie kann auf demselben Datenträger oder auf einem anderen Datenträger gespeichert werden. Der Bereich auf einem Datenträger, der für die Speicherung von Schattenkopien vorgesehen ist, wird als „Diff-Bereich“ bezeichnet.
Der Ordner „System Volume Information“ dient zur Speicherung von VSS-Schattenkopiedateien. Die Dateien haben Bezeichnungen wie 3517271a-d214-3a47-c5ea-01137a4fe675.
Die VSS-Technologie kann als Windows-eigenes Tool zum Erstellen von Schnappschüssen (Snapshots) von Festplatten verwendet werden. Mit diesen Kopien können Sie Änderungen rückgängig machen und den gespeicherten Zustand des gesamten Datenträgers oder bestimmter Dateien wiederherstellen. Dennoch wird für eine zuverlässigere Datensicherheit die Erstellung eines echten Backups auf einem externen Medium empfohlen.
VSS ist ein inkrementelles Verfahren – Windows kann nacheinander mehrere Festplatten-Schnappschüsse erstellen. Nach der Erstellung der ersten Schattenkopie verfolgt VSS Änderungen auf Festplatten, indem es die Daten in 16-KB-Blöcke unterteilt. Wenn Änderungen auf der Festplatte vorliegen, schreibt der Dienst diesen gesamten Block in eine Schattenkopie. Dadurch muss nicht bei jedem neuen Schnappschuss der gesamte Datensatz kopiert werden, sondern es werden nur die geänderten Blöcke kopiert.
Wichtigste VSS-Anforderungen und Einschränkungen :
- Für die Erstellung von VSS-Schnappschüssen sind mindestens 300 MB Festplattenspeicher erforderlich.
- Die maximale Anzahl von Volume-Snapshots beträgt standardmäßig 64.
- 10 % des Volume-Speicherplatzes werden vom Windows-System für Schattenkopien reserviert.
Beachten Sie, dass VSS-Snapshots, die von einer Anwendung ausgelöst werden, in der Regel nach Abschluss des Backupauftrags gelöscht werden.
Native Tools zum Verwalten von VSS-Schattenkopien
Sie können native Windows-Tools zum Verwalten von Volume-Schattenkopien verwenden. Das Wissen darüber, wie sie mit Snapshots zusammenwirken, kann helfen, die VSS-Technologie besser zu verstehen und mögliche Probleme zu beheben (beispielsweise einen temporären VSS-Schnappschuss, der nach der Erstellung eines abgeschlossenen Backups nicht gelöscht wird).
Einige VSS-Optionen sind in der Windows-Benutzeroberfläche verfügbar, aber alle Optionen sind über die Befehlszeile zugänglich, was für uns interessanter ist. Es gibt zwei VSS-Tools, die Sie in Windows PowerShell oder CMD verwenden können:
vssadmin– verfügbar auf allen Windows-Versionen ab Windows XP (einschließlich Windows 10), mit Ausnahme von Windows 8.diskshadow– nur auf Windows Server-Versionen verfügbar. Hierbei handelt es sich um eine erweiterte Implementierung von vssadmin , die es Ihnen ermöglicht, nicht nur im interaktiven Modus zu arbeiten, sondern auch Skripte zu erstellen.
Beachten Sie, dass diese beiden Dienstprogramme unterschiedlich sind und in unterschiedlichen Kontexten arbeiten. Eine unter vssadmin erstellte Schattenkopie kann nicht unter diskshadow verwaltet werden und umgekehrt. Sie können den mit einem anderen Tool erstellten Schnappschuss zwar anzeigen, aber keine Aktionen damit durchführen.
Die Volume Shadow Copy Service-API steht zur Verfügung, damit Backup-Anwendungen VSS nutzen und Application-Aware-Backups erstellen können, um die Konsistenz der Backup-Daten zu gewährleisten.
VMware-VMs unter Windows verwenden die VMware-VSS-Komponente als VSS-Treiber im Windows-Gastbetriebssystem für die Systemruhe. Der Treiber wird installiert, wenn Sie VMware Tools installieren. In anderen Fällen, bei Verwendung älterer Windows-Versionen, wird ein SYNC-Treiber verwendet.
So wird eine Schattenkopie erstellt
Sobald eine Schattenkopie (Volume-Schnappschuss) erstellt wurde, beträgt ihre Größe 0 Byte. Wenn neue Daten geschrieben werden, werden diese auf die Festplatte geschrieben (wo sie normalerweise hingehören), während die alten Daten in eine Schattenkopie geschrieben werden, damit Sie diese später wiederherstellen können. Dadurch wächst die Größe der Schattenkopie.
Es gibt zwei Hauptansätze für das Schreiben von Daten beim Erstellen eines Schnappschusses:
Redirect on write (RoW): Das Schreiben neuer Blöcke in einen Schnappschuss (Schattenkopie) und das Speichern von Metadaten mit Informationen darüber, in welche Blöcke auf der Festplatte diese geschrieben werden müssen. Dieser Ansatz ermöglicht ein schnelles Schreiben von Daten, jedoch ein langsames Lesen derselben. Wenn Sie auf den ursprünglichen Zustand zum Zeitpunkt der Erstellung des Schnappschusses zurückkehren müssen, dauert dies einige Sekunden, während das Löschen eines Schnappschusses nahezu sofort erfolgt. Der RoW-Ansatz wird für Schnappschüsse von virtuellen Festplatten von VMs erstellen (VMDK) in VMware ESXi und VMware Arbeitsstation verwendet.Copy on Write (CoW): Dabei werden neue Blöcke an die erforderliche Stelle auf der Festplatte geschrieben und der Inhalt der überschriebenen Blöcke an einen Schnappschuss gesendet. Das Schreiben ist langsam, das Lesen hingegen schnell. Frühere Schnappschüsse (frühere Datenzustände) werden in wenigen Sekunden gelöscht (nahezu sofort). Der CoW-Ansatz wird für VSS-Schnappschüsse verwendet.
Angesichts der Vielzahl unterschiedlicher Anwendungen, die Daten auf Festplatten schreiben können, hat Microsoft mit VSS eine einheitliche Schnittstelle geschaffen, um alle Anwendungen nach dem Start der Schnappschuss-Erstellung darüber zu informieren, dass ein Schnappschuss erstellt wird. Die Idee hinter der Benachrichtigung ist: Ein System erstellt einen Schnappschuss – unterbricht dabei alle Schreibaktivitäten und leert die Schreibpuffer auf den Festplatten, um die Daten in einen konsistenten Zustand zu versetzen.
Der Arbeitsablauf zum Erstellen eines VSS-Schnappschusses ist wie folgt:
- Der VSS-Anforderer prüft die verfügbaren Dienste, mit denen er kommunizieren kann, listet die Schreibvorgänge auf und sammelt die Metadaten.
- Nach dem Erstellen einer Liste der Schreibvorgänge kommuniziert der Anforderer mit dem VSS-Anbieter und teilt diesem mit, welche Daten er in einem Schnappschuss erfassen möchte und wo sich der Schnappschuss befinden soll. In den meisten Fällen befindet sich der Schnappschuss auf demselben Volume der ursprünglichen Festplatte. In anderen Fällen können SAN-Hardwareanbieter ein separates Volume für einen Snapshot erstellen, das als Speicher-Snapshot bezeichnet wird.
-
Vorbereitung des Backups. Dieser Schritt umfasst die Abfrage des tatsächlichen Status der VSS-Writer (nach dem Abruf der Metadaten) und die Vorbereitung auf den wichtigsten Vorgang, bei dem die Writer nacheinander agieren müssen. Die Writer werden benachrichtigt, dass sie sich auf die Erstellung des Snapshots vorbereiten müssen. Der Systempuffer wird geleert und die Anwendung wird eingefroren, um sicherzustellen, dass eine konsistente Datenkopie erstellt werden kann. Jeder Writer muss standardmäßig innerhalb der ihm zugewiesenen Zeit von 60 Sekunden fertig werden. Microsoft Exchange Server hat für diesen Vorgang nur 20 Sekunden Zeit (diese Zeit wird von Microsoft festgelegt).
Hinweis: 20 Sekunden sind eine kurze Zeitspanne. Wenn eine Anwendung diese Zeit nicht einhalten kann, geben die Writer einen Fehler zurück, und der Schnappschuss wird nicht erstellt. Wenn die Leistung des Speichers nicht ausreicht, um diese Zeitvorgabe einzuhalten, können Sie versuchen, Ihre Hardware aufzurüsten, um dieses Problem zu beheben. Sie können beispielsweise von HDD- auf SSD-Speichergeräte umsteigen. Alternativ können Sie versuchen, andere Workloads auf einen anderen Speicher zu migrieren und dedizierten Speicher ausschließlich für den Rechner zu nutzen, auf dem Microsoft Exchange Server läuft. Überprüfen Sie die Protokolle, um festzustellen, welcher Writer bei der Erstellung des Schnappschusses versagt hat.
-
Wenn alles in Ordnung ist und die Systemaktivität eingefroren ist, meldet VSS, dass der Anbieter eine Schattenkopie erstellen kann. Für die Erstellung eines Schnappschusses stehen nur 10 Sekunden zur Verfügung. Während dieses Zeitraums sind Dateisystem-E/A-Anfragen vorübergehend nicht verfügbar. In dieser Zeit können Sie auch einen VM-Schnappschuss erstellen. Sobald die 10 Sekunden verstrichen sind, werden alle Writer wieder freigegeben und die Ein-/Ausgabeoperationen (E/A) sind wieder aktiv.
Hinweis: Wenn die VSS-Provider länger als 10 Sekunden benötigen, um die Schattenkopie zu speichern, schlägt der Vorgang fehl.
- VSS teilt den Anwendungen mit, dass sie E/A-Anforderungen entsperren und das Schreiben von Daten auf Festplatten fortsetzen können. Wenn wir eine Sicherungsanwendung verwenden und ein Backup mithilfe des Windows-VSS-Dienstes erstellt wurde, kann der VSS-Schnappschuss gelöscht werden. Dieser Vorgang kann von der Sicherungsanwendung selbst durchgeführt werden. Alternativ können Sie einen Volume-Schnappschuss mit
diskshadowodervssadminlöschen.Wenn Sie Probleme mit VSS haben, kann ein Neustart des Computers in vielen Fällen Abhilfe schaffen, wenn andere Methoden nicht funktionieren. Einige Probleme im Zusammenhang mit zeitlichen Beschränkungen (z. B. 10 Sekunden für die Erstellung eines Schnappschusses) lassen sich durch eine Aufrüstung der Hardware, einschließlich der Festplattengeräte, oder durch eine Verringerung der Auslastung beheben.
Versuchen Sie, einen Schnappschuss manuell zu erstellen, und prüfen Sie, ob Sie die vorgegebenen 20 Sekunden einhalten (am Beispiel von Exchange Server). Falls dies fehlschlägt, starten Sie den Rechner neu, verringern Sie die Auslastung und versuchen Sie es erneut.
Ab Windows Server 2012 unterstützt VSS SMB-Dateifreigaben unter Windows. Die VSS-Technologie ist bei Dateifreigaben sehr nützlich, da Dateien möglicherweise kontinuierlich von Benutzern und Anwendungen geschrieben werden, was Backups von Freigaben ohne VSS zu einer Herausforderung macht. NAKIVO Backup & Replication 10.7 unterstützt Backup für Dateifreigaben.
So funktioniert der Volume Shadow Copy Service in der Lösung von NAKIVO
Wir haben untersucht, wie VSS im Allgemeinen funktioniert. Sehen wir uns nun an, wie die VSS-Technologie bei der Erstellung von VMware vSphere-VM-Backups mit spezieller Backup-Software wie NAKIVO Backup & Replication funktioniert.
Kurz gesagt funktioniert der Volume Shadow Copy Service wie folgt: Der Anforderer initiiert den VSS-Anbieter. Der Anbieter leitet die Schreibvorgänge so um, dass Daten in eine Protokolldatei geschrieben werden, und beginnt mit der Erstellung des Volume-Schnappschusses. Nachdem der Anforderer das Stoppsignal an den Anbieter gesendet hat (in der Regel, nachdem der Schnappschuss fertig ist), beginnt dieser, Daten aus der Protokolldatei auf das Volume zu übertragen.
In diesem Fall fungiert NAKIVO als VSS-Anforderer, wenn eine VMware vSphere-VM mithilfe von VSS gesichert wird.
- Bevor das Backup beginnt, schreibt NAKIVO Daten über ihren VSS-Writer.
- Wenn das Backup beginnt, fordert NAKIVO den VSS-Anbieter auf, die Arbeit aufzunehmen. Der Writer leitet die Daten in die Protokolldatei um, während das Volume „eingefroren“ wird.
- NAKIVO Backup & Replication beginnt mit der Erstellung eines Schnappschusses auf der VM-Ebene. Dies kann je nach Auslastung des VMFS-Speichers zwischen einigen Sekunden und mehreren Minuten dauern. Während dieser Zeit schreibt der Writer weiterhin Daten in die Protokolldatei.
- Ein Schnappschuss der VM wurde erfolgreich erstellt. NAKIVO Backup & Replication sendet als Anforderer das Signal an den Anbieter, den Vorgang zu beenden.
- Der VSS-Anbieter überträgt die Änderungen aus der Protokolldatei auf das Volume. NAKIVO Backup & Replication kopiert den Datenblock des VM-Snapshots in das Backup-Repository.
Sie können den Application-Aware Modus für die Konsistenz der Backup-Daten im Assistenten im Schritt „
Options“ konfigurieren. Auf diese Weise aktivieren Sie VSS auf einem Windows-Rechner, um ein Backup dieses Rechners zu erstellen.
Fazit
Der Volume Shadow Copy Service (VSS) ist eine hervorragende Technologie, um die Konsistenz von VM-Backups zu gewährleisten, funktioniert jedoch nur auf Windows-basierten Rechnern. Um konsistente Backups für Linux-basierte Rechner zu erstellen, sollten Sie spezielle Skripte für das „Pre-Freeze“ und „Post-Thaw“ implementieren. Die NAKIVO-Lösung bietet zudem automatisierte, konsistente Backups für Linux-Server und -Arbeitsstationen.



