Hoe te werken met Hyper-V VHD- en VHDX-bestanden: essentiële basisprincipes

De release van Windows Server 2012 werd warm verwelkomd vanwege de introductie van meerdere virtualisatiefuncties, waaronder het nieuwe VHDX-bestandsformaat. VHDX is in wezen de opvolger van VHD, maar met meer geavanceerde mogelijkheden. U kunt echter nog steeds VHD-bestanden maken en beheren in uw Hyper-V-omgeving. Laten we eens kijken hoe Hyper-V VHD- en VHDX-bestanden verschillen, welke voordelen ze bieden en hoe ze kunnen worden gebruikt.

Over Hyper-V VHD- en VHDX-bestanden

Virtuele schijven gemaakt in de Hyper-V-omgeving kunnen worden opgeslagen als bestanden in VHD- of VHDX-indeling op een fysieke schijf. Virtuele harde schijven zijn een alternatief voor fysieke harde schijven; ze fungeren als de harde schijven van een virtuele machine (VM). Virtuele schijven kunnen een native bestandssysteem, schijfpartities, sectoren en mappen bevatten. Ze kunnen standaard schijf- en bestandsbewerkingen uitvoeren. Elke VM moet minimaal één virtuele harde schijf hebben die kan worden gebruikt als opslag voor VM-gegevens.

Eerdere versies van Windows ondersteunden slechts één bestandsindeling voor virtuele schijven – VHD. Als gevolg van groeiende technologische eisen introduceerde Windows 2012 het VHDX-bestandsformaat, dat aanzienlijk verbeterde opslagcapaciteit, verbeterde prestaties op schijven met grote sectoren en hogere niveaus van gegevensbescherming heeft gegarandeerd.

Zowel Hyper-V VHD- als VHDX-bestanden kunnen van verschillende typen zijn:

  • Vast. Ruimte voor de virtuele schijf wordt toegewezen wanneer het VHD-bestand wordt gemaakt. Het bestand van de virtuele harde schijf heeft dezelfde grootte als de virtuele harde schijf. De grootte blijft constant, ongeacht toegevoegde of verwijderde gegevens.
  • Dynamisch uitbreiden. Ruimte voor de virtuele schijf wordt op verzoek toegewezen. De virtuele harde schijf heeft een bepaalde hoeveelheid fysieke opslagruimte die potentieel gebruikt kan worden, maar de ruimte wordt toegewezen wanneer dat nodig is. Daardoor neemt de grootte van het VHD- of VHDX-bestand toe wanneer er nieuwe gegevens worden toegevoegd.
  • Verschillend. Dit schijftype wordt gebruikt om de wijzigingen te identificeren, op te slaan, te beheren en terug te draaien die zijn aangebracht aan een andere virtuele schijf of de ouderlijke schijf.

Verschillen tussen Hyper-V VHD- en VHDX-bestanden

Om beter te begrijpen hoe Hyper-V VHD- en VHDX-bestanden functioneren, laten we kijken naar hoe de bestandsindelingen verschillen. Dit vertelt ons op zijn beurt hoe elk van hen de prestaties van de virtuele schijven kan verbeteren. De volgende tabel vergelijkt de twee indelingen:

VHD VHDX
Het basisbestandsformaat ondersteund door Windows, Citrix en Oracle Een geavanceerd bestandsformaat ondersteund door Windows
Tot 2 TB opslagcapaciteit Tot 64 TB opslagcapaciteit
VHD-bestanden bieden minder bescherming tegen gegevenscorruptie dan hun VHDX-tegenhangers VHDX-bestanden bieden robuuste bescherming tegen gegevenscorruptie door metadata bij te houden
Ondersteuning voor aangepaste metadata wordt niet geboden Aangepaste metadata wordt ondersteund en kan worden opgeslagen
Ondersteund door Windows Server 2008, 2008 R2, 2012 en 2012 R2 Ondersteund door Windows 2012 en later
Geen live vergroting Live vergroting is beschikbaar
Logische sectorsize van 512 bytes Logische sectorsize van 4 KB
Problemen met gegevensuitlijning Betere gegevensuitlijning
Trimmen wordt niet ondersteund Trimmen wordt ondersteund

Zoals u kunt zien, bevat het nieuwe Hyper-V VHDX-bestandsformaat verschillende functies die de bruikbaarheid ervan aanzienlijk hebben verbeterd. Bijvoorbeeld, trimmen stelt u in staat om gegevensblokken te identificeren die niet langer worden gebruikt en kunnen worden verwijderd, wat de opslagoptimalisatie verbetert en de algehele prestaties verbetert. Een andere functie die werd geïntroduceerd met het nieuwe Hyper-V VHDX-bestandsformaat is Shared VHDX, waarmee VM’s op hetzelfde gastcluster een VHDX-bestand kunnen gebruiken als gedeelde opslag. Bovendien kunt u dankzij Hyper-V VHDX-bestanden virtuele schijven op aanvraag vergroten of verkleinen terwijl de VM nog steeds actief is, wat aanzienlijk tijd bespaart en overhead vermindert. Ten slotte kunnen Hyper-V VHDX-bestanden dankzij verbeterde gegevensuitlijning aanzienlijke verbeteringen in I/O-bewerkingen opleveren. Daarentegen zijn fysieke schijven met grote sectoren vatbaar voor prestatieverlies.

Zelfs als VHDX een geavanceerdere versie is van het VHD-formaat, zijn er nog steeds gevallen waarin het gebruik van VHD de voorkeur heeft. Bijvoorbeeld, Hyper-V VHDX-bestanden zijn niet compatibel met eerdere versies van Windows Server. Als u dus virtuele omgevingen met gemengde gast-OS’en draait en VM’s tussen verschillende hosts moet verplaatsen, zou het VHD-bestandsformaat de optimale keuze zijn, aangezien het wordt ondersteund door meer OS’en.

Hoe te werken met Hyper-V VHD- en VHDX-bestanden in PowerShell

Nu je weet wat Hyper-V VHD- en VHDX-bestanden zijn en welke voordelen ze kunnen bieden, ben je klaar om je virtuele harde schijven te maken en configureren. Hiervoor kun je Hyper-V Manager of PowerShell in de beheerdersmodus gebruiken. In deze blogpost beschrijven we hoe je Hyper-V VHD- en VHDX-bestandsbewerkingen kunt beheren in PowerShell. Dit is de beste aanpak, omdat PowerShell meer opties biedt voor het configureren van Hyper-V VHD- en VHDX-bestanden. Je kunt snel en eenvoudig schijven maken, converteren, samenvoegen of verwijderen door PowerShell-scripts uit te voeren.

Maak Hyper-V VHD- en VHDX-bestanden

Om een nieuwe virtuele harde schijf in het VHD- of VHDX-formaat te maken, open je PowerShell als beheerder en voer je de New-VHD cmdlet uit. Het volgende voorbeeld laat zien hoe je een virtuele harde schijf van het dynamische type maakt op het opgegeven pad, met een grootte van 10 GB, een blokgrootte van 128 MB en een logische sectorsize van 4 KB. Let op dat het bestandsextensie (.vhd of .vhdx) bepaalt het bestandsformaat; in dit geval wordt een VHDX-bestand gemaakt.

New-VHD -Path 'C:\Virtual Disks\DemoDisk.vhdx' -BlockSizeBytes 128MB -LogicalSectorSize 4KB -SizeBytes 10GB -Dynamic

De virtuele harde schijf is nu gemaakt en de volgende informatie over de virtuele schijf wordt weergegeven in het PowerShell-venster.

Voeg Hyper-V VHD- en VHDX-bestanden toe

Met het Add-VMHardDiskDrive cmdlet kunt u een virtuele harde schijf toevoegen aan een specifieke VM. In het volgende voorbeeld wordt de virtuele harde schijf DemoDisk.vhdx op het opgegeven pad gekoppeld aan de VM met de naam DemoVM. De SCSI-controller, de controller nummer 0 en de controller locatie 1 worden ook toegewezen aan de virtuele schijf.

Add-VMHardDiskDrive -VMName DemoVM -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 1 -Path 'C:\Virtual Disks\DemoDisk.vhdx'

Verwijder Hyper-V VHD- en VHDX-bestanden

Het Remove-VMHardDiskDrive commando wordt gebruikt om een virtuele harde schijf uit een VM te verwijderen. Om te demonstreren hoe dit cmdlet werkt, hier is hoe u de schijf die zojuist is aangemaakt kunt verwijderen:

Remove-VMHardDiskDrive -VMName DemoVM -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 1

Met behulp van deze cmdlets kunt u eenvoudig virtuele schijven maken en verwijderen met de vereiste parameters en ze koppelen aan specifieke VM’s.

Converteer Hyper-V VHD- en VHDX-bestanden

Zoals hierboven vermeld, bieden VHDX-bestanden een hele reeks voordelen ten opzichte van hun VHD-voorgangers. Daarom is het in veel gevallen raadzaam om alle VHD-bestanden naar VHDX-indeling om te zetten. Om Hyper-V VHD-bestanden naar VHDX te upgraden, voert u eenvoudigweg de Convert-VHD cmdlet uit, waarmee u het bestandsformaat kunt wijzigen terwijl de inhoud van de bron virtuele harde schijf wordt opgeslagen. De gegevens van de bron virtuele harde schijf worden gekopieerd naar een nieuwe schijf van het vereiste formaat. De bewerking moet offline worden uitgevoerd; het wordt aanbevolen om de virtuele harde schijf los te koppelen. Het onderstaande voorbeeld toont de cmdlet waarmee conversie van Hyper-V VHD-bestanden naar VHDX mogelijk is:

Convert-VHD -Path ‘C:\Nieuwe virtuele schijven\Vaste schijf.vhd’ -DestinationPath ‘C:\Nieuwe virtuele schijven\Vaste schijf.vhdx’

Onthoud echter dat VHDX-bestanden alleen compatibel zijn met Windows Server 2012 en later. Daarom moet u mogelijk Hyper-V VHDX-bestanden naar VHD converteren. In dat geval kan dezelfde Convert-VHD cmdlet worden gebruikt, maar dan omgekeerd. Onthoud dat de virtuele harde schijf moet worden losgekoppeld voordat u de bewerking uitvoert.

Convert-VHD -Path ‘C:\Virtuele schijven\DemoDisk.vhdx’ ‘C:\Virtuele schijven\DemoDisk.vhd’

Voeg Hyper-V VHD- en VHDX-bestanden samen

Zoals hierboven vermeld, worden differentiedisks gebruikt om de wijzigingen die zijn aangebracht in een andere VHD of een gast-OS op te slaan en terug te draaien. Elke differentiedisk houdt de wijzigingen bij die zijn aangebracht in één bijbehorende virtuele schijf. In dit geval wordt de differentiedisk aangeduid als een “kindschijf” en de virtuele harde schijf wordt een “ouderdisk” genoemd. Met de Merge-VHD-cmdlet kunt u de wijzigingen die zijn opgeslagen in een differentiedisk samenvoegen in de ouderdisk of in een andere child-disk in de differentiediskketen. Let op: deze bewerking wordt offline uitgevoerd; zorg ervoor dat de diskketen is losgekoppeld.

Om de child-virtuele harde schijf naar de ouder-virtuele harde schijf te samenvoegen, voert u de volgende cmdlet uit. Let op: zodra de bewerking is voltooid en de inhoud van de child-disk is overgebracht naar de ouder, wordt de differentiedisk vernietigd.

Merge-VHD -Path ‘C:\Virtual Storage\Differencing.vhdx’

In het volgende voorbeeld hebben we een ouderdisk, maindisk.vhdx, en een child-disk, ChDisk1.vhdx, die zelf een child heeft: ChDisk2.vhdx. De laatste virtuele schijf heeft zelfs zijn eigen child, ChDisk3.vhdx. Samen vormen deze schijven de differentiediskketen. De volgende cmdlet kan worden gebruikt om de child-virtuele harde schijven in de diskketen samen te voegen.

Merge-VHD -Path ‘C:\VM Testing\ChDisk3.vhdx’ -DestinationPath ‘C:\VM Testing\ChDisk1.vhdx’

Door middel van deze operatie worden de gegevens van ChDisk3.vhdx en ChDisk2.vhdx samengevoegd tot ChDisk1.vhdx. Het PowerShell-script vereenvoudigt het proces van het samenvoegen van virtuele harde schijven; de hele operatie kan in één keer worden uitgevoerd, ongeacht de grootte van de verschilketen. Dit is een voordeel van PowerShell – met Hyper-V Manager mag je niet meerdere lagen van de verschilharde schijfketen tegelijk samenvoegen. Je zou elke laag van de verschilharde schijfketen handmatig moeten samenvoegen, en deze extra stappen zouden je tijd en moeite kosten.

Koppel Hyper-V VHD- en VHDX-bestanden aan

De Mount-VHD-cmdlet stelt je in staat om een of meer virtuele harde schijven te koppelen. Het volgende voorbeeld laat zien hoe je een virtuele harde schijf met het pad C:\Virtual Disks\DemoDisk.vhdx kunt koppelen.

Mount-VHD -Path ‘C:\Virtual Disks\DemoDisk.vhdx’

Met behulp van PowerShell-scripts kun je een virtuele harde schijf in alleen-lezen modus koppelen:

Mount-VHD -Path ‘C:\Virtual Disks\DemoDisk.vhdx’ -ReadOnly

Ontkoppel Hyper-V VHD- en VHDX-bestanden

Als je een virtuele harde schijf wilt ontkoppelen, voer je de Dismount-VHD-cmdlet uit in PowerShell. In het onderstaande voorbeeld zie je hoe je de virtuele harde schijf met het pad C:\Virtual Disks\DemoDisk.vhdx kunt ontkoppelen.

Dismount-VHD -Path ‘C:\Virtual Disks\DemoDisk.vhdx’

Een andere optie is om de virtuele harde schijf te ontkoppelen met behulp van het schijfnummer van de gekoppelde schijf, zoals hieronder wordt weergegeven:

Dismount-VHD -DiskNumber 8

Formaat Hyper-V VHD- en VHDX-bestanden wijzigen

Als u een virtuele harde schijf wilt wijzigen (verkleinen of vergroten), moet de cmdlet Resize-VHD worden gebruikt. Het volgende voorbeeld toont hoe u een virtuele harde schijf kunt wijzigen door deze een nieuwe opgegeven grootte toe te kennen. In dit geval hebben we de VHDX uitgebreid van 10GB naar 20GB:

Resize-VHD -Path 'C:\Virtual Disks\DemoDisk.vhdx' -SizeBytes 20GB

Let op, verkleinen is alleen beschikbaar voor VHDX-bestanden. Merk op dat de virtuele harde schijf niet mag worden verkleind tot een grootte die kleiner is dan de opgegeven minimumgrootte. Om de minimumgrootte van de virtuele harde schijf te zien, voert u de volgende cmdlet uit:

Get-VHD -Path 'C:\Virtual Hard Disks\demovdisk.vhdx'

U kunt de volgende opdracht gebruiken om het VHDX-bestand te verkleinen tot de minimumgrootte:

Resize-VHD -Path 'C:\Virtual Hard Disks\demovdisk.vhdx' -ToMinimumSize

Conclusie

Zowel Hyper-V VHD- als VHDX-bestanden spelen een belangrijke rol in virtuele omgevingen omdat ze fungeren als de harde schijven van een VM. Het VHD-bestandsformaat werd lange tijd gebruikt, maar om gelijke tred te houden met de voortdurende vooruitgang van virtualisatietechnologie introduceerde Microsoft een geavanceerdere versie. Zo werd het VHDX-bestandsformaat uitgebracht met Windows Server 2012 om de prestaties van fysieke schijven met grote sectoren te verbeteren, de opslagcapaciteit te vergroten en gegevensbescherming te waarborgen.

Na vergelijking van alle functies die Hyper-V VHD en VHDX-bestanden bieden, is het veilig te zeggen dat Hyper-V VHDX een efficiëntere en betrouwbaardere bestandsindeling is, ontworpen om de prestatie-eisen van moderne virtuele omgevingen aan te kunnen.

Zorg ervoor dat je VHD en VHDX-schijven beschermt met een databeveiligingsoplossing die is afgestemd op virtualisatie-infrastructuur. Overweeg NAKIVO Backup & Replication, een snelle en kosteneffectieve oplossing die meerdere opties biedt voor het beveiligen van Hyper-V, VMware, AWS EC2 en Microsoft 365-omgevingen.

Source:
https://www.nakivo.com/blog/work-hyper-v-vhd-vhdx-files-essential-basics/