Hyper-V - Disks

Ook virtuele machines maken gebruik van harddisks, hetzij fysieke of virtuele.
In een virtuele omgeving zijn er meerdere soorten harddisks om virtuele machine aan te bieden.
In deze post zal ik de mogelijke keuzes behandelen en diens voor- en nadelen.


Soorten harddisks in een virtuele omgeving

Er zijn 2 opties om harddisks aan te bieden aan een virtuele machine, een file-based harddisk (VHD) of een harddisk met een directe connectie (pass-through).
Welke gekozen zal worden hangt vaak af van kosten, schaalbaarheid, performance eisen of ondersteuning van gewenste features zoals bijvoorbeeld Cluster Shared Volumes.

De eerste optie is een Virtual Hard Disk (VHD).
Een VHD is een bestand die door de hypervisor gekoppeld wordt aan een virtuele machine en hiermee een LUN of partitie simuleert. De virtuele machine zal deze harddisk of partitie niet anders behandelen dan bij een fysieke machine.
Er zijn meerdere soorten VHD’s, welke ik verder in deze post individueel zal behandelen.

De tweede optie is een Pass-through Disk.
Een passthrough disk is een fyieke harddisk welke rechtstreeks door de hypervisor wordt aangeboden aan een virtuele machine.



Virtual Hard Disk (VHD)

Zoals eerder aangegeven is een VHD een bestand op de Hyper-V server die als virtuele hard disk dienst doet voor een VM. De VM ziet dit betstand als de lokale disk. Er zijn meerdere soorten Virtual hard disks:
•    Fixed Disk
•    Dynamic Disk
•    Differencing Disk


Fixed-Size VHD

Deze keuze geeft, van de VHD keuzes, de beste performance. Bij een Fixed-Size VHD wordt een *.vhd bestand aangemaakt welke de gedefiniëerde grootte heeft. Indien er 40GB is ingesteld, zal het bestand de volle 40GB in gebruik nemen.
De ruimte die echter niet gevuld wordt met data, wordt weggeschreven met nullen. De reden hiervoor is veiligheid.

Voordelen:
•    Hoge performance.

Nadelen:

•    Aanmaken van disk kost veel tijd.


Dynamic VHD

Bij deze keuze zal de daadwerkelijke grootte van het VHD bestand slechts een klein percentage groter zijn als de som van de data welke is opgeslagen binnen de VHD. In tegenstelling tot een Fixed-Size VHD, waarbij onmiddelijk de volledig geconfigureerde ruimte in gebruik genomen zal worden, zal een Dynamic VHD mee groeien aan de hand van de hoeveelheid data binnen de VHD. Dit houdt in dat een Dynamic VHD slechts in gebruik zal nemen wat hij gebruikt, niets meer en niets minder.
Sinds Hyper-V 2008 R2 is het verschil in performance ten opzichte van een Fixed-Size VHD minimaal geworden.

Het risico met het gebruik van Dynamic VHD’s is dat de totale som van de maximale grootte van de VHD’s, meer kan zijn dan de ruimte die binnen de storage beschikbaar is. Dit noemt men storage overcommitment.
Wanneer de VHD’s groeien en de storage vol loopt kunnen ze niet meer verder groeien, wat ervoor zal zorgen dat de machines in pauze gaan.
Dit in tegenstelling tot wanneer er storage overcommit wordt gedaan op de SAN wat ervoor kan zorgen dat machines volledig falen! Denk hierbij aan een database server die zijn data niet meer kwijt kan, of een applicatie die zijn bewerkingen niet meer uit kan voeren omdat deze hiervoor additionele storage nodig heeft wat tot systeem crashes kan leiden; geen wenselijke situaties.

Doordat deze keuze het risico van storage overcommitment met zich mee brengt evenals niet de beste performance zal leveren, wordt deze optie vaak gebruikt in test- en demo omgevingen. Binnen de Microsoft Community zijn er discussies of deze technologie wel of niet geschikt is voor productie omgevingen, maar vooralsnog wordt het aanbevolen dynamic VHD’s niet in productieomgevingen te gebruiken.

Ook is er een verschil in performance tussen dynamic VHD’s en fixed-size VHD’s bij schrijf acties, hoewel dit sinds Windows Server 2008 R2 SP1 slechts rond de 2% is.

Voordelen:
•    Neemt minder opslagcapaciteit in beslag.

Nadelen:

•    Risico op storage oversubscription.
•    Lagere performance bij schrijf-acties.
•    Niet altijd ondersteund door applicatie leveranciers.


Differencing VHD

Een voorbeeld van een differencing VHD is een snapshot waarbij je gemakkelijk gemakkelijk en snel terug naar een vorige situatie.
De originele VHD blijft bestaan, echter worden alle wijzigingen opgeslagen in de differencing disk.
Deze voordelen zorgen ervoor dat differencing VHD’s goed te gebruiken zijn voor demonstratie- en test omgevingen.
Doordat de hypervisor binnen beide disks zal kijken en daarnaast een secundaire administratie binnen de differencing disk bij moet houdenk zal er een lagere performance zijn. Het advies is dan ook om differencing disks niet in productie omgevingen te gebruiken.

Voordelen:
•    Ideaal voor test omgevingen.

Nadelen:

•    Neemt veel opslagcapaciteit in beslag .
•    Laagste performance.


Pass-through Disk

Deze keuze geeft de beste performance. Er wordt vanaf het onderliggende opslagmedium een LUN aangeboden aan de virtuele machine, wiens besturingsysteem vervolgens één of meerdere partities op de schijf kan aanmaken. Bij een Passthrough Disks wordt er geen gebruik gemaakt van een *.vhd bestand.

Over het algemeen wordt een Passthrough Disk gebruikt om de best mogelijke  performance te halen of wanneer er een disk benodigd is welke groter moet zijn dan 2040 GB, wat het limiet is van een VHD disk.

Voordelen:
•    Hoogste performance.
•    Schaalbaar.
•    Kan meer dan 2040 GB zijn.

Nadelen:
•    VHD backup d.m.v. Volume Shadow Copy Service (VSS) werkt niet.
•    “virtual machine storage relocation” werkt niet.
•    Hyper-V snapshots werken niet.


Keuzes

Het is verstandig om per optie duidelijk de voor- en nadelen in kaart te brengen zodat aan de hand van de eisen de beste keuze gemaakt kan worden.
Welke keuze voor welke situatie geschikt is, is zoals altijd afhankelijk van de eisen. Vaak hoor ik van Database Managers dat ze de best mogelijke performance willen, dus krijgen ze een Passthrough Disk. Medewerkers van de Pre-Sales afdeling willen daarentegen vaak dingen tonen bij klanten maar doen geen aanpassingen op de virtuele machines, waardoor Dynamic VHD voor hun erg interessant is.


Voor zij die meer en uitvoerige informatie over de type VHD’s zoeken, kan er gekeken worden op de TechNet Library. Over Passthrough disks heeft Jeff Hughes (Microsoft) een goed artikel.