BlogPrüfpunkte in Hyper-V

Prüfpunkte in Hyper-V

Wozu sie da sind, wie sie funktionieren und wie du damit arbeitest

Hyper-V-Prüfpunkte helfen dir dabei, deine IT-Umgebung auch bei Änderungen und Upgrades sicher und stabil zu halten. Sie sind im Prinzip das Microsoft-Pedant zu VMware-Snapshots bei ESXi/vSphere. In beiden Fällen gilt: Prüfpunkte oder Snapshots ersetzen in keinem Fall ein Backup, erleichtern aber beispielsweise Wartung und Patching von VMs, bzw. VM-basierten Anwendungen erheblich.

Für erfahrene Hyper-V-Anwender sind Prüfpunkte ein alter Hut im positiven Sinne, weil sie ein sehr nützliches und ausgereiftes Feature darstellen. Du solltest also Prüfpunkte unbedingt nutzen. Ich stelle aber in meinen Trainings immer wieder fest, dass Nutzer Prüfpunkte entweder aus Angst vor Performanceeinschränkungen oder Stabilitätsbefürchtungen nicht einsetzen oder Prüfunkte zwar aktvieren aber den Umgang damit missverstehen. Daher soll dieser Artikel für etwas mehr Klarheit über eine bewährte Funktion sorgen. 

Wie Prüfpunkte in Hyper-V funktionieren

Technisch betrachtet ist ein Prüfpunkt eine Differenzierungsdatei, welche den Zustand (eingeschaltet, supended oder ausgeschaltet), ggf. die Daten (Arbeitsspeicher und/oder Festplatte) und die Hardwarekonfiguration einer virtuellen Maschine im Betrieb sichert. Du kannst sie dir vorstellen, wie eine Momentaufnahme deiner VM, die du z. B. zu einem Zeitpunkt erstellst, an dem sie optimal funktioniert. Ich scheue mich, hierfür den Begriff Snapshot zu verwenden, weil dieser in der IT-Welt viele Bedeutungen haben kann. Bei VMware vSphere/ESXi trifft zwar der Begriff Snapshot ziemlich genau das, was auch ein Hyper-V-Prüfpunkt ist, in Azure hingegen oder bei den meisten Storage-Systemen meint der Begriff Snapshot häufig nur die Aufnahme des (virtuellen) Datenträgers, je nach Konfiguration mit oder ohne eingefrorenen Dateisystemzustand.

Als Administrator erfasst du z. B. einen Prüfpunkt, wenn du eine kritische Veränderung an deiner VM planst, wie z. B. das Patchen des Systems oder das Aktualisieren von auf der VM installierten Software. Erstellst du dagegen vorher einen Prüfpunkt, kannst du Upgrades beruhigt planen und ausrollen, weil du ja im Zweifel zu jeder Zeit zu einem funktionierenden Zustand zurückkehren kannst. Diese Differenzierungsdatei stellt die Differenz zwischen dem aktuellen Zustand der VM und dem Zustand der VM an ihrem letzten Prüfpunkt dar. Somit repräsentiert der jeweils erste Prüfpunkt die gesamte virtuelle Maschine und nachfolgende Prüfpunkte enthalten dann lediglich die Unterschiede zwischen dem aktuellen Zustand und dem vorherigen Prüfpunkt. Somit ergeben alle vorhandenen Prüfpunkte zusammen eine Folge von Zustandsänderungen, den so genannten „Prüfpunktbaum“.

Prüfpunkt-Arten

Hyper-V unterscheidet zwei Arten von Prüfpunkten: Standardprüfpunkte und Produktionsprüfpunkte. Du findest die zugehörige Konfigurationseinstellung im Hyper-V-Manager in den Einstellungen der jeweiligen VM unter „Prüfpunkte“. Hier kannst du auch einstellen, ob der Hyper-V-Manager automatsch Prüfpunkte erstellen soll.

Hyper-V kennt zwei Arten von Prüfpunkten

Beide erfassen zuverlässig den Zustand, die Daten und die Konfigurationsdetails einer laufenden VM. Ein bedeutender Unterschied liegt aber in der Datenkonsistenz. Ein Standardprüfpunkt stellt lediglich Anwendungskonsistenz sicher, keine Datenkonsistenz, d. h. er dient zum Erstellen einer Momentaufnahme der VM und des Zustandes des Arbeitsspeichers zum Zeitpunkt der Erstellung des Prüfpunkts. Stellst du einen solchen Standardprüfpunkt wieder her, können unter Umständen einige Daten oder Transaktionen verloren gehen. Das tritt z. B. bei transaktionssensiblen Workloads wie SQL-Server oder Exchange auf. Generell können Standardprüfpunkte Probleme mit der Datenkonsistenz bei Systemen verursachen, die Daten zwischen verschiedenen Knoten replizieren, beispielsweise bei Active Directory, sind also kein Ersatz für ein Backup. „Vor“ Windows 10 und Server 2016 kannte Hyper-V ausschließlich Standardprüfpunkte. Diese wurden seinerzeit auch tatsächlich als „Snapshots“ (Momentaufnahmen) bezeichnet. Du kannst Standardprüfpunkte gut für Entwicklungsumgebungen nutzen, um z. B. ältere VM-Stände zum Testen und zur Fehlerbehebung zu verwenden.

Ein Produktionsprüfpunkt setzt auf echte Backup-Technologien und Werkzeuge, bei Windows-VMs z. B. den Volume-Shadow-Copy-Service (VSS), um damit ein datenkonsistentes VM-Image zu erstellen, mit dem du später den normalen Betrieb ohne Datenverlust fortsetzen kannst. Bei Linux-VMs friert der Produktions-Prüfpunkt das Dateisystem des Gastes ein. Produktionsprüfpunkte sind in Hyper-V in den Voreinstellungen aktiviert, du kannst die Einstellung aber nicht nur mit dem Hyper-V Manager (siehe oben), sondern auch mittels PowerShell ändern.

Windows speichert Prüfpunkte übrigens im Hintergrund als AVHDX-Dateien am gleichen Speicherort, an dem auch die VHDX-Dateien für die betreffende VM liegen. Sobald du einen Prüfpunkt löschst, führt Hyper-V die AVHDX- und VHDX-Dateien automatisch zusammen und löscht die AVHDX-Datei im Dateisystem. Wichtig: pro Prüfpunkt wird eine eigene Festplatte(n-Datei) angelegt. Darüber hinaus erstellt Hyper-V zusätzliche VMCX- und VMRS-Dateien in Hyper-V-Verzeichnis „Snapshot“, um den Konfigurations- und Laufzeit-Zustand der VM zu diesem Zeitpunkt zu erfassen. Dies ist äußerst wichtig und wird weiter unten noch relevant, wenn wir uns um die Verwaltung von Prüfpunkten kümmern. AVHDX-Dateien darfst du niemals direkt löschen.

Die zu einem Prüfpunkt gehörigen Dateien

Beachte aber, dass die AVHDX-Datei – je nachdem, wie lange du den Prüfpunkt behältst – bis über die Größe der ursprünglichen VM-Image-Datei hinaus – anwachsen können. Die VMRS-Dateien werden so groß wie der konfigurierte RAM der virtuellen Maschine. Insofern sind bisweilen anzutreffende Performance-Bedenken von Nutzern zwar nicht ganz unberechtigt, eine echte Beeinträchtigung der VMs durch Prüfpunkte ist aber trotzdem eher unwahrscheinlich, sofern du deine Prüfpunktumgebung korrekt verwaltest. Da bedeutet, dass du eine lineare Prüfpunkt-Hierarchie beibehältst und Prüfpunkte nicht länger als nötig beibehältst. Hast du die zu testenden Patches oder Änderungen erfolgreich validiert, solltest du den Prüfpunkt anwenden und nicht löschen (dazu später mehr).

Möchtest du z. B. einen Prüfpunkt von einem Apache-Webserver anfertigen, der als Frontend für einen MySQL-Datenbankserver fungiert, machst du das am besten mit einem Produktionsprüfpunkt, weil dieser die VM in ihrem ausgeschalteten Zustand erfasst. Würdest du das mit einem Standardprüfpunkt machen, kann es passieren,  dass in Bewegung befindliche Daten verloren gehen und zu Dateninkonsistenzen führen.

Daher sind auch durchaus einige Szenarien denkbar, in den Prüfpunkte eher keine gute Idee sind, etwa bei ..

  • ADDS-Domaincontrollern, in einer Umgebung mit mehreren Domänencontrollern, um die Möglichkeit eines USN-Rollbacks zu verhindern.
  • Cluster-Mitgliedern, um einen versehentlichen Rollback eines gesamten Clusters zu verhindern.
  • Anwendungen, die bereits selbst Daten replizieren oder synchronisieren.

Sowohl Standard- als auch Produktions-Prüfpunkte sind heute eine ausgereifte Funktion, aber wie oben erwähnt trotzdem nicht in der Lage, ein richtiges Backup zu ersetzen. Sie bieten daher nur einen kurzfristigen Schutz vor Ereignissen, die zu einer Unterbrechung einer VM oder von der VM abhängigen Komponente führen würden. Dabei ist der Begriff „kurzfristig“ nicht klar umrissen und hängt von der Situation ab. Ein Prüfpunkt sollte allerdings niemals länger als nötig bestehen bleiben.

Verwalten von Prüfpunkten in Hyper-V

Bleibt noch die Frage, was beim Löschen, bzw. Anwenden von Prüfunkten passiert, bzw. was der Unterschied zwischen beiden Vorgängen ist, denn das Löschen von Prüfpunkten unter Hyper-V ist ein diffiziles Thema, weil das Ergebnis bei vielen Nutzen nicht dem entspricht, was der Begriff vermuten lässt. Was beim Löschen genau passiert, hängt vor allem von der Struktur des Snapshot-Baums an. Hängt von einem Snapshot ein weiterer Kind-Knoten ab – was meist der Normalfall ist -, sorgt das Löschen eines Snapshots dafür, dass dieser mit dem übergeordneten Element integriert wird. Das trifft immer zu, wenn es nur einen Zweig vom Snapshots gibt, d. h. der letzte in der Reihe ist dann der aktuelle Status. Dieser ist im Hyper-V Manager mit „Jetzt“ gekennzeichnet. Du kannst das Zusammenführen problemlos im Hyper-V-Manager verfolgen.

Das Zusammenführen (durch „Löschen“) von Prüfpunkten im Hyper-V-Manager

Übrigens funktionieren sehr viele Vorgänge im Zusammenhang mit Prüfpunkten über die Powershell viel schneller. So kannst du mit einem einzigen Befehl alle Snapshots aller VMs auf einmal löschen:

Get-VM | Remove-VMSnapshot

Hast du z. B. eine VM durch Konfigurationsfehler oder das Installieren experimenteller Software unbrauchbar gemacht, kannst du nicht durch Löschen des Snapshots zu einem früheren Zustand zurück kehren. Das Löschen würde vielmehr dazu führen, dass der verkorkste Status Quo in das Eltern-Image integriert wird.

Möchtest du zu einem früheren Zustand der VM zurückkehren, verwendest du stattdessen „Anwenden“ im Kontext-Menü des Hyper-V-Managers.

Das „Anwenden“ eines Prüfpunktes

Der Hyper-V-Manager weist dich dann darauf hin, dass der aktuelle (also der verkorkste) Zustand der VM verlorengeht und bietet daher an, zur Sicherheit vorher noch einmal einen neuen Prüfpunkt zu erstellen, um einen Rückweg zu haben, sollte das „Anwenden“ fehlschlagen oder nicht zum gewünschten Ergebnis führen.

Beim „Anwenden“ geht der aktuelle Status des VM verloren

Achte dabei unbedingt auf den Status der VM. Verwendest du Standardprüfpunkte wird die VM durch Anwenden des Prüfpunktes gestoppt und anschließend automatisch neu gestartet.

Bei Produktionsprüfpunkten hingegen ist der Status der VM nach dem „Anwenden“ in jedem Fall ausgeschaltet, da Produktionsprüfpunkte den Arbeitsspeicherstatus nicht haben. Du musst die VM dann in jedem Fall manuell neu starten.

Du kannst Prüfpunkte auch exportieren. Beim Exportieren wird der Prüfpunkt als virtueller Computer gebündelt, sodass du ihn dann problemlos an einen neuen Speicherort verschieben kannst. Nach dem Importieren wird der Prüfpunkt als VM wiederhergestellt. Ferner kannst du exportierte Prüfpunkte als Sicherung verwenden.

Hyper-V versus VMware

Und abschließend noch ein Hinweis für Hyper-V-Nutzer, die von VMware umsteigen. In beiden Fällen erfüllen Snapshots, bzw. Prüfpunkte eine ähnliche Funktion und können kein Backup ersetzen, da ja in keinen Fall eine Kopie der Ursprung-Festplatte erstellt wird, sondern stets nur ein Delta. Ich würde das Snapshot-Thema eher als eine Art Versionskontrolle oder Redo-Log mit möglichst kurzem Lebenszyklus bezeichnen. Zudem ist die exakte Funktionsweise von Snapshots auf beiden Hypervisoren nicht gleich. Wenn du als Hyper-V-Admin nicht berücksichtigst, dass Prüfpunkte immer erst dann zusammengeführt werden, wenn die VM ausgeschaltet ist, kann es dir im Endeffekt doch passieren, dass dir der Speicherplatz ausgeht.

Zusammenfassend möchte ich noch einmal empfehlen, Prüfunkte unbedingt zu nutzen, aber keinesfalls als Backup-Ersatz. Betrachte Prüfpunkte als eine Art „Klick-mich-bevor-du-etwas-Blödes-machst“-Button.

Kontakt

Dein INCAS Team
Akkordion öffnen
telephone-icon-contact-coaching-box
0800 4772466
email-icon-contact-coaching-box
info@incas-training.de

*“ zeigt erforderliche Felder an

Hidden
Dieses Feld dient zur Validierung und sollte nicht verändert werden.

Schulungen die dich interessieren könnten

Bewertungen

Kundenstimme männlich
Markus H.
CARAT Dreieich
star-participantstar-participantstar-participantstar-participantstar-participant
Der Trainer machte einen sehr netten und kompetenten Eindruck und ging auf unsere Wünsche und Anregungen sehr praxisorientiert ein .
Kundenstimme männlich
Wolfgang N.
ThyssenKrupp Nirosta
star-participantstar-participantstar-participantstar-participantstar-participant
Eine gute Adresse für das Erlernen scheinbar schwieriger und trockener Themen, die hier gut aufbereitet werden.
Kundenstimme männlich
Nina P.
GEUTEBRÜCK GmbH
star-participantstar-participantstar-participantstar-participantstar-participant
Das Seminar hat meine Erwartungen voll erfüllt. Man hat gemerkt, dass der Trainer Spaß an der Sache und sehr viel Ahnung vom Thema hat. Das Gefühl hat man nicht in allen Schulungen (auf Schulungen im Allgemeinen bezogen).
Kundenstimme männlich
Martin S.
Bundeseisenbahnvermögen
star-participantstar-participantstar-participantstar-participantstar-participant
Das Training zeichnet sich durch einen sehr hohen Praxisbezug und Raum für individuelle Hilfe persönlicher Problemstellungen sowie durch einen engagierten und hoch kompetenten Trainer aus.