Er zijn momenten waarop u OS-updates of beveiligingspatches moet installeren op een van uw gastvirtuele machines (VM’s). Het updateproces kan echter soms misgaan, wat kan resulteren in een systeemstoring, verlies van configuratiegegevens of het verwijderen van bepaalde programma’s. Microsoft Hyper-V biedt de mogelijkheid om Hyper-V-snapshots te maken, waarmee u de VM-status op een bepaald tijdstip kunt opslaan en het systeem kunt terugrollen naar de vorige status als er een systeemfout optreedt.
In deze blogpost zullen we beschrijven hoe u Hyper-V-snapshots kunt samenvoegen met behulp van Hyper-V Manager of PowerShell en hoe ze kunnen worden gebruikt. Om echter te leren hoe u Hyper-V-snapshots kunt beheren, moet u eerst de technologie erachter begrijpen.
Wat is een 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.
Houd er rekening mee dat Hyper-V-snapshots momenteel bekend staan als Hyper-V-checkpoints, maar beide termen zijn even geldig.
Soorten Hyper-V-snapshots
Microsoft Hyper-V biedt twee soorten snapshots:
- Productiesnapshots gebruiken back-uptechnologie binnen het gast-OS om datagecoördineerde snapshots van de VM te maken. Hiervoor worden Windows Volume Shadow Copy Service (VSS) of Linux File System Freeze gebruikt. Hyper-V-productiesnapshots kunnen worden gebruikt om de status van de productieomgeving vast te leggen, omdat ze de gegevensconsistentie van toepassingen en het gast-OS verbeteren. Let op: Hyper-V-productiesnapshots leggen niet de VM-geheugenstatus vast, informatie over zijn CPU-activiteit of hardwareconfiguratie.
In de nieuwe OS-versies (Windows Server 2016 en Windows 10) zijn productiecontrolepunten de standaardoptie voor het type controlepunt. U kunt het echter wijzigen in Hyper-V Manager of Windows PowerShell.
- Standaardsnapshots leggen de VM-status vast, inclusief de CPU-activiteit en het geheugen, en de hardwareconfiguratie op een specifiek moment. Zo maakt een standaard Hyper-V-snapshot het mogelijk om de huidige staat van toepassingen vast te leggen en de VM terug te zetten naar een specifieke momentopname of toestand. Ze zijn voornamelijk van toepassing in ontwikkel- en testscenario’s. Het maken van standaard Hyper-V-snapshots kan niet worden beschouwd als een betrouwbare back-upstrategie, omdat ze mogelijk enkele inconsistentieproblemen met gegevens veroorzaken in toepassingen die niet VSS-compatibel zijn.
Hoe Hyper-V-snapshots werken
Zoals u weet, worden Hyper-V-VM’s opgeslagen in de virtuele schijven, die van het .vhd(x)-bestandsformaat zijn. Tegelijkertijd worden snapshotbestanden die op die Hyper-V-VM’s zijn gemaakt, opgeslagen in het .avhd(x)-bestandsformaat en worden ze in dezelfde map bewaard als het bestand met de schijfimage. Hyper-V-snapshots zijn in feite differentiërende virtuele schijven en elk ervan heeft een ouder-kindrelatie met de overeenkomstige ouder virtuele harde schijf. U kunt maximaal 50 snapshots maken voor elke VM. Alle Hyper-V-snapshots zijn georganiseerd in een hiërarchische volgorde en vormen zo een controlepuntsubboom.
Het probleem is echter dat .avhd(x)-bestanden de neiging hebben zich op te stapelen en veel schijfruimte in beslag te nemen, wat vervolgens de prestaties van de VM beïnvloedt. Als u onnodige .avhd(x)-bestanden wilt verwijderen, moet u Hyper-V-snapshots verwijderen. Deze optie houdt niet in dat u de snapshots daadwerkelijk verwijdert. In plaats daarvan voegt u eenvoudigweg Hyper-V-snapshots samen en de gegevens die ze bevatten in een ouder schijf of een ander virtueel schijf. Het wordt niet aanbevolen om Hyper-V-snapshots rechtstreeks vanaf de computer te verwijderen. Nadat u Hyper-V-snapshots hebt samengevoegd, worden alle .avhd(x)-bestanden van de schijf verwijderd. Op deze manier kunt u extra ruimte creëren op uw Hyper-V-host.
Hoe Hyper-V-snapshots samenvoegen
In een van onze eerdere blogposts hebben we behandeld hoe u Hyper-V-snapshots beheert (aanmaken, toepassen, hernoemen, in-/uitschakelen, enz.). Deze blogpost dient echter als een handleiding voor het handmatig samenvoegen van Hyper-V-snapshots.
Om Hyper-V-snapshots samen te voegen, moet u Hyper-V Manager of PowerShell gebruiken. Beide benaderingen worden hieronder beschreven.
Met Hyper-V Manager
Voordat we beginnen met het beschrijven van hoe Hyper-V-snapshots samen te voegen, moeten we eerst bepalen welke snapshots worden samengevoegd. Hyper-V-snapshots moeten worden samengevoegd in een specifieke volgorde: van kind naar ouder. Daarom is het belangrijk om de structuur van de controletreestruktuur vast te stellen door de volgorde van hun creatie vast te stellen: van de nieuwste naar de oudste.
Zoals hierboven vermeld, heeft elke momentopname een ouder-kindrelatie met een andere momentopname die ervoor is gemaakt. Ze kunnen allemaal worden weergegeven in de vorm van een keten. Bijvoorbeeld, 3 momentopnames werden gemaakt voor 1 virtuele harde schijf. De belangrijkste virtuele schijf waarop de VM wordt uitgevoerd, fungeert als ouder van de eerste controlepunt, dit controlepunt fungeert als ouder van het tweede controlepunt, en het tweede controlepunt fungeert als ouder van het derde controlepunt.
Om de controlepuntenstructuur op te zetten, volgt u deze stappen:
- Open Hyper-V Beheerder.
- Selecteer in het middenpaneel de VM waarvan u wilt dat de momentopnames worden samengevoegd.
- In de sectie Acties aan de rechterkant klikt u op Controleer Schijf.
- Selecteer het .avhd(x)-bestand en klik op OK.
- Vervolgens zou u een algemeen overzicht moeten zien van de eigenschappen van de virtuele harde schijf, inclusief de naam, locatie en de naam van de ouder. Bepaal de ouder van het geselecteerde .avhd(x)-bestand.
- Herhaal stappen 3-5 voor elk .avhd(x)-bestand en identificeer hun volgorde voor samenvoeging.
Daarna kunt u beginnen met het samenvoegen van Hyper-V-snapshots. Let op dat uw VM moet zijn uitgeschakeld om problemen tijdens de samenvoegingsbewerking te voorkomen.
Om Hyper-V-snapshots samen te voegen, volgt u deze stappen:
- Open Hyper-V-beheerder.
- Selecteer de benodigde VM.
- Klik op Bewerk schijf.De wizard Virtuele harde schijf bewerken wordt geopend.Klik op Volgende.
- Klik op Bladeren om het nieuwste .avhdx-bestand te selecteren. Klik op Volgende.
- Selecteer Samenvoegen om de wijzigingen opgeslagen in een verschilbestand samen te voegen met de bovenliggende schijf of een andere schijf. Klik op Volgende.
- Selecteer Naar de bovenliggende virtuele harde schijf en klik op Voltooien.
- Om het proces van het samenvoegen van Hyper-V-snapshots volledig af te ronden, herhaalt u stappen 1-5 voor elk .avhd(x)-bestand, totdat alle wijzigingen zijn samengevoegd in de oorspronkelijke bovenliggende schijf.
- De laatste stap is om de VM opnieuw op te starten om de geïmplementeerde wijzigingen over te nemen.
Met behulp van PowerShell
Voordat je Hyper-V snapshots kunt samenvoegen, zorg ervoor dat je computer de Merge-VHD cmdlet ingeschakeld heeft. Indien niet, zal de volgende fout op het scherm verschijnen:
De term 'Merge-VHD' wordt niet herkend als de naam van een cmdlet, functie, scriptbestand of uitvoerbaar programma.
Controleer de spelling van de naam of, als er een pad is opgenomen, controleer dan of het pad juist is en probeer het opnieuw.
Om dit probleem te verhelpen, open PowerShell als beheerder en voer het volgende commando uit:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Management-PowerShell
Als alles correct is, zou je het volgende moeten zien:
Je bent nu klaar om de Merge-VHD cmdlet uit te voeren. Merk op dat deze operatie offline wordt uitgevoerd.
Om Hyper-V snapshots samen te voegen, voer je deze cmdlet uit:
Merge-VHD Pad = '' DoelPad = ''
In dit geval kunnen de gegevens van meerdere child disks, te beginnen bij de nieuwste, samengevoegd worden in de oudste parent disk. Op het scherm zie je het volgende:
Na voltooiing van de operatie, schakel de gast-VM uit en start het systeem opnieuw op. In tegenstelling tot Hyper-V Manager, waarbij je elke laag van de disk chain afzonderlijk moet samenvoegen, stelt PowerShell je in staat om zo’n complexe operatie uit te voeren met één commando.
Waarom je Hyper-V Snapshots zou moeten gebruiken
Hyper-V-snapshots maken het mogelijk om de staat van de VM op te slaan voordat configuratiewijzigingen worden toegepast, nieuwe software wordt geïnstalleerd, OS-updates worden uitgevoerd, beveiligingspatches worden geüpgraded, enz. Als u van plan bent een bewerking uit te voeren die uw virtuele infrastructuur kan wijzigen of als er een hoog risico is dat dit mislukt, maak dan eerst een Hyper-V-snapshot van uw VM. Het zal dienen als een veiligheidsnet voor het geval er iets misgaat en u het systeem moet terugzetten naar de vorige staat.
Hyper-V-snapshots leveren echter de beste resultaten op wanneer ze worden gebruikt in ontwikkelings- en testomgevingen. Ze zijn geen effectief en betrouwbaar alternatief voor back-ups en we raden af ze te gebruiken in de productieomgeving. Overweeg in plaats daarvan om een uitgebreide Hyper-V-back-upoplossing te gebruiken, die meerdere gegevensbeschermingsopties biedt en u aanzienlijke tijd, geld en moeite kan besparen in vergelijking met traditioneel infrastructuuronderhoud.
Source:
https://www.nakivo.com/blog/merge-hyper-v-snapshots-step-step-guide/