Es gibt Zeiten, in denen Sie OS-Updates oder Sicherheitspatches auf einer Ihrer Gastvirtualmaschinen (VMs) installieren müssen. Der Aktualisierungsprozess kann jedoch manchmal fehlschlagen, was zu einem Systemausfall, dem Verlust von Konfigurationsdaten oder der Deinstallation bestimmter Programme führen kann. Microsoft Hyper-V bietet die Möglichkeit, Hyper-V-Snapshots zu erstellen, mit denen Sie den VM-Zustand zu einem bestimmten Zeitpunkt speichern und das System auf seinen vorherigen Zustand zurücksetzen können, wenn ein Systemfehler auftritt.
In diesem Blogbeitrag werden wir beschreiben, wie Sie Hyper-V-Snapshots mit Hyper-V Manager oder PowerShell zusammenführen und wie sie verwendet werden können. Um jedoch zu lernen, wie man Hyper-V-Snapshots verwaltet, müssen Sie zunächst die Technologie dahinter verstehen.
Was ist ein Hyper-V-Snapshot?
A Hyper-V snapshot is a point-in-time copy of a VM, which contains all the information required to restore your data. With the use of Hyper-V snapshots, you can revert the VM to a point when the VM state was captured and the snapshot was taken. Hyper-V snapshot technology is enabled by default when the Hyper-V role is installed on your computer and your first VM is created. Hyper-V snapshots of a selected VM can be taken in any state (Off, Running, Paused, and Saved) and the operation is typically complete in a few seconds.
Beachten Sie, dass Hyper-V-Snapshots derzeit als Hyper-V-Checkpoints bekannt sind, aber beide Begriffe sind gleichermaßen gültig.
Arten von Hyper-V-Snapshots
Microsoft Hyper-V bietet zwei Arten von Snapshots:
- Produktionssnapshots wenden Backup-Technologien innerhalb des Gast-Betriebssystems an, um datenkonsistente Snapshots der VM zu erstellen. Hierfür werden der Windows Volume Shadow Copy Service (VSS) oder das Linux-Dateisystem-Freeze verwendet. Hyper-V-Produktionssnapshots können verwendet werden, um den Zustand der Produktionsumgebung zu erfassen, da sie die Datenkonsistenz von Anwendungen und dem Gast-Betriebssystem verbessern. Beachten Sie, dass Hyper-V-Produktionssnapshots den VM-Speicherzustand, Informationen über seine CPU-Aktivität oder Hardwarekonfiguration nicht erfassen.
In den neuen Betriebssystemversionen (Windows Server 2016 und Windows 10) sind Produktionsüberprüfungspunkte die Standardoption für den Überprüfungspunkttyp. Sie können dies jedoch im Hyper-V-Manager oder in der Windows PowerShell ändern.
- Standard-Snapshots erfassen den Zustand der VM, einschließlich ihrer CPU-Aktivität und des Speichers, sowie der Hardwarekonfiguration zu einem bestimmten Zeitpunkt. Ein Standard-Hyper-V-Snapshot ermöglicht somit das Erfassen des aktuellen Zustands von Anwendungen und das Zurücksetzen der VM auf einen bestimmten Zeitpunkt oder Zustand. Sie sind hauptsächlich in Entwicklungs- und Testumgebungen anwendbar. Das Erstellen von Hyper-V-Standard-Snapshots kann nicht als zuverlässige Backup-Strategie betrachtet werden, da sie möglicherweise einige Dateninkonsistenzprobleme in Anwendungen verursachen können, die nicht VSS-aware sind.
Wie Hyper-V-Snapshots funktionieren
Wie Sie wissen, werden Hyper-V-VMs in virtuellen Festplatten gespeichert, die im Dateiformat .vhd(x) vorliegen. Gleichzeitig werden die auf diesen Hyper-V-VMs erstellten Schnappschussdateien im Dateiformat .avhd(x) gespeichert und im selben Ordner wie die Festplattenabbilddatei aufbewahrt. Hyper-V-Snapshots sind im Wesentlichen differenzierende virtuelle Festplatten, von denen jede eine Eltern-Kind-Beziehung zur entsprechenden Eltern-Virtual Hard Disk hat. Sie können bis zu 50 Snapshots für jede VM erstellen. Alle Hyper-V-Snapshots sind in einer hierarchischen Reihenfolge organisiert und bilden somit einen Überprüfungspunktblatt.
Jedoch neigen .avhd(x)-Dateien dazu, sich anzusammeln und viel Speicherplatz zu verbrauchen, was sich folglich auf die VM-Leistung auswirkt. Wenn Sie unnötige .avhd(x)-Dateien entfernen möchten, müssen Sie Hyper-V-Snapshots löschen. Diese Option bedeutet nicht, dass Sie die Snapshots tatsächlich löschen. Stattdessen fusionieren Sie einfach Hyper-V-Snapshots und die darin enthaltenen Daten in eine übergeordnete Festplatte oder eine andere virtuelle Festplatte. Es wird nicht empfohlen, Hyper-V-Snapshots direkt vom Computer zu löschen. Nachdem Sie Hyper-V-Snapshots fusioniert haben, werden alle .avhd(x)-Dateien von der Festplatte gelöscht. Auf diese Weise können Sie zusätzlichen Speicherplatz auf Ihrem Hyper-V-Host erstellen.
Wie man Hyper-V-Snapshots fusioniert
In einem unserer früheren Blog-Beiträge haben wir behandelt, wie man Hyper-V-Snapshots verwalten (erstellen, anwenden, umbenennen, aktivieren/deaktivieren usw.). Heute soll dieser Blog-Beitrag jedoch als Anleitung zum manuellen Zusammenführen von Hyper-V-Snapshots dienen.
Um Hyper-V-Snapshots zusammenzuführen, müssen Sie entweder den Hyper-V-Manager oder PowerShell verwenden. Beide Ansätze werden unten beschrieben.
Verwendung des Hyper-V-Managers
Bevor wir beschreiben, wie man Hyper-V-Snapshots zusammenführt, sollten wir zunächst feststellen, welche Snapshots zusammengeführt werden sollen. Hyper-V-Snapshots sollten in einer bestimmten Reihenfolge zusammengeführt werden: vom Kind zum Elternteil. Es ist daher wichtig, die Struktur des Überprüfungspfads festzulegen, indem die Reihenfolge ihrer Erstellung festgelegt wird: von den neuesten zu den ältesten.
Wie oben erwähnt, hat jeder Schnappschuss eine Eltern-Kind-Beziehung zu einem anderen Schnappschuss, der zuvor erstellt wurde. Alle zusammen können in Form einer Kette dargestellt werden. Zum Beispiel wurden 3 Schnappschüsse für 1 virtuelle Festplatte erstellt. Die Hauptvirtuelle Festplatte, auf der die VM läuft, fungiert als Elternteil des ersten Prüfpunkts, dieser Prüfpunkt fungiert als Elternteil des zweiten Prüfpunkts, und der zweite Prüfpunkt fungiert als Elternteil des dritten Prüfpunkts.
Um die Prüfpunktsstruktur festzulegen, führen Sie die folgenden Schritte aus:
- Öffnen Sie den Hyper-V-Manager.
- Wählen Sie im mittleren Bereich die VM aus, deren Schnappschüsse Sie zusammenführen möchten.
- Im Abschnitt Aktionen rechts klicken Sie auf Inspect Disk.
- Wählen Sie die .avhd(x)-Datei aus und klicken Sie auf OK.
- Als nächstes sehen Sie eine allgemeine Übersicht über die Eigenschaften der virtuellen Festplatte, einschließlich ihres Namens, ihres Speicherorts und des Namens des Elternteils. Bestimmen Sie den Elternteil der ausgewählten .avhd(x)-Datei.
- Wiederholen Sie die Schritte 3-5 für jede .avhd(x)-Datei und bestimmen Sie deren Reihenfolge für die Zusammenführung.
Zum Zusammenführen von Hyper-V-Snapshots führen Sie folgende Schritte aus:
- Öffnen Sie Hyper-V-Manager.
- Wählen Sie die erforderliche VM aus.
- Klicken Sie auf Bearbeiten von Datenträgern. Das Bearbeitungs-Virtual Hard Disk-Assistent wird geöffnet. Klicken Sie auf Weiter.
- Klicken Sie auf Durchsuchen, um die neueste .avhdx-Datei auszuwählen. Klicken Sie auf Weiter.
- Wählen Sie Zusammenführen aus, um die in einem differenzierenden Datenträger gespeicherten Änderungen in die Eltern- oder eine andere Datenträgerdatei zu übernehmen. Klicken Sie auf Weiter.
- Wählen Sie Zum Eltern-Virtual Hard Disk und klicken Sie auf Fertig stellen.
- Um den Prozess des Zusammenführens von Hyper-V-Snapshots vollständig abzuschließen, wiederholen Sie Schritte 1-5 für jede .avhd(x)-Datei, bis alle Änderungen in die ursprüngliche Eltern-Datenträgerdatei gemerged wurden.
- Der letzte Schritt besteht darin, die VM neu zu starten, um die implementierten Änderungen zu übernehmen.
Mit PowerShell
Bevor Sie Hyper-V-Snapshots zusammenführen können, stellen Sie sicher, dass Ihr Computer das Merge-VHD-Cmdlet aktiviert hat. Wenn nicht, erscheint folgender Fehler auf dem Bildschirm:Der Begriff "Merge-VHD" wird nicht als Name eines Cmdlets, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt.
Überprüfen Sie die Rechtschreibung des Namens, oder falls ein Pfad angegeben wurde, überprüfen Sie, ob der Pfad korrekt ist, und versuchen Sie es erneut.
Um dieses Problem zu beheben, öffnen Sie PowerShell als Administrator und führen Sie den folgenden Befehl aus:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Management-PowerShell
Wenn alles korrekt ist, sollten Sie Folgendes sehen:
Jetzt sind Sie bereit, das Merge-VHD-Cmdlet auszuführen. Beachten Sie, dass dieser Vorgang offline durchgeführt wird.
Um Hyper-V-Snapshots zusammenzuführen, führen Sie dieses Cmdlet aus:
Merge-VHD Path = '' DestinationPath = ''
In diesem Fall können die Daten mehrerer Kinddisks, beginnend mit der neuesten, in die älteste Elterndisk zusammengeführt werden. Auf dem Bildschirm sehen Sie Folgendes:
Nach Abschluss des Vorgangs fahren Sie die Gast-VM herunter und starten das System neu. Im Gegensatz zum Hyper-V-Manager, der erfordert, dass Sie jeden Layer der Diskkette separat zusammenführen, ermöglicht Ihnen PowerShell, eine solch komplexe Operation mit einem einzigen Befehl auszuführen.
Warum Sie Hyper-V-Snapshots verwenden sollten
Hyper-V-Snapshots ermöglichen das Speichern des Zustands der VM, bevor Konfigurationsänderungen angewendet, neue Software installiert, Betriebssystemupdates ausgeführt, Sicherheitspatches aktualisiert usw. Wenn Sie eine Operation durchführen möchten, die Ihre virtuelle Infrastruktur ändern könnte oder ein hohes Risiko für einen Fehler besteht, erstellen Sie vorher einen Hyper-V-Snapshot Ihrer VM. Es dient als Sicherheitsnetz, falls etwas schief geht und Sie das System auf seinen vorherigen Zustand zurücksetzen müssen.
Hyper-V-Snapshots liefern jedoch die besten Ergebnisse, wenn sie in Entwicklungs- und Testumgebungen verwendet werden. Sie sind keine effektive und zuverlässige Backup-Alternative, und wir empfehlen nicht, sie in der Produktionsumgebung zu verwenden. Stattdessen sollten Sie eine umfassende Hyper-V-Backup-Lösung in Betracht ziehen, die mehrere Datensicherungsoptionen bietet und Ihnen erhebliche Zeit, Geld und Aufwand ersparen kann, verglichen mit der traditionellen Infrastrukturwartung.
Source:
https://www.nakivo.com/blog/merge-hyper-v-snapshots-step-step-guide/