Microsoft heeft als maker van serverbesturingssystemen voor een groot stuk de virtualisatieboot gemist en moet nu achterna roeien. Dat zullen weinigen ontkennen. Het Hyper-V resultaat wordt door velen als ‘too little too late’ beschouwd. Toch blijven we objectief: Hyper-V is bijvoorbeeld de enige hypervisor met gratis High-Availability, hiervoor verwijs ik graag naar mijn eerder artikel. Er […]

Advertentie

Microsoft heeft als maker van serverbesturingssystemen voor een groot stuk de virtualisatieboot gemist en moet nu achterna roeien. Dat zullen weinigen ontkennen. Het Hyper-V resultaat wordt door velen als ‘too little too late’ beschouwd. Toch blijven we objectief: Hyper-V is bijvoorbeeld de enige hypervisor met gratis High-Availability, hiervoor verwijs ik graag naar mijn eerder artikel.

Er zijn echter talrijke voorbeelden van deze recente speler op de markt:

  • De Hyper-V hypervisor zit nu nog maar aan zijn tweede versie ooit: de officiële benaming is dan ook nog Hyper-V R2, niet Hyper-V 2. Binnenkort zelfs Hyper-V R2 SP1.
  • Toen grote concurrent ESX de feature vMotion voorstelde, claimde Microsoft dat dit volledig onnodig was in een productieomgeving: het heeft namelijk geen nut wat betreft ongeplande downtime. Tot Microsoft met Hyper-V R2 en de bijhorende Live Migration feature kwam.
  • Zelfde verhaal met memory overprovisioning voor VM’s: "overroepen" schreeuwt Microsoft, en dan komt nu toch…

Dynamic Memory
Dynamic memory is Microsofts antwoord op memory overprovisioning en nee, deze functie laat geen overcommitment van geheugen toe.

Even herhalen: overprovisioning is meer geheugen uitdelen dan er aanwezig is. Overcommitment is als de virtueel machines dit geheugen ook effectief gebruiken. Beide zijn mogelijk met ESX en enkel overprovisioning zal mogelijk worden met de komende Service Pack voor Hyper-V R2.

Op dit moment is deze SP1 voor Windows 2008 R2 (en Windows 7) reeds in release candidate beschikbaar.

Voor wie het eerdere artikels las, is dynamic memory nog het simpelst uit te leggen als een soort ballooning. Microsoft heeft echter het voordeel dat ze effectief in de Windowskernel kunnen duiken en niet enkel met een driver te werken.

Het vereist wel een update van de Integration Services, die al een extra Synthetic Memory Driver installeren, die samen werkt met de guestkernel.

Bij het aanmaken van een VM geef je hem een Startup RAM mee, de som van deze instelling over alle VM’s mag niet groter zijn dan het totaal aanwezige geheugen. Je kunt tevens een Maximum RAM instellen.
Als een VM meer geheugen nodig heeft dan toegekend is door de Startup RAM-waarde, dan kan deze extra geheugen aanvragen bij de Hyper-V hypervisor via de Synthetic Memory Driver.
Geheugen toevoegen
In de Windowskernels zit reeds een zogenaamde memory hot-addfeature ingebouwd, om dit geheugen ook on-the-fly te kunnen gebruiken. De driver speelt daar handig op in om dynamisch geheugen toe te voegen, maar enkel zo veel als de VM nodig heeft.
Als het nodig is zal hij dit geheugen van andere VM’s pakken, hot-remove kan niet dus gebruikt het de eerder genoemde ballooningtechniek. Bij deze techniek zal de driver binnen het besturingssysteem plots veel geheugen innemen, waardoor het Guest OS geforceerd wordt om inactief geheugen te swappen. Het gespaarde geheugen wordt dan gebruikt om aan andere VM’s toe te kennen.
Hyper-V zelf zal nooit guest swapping uitvoeren, in die zin gebruikt Microsoft dezelfde redenering als VMware: Guest Operating Systems weten van zichzelf het best welk geheugen geswapt kan worden.

 

Nadelen
Doordat de Hyper-V Dynamic Memoryfunctie de Memory-Hot-Addfeature van het gast-OS gebruikt zijn een aantal besturingssystemen niet ondersteund. Dit is niet alleen afhankelijk van de versie, maar ook van de licentie (Standard of Enterprise) van het gebruikte gast-OS. Deze lijst kan wijzigen naargelang de release date van het service pack nadert, maar op dit moment zijn de Web- & Standard-edities niet ondersteund.

Voor Windows 7 & Vista zijn enkel Enterprise & Ultimate ondersteund.

Verder blijft het bij virtualisatie uitermate belangrijk om goed te weten wat voor resources uw virtuele machines (en bij uitbreiding de applicaties erboven) gemiddelde nodig hebben. Meten is en blijft weten.
Tijl Deneut specialiseerde zich in data center technologie met een focus op Storage Area Networks (SAN), netwerken en server virtualisatie. Hij geeft o.a. cursussen i.s.m. VOKA omtrent virtualisatie-optimalisatie aan een breed KMO publiek. In 2008 studeerde hij af als Master Informatie & Communicatietechnieken aan HOWEST.