Hyper-V is populair. Maar om net zo populair te worden als zijn gedegen concurrent is er eigenlijk nog een upgrade nodig en dat is Live Migration. Gelukkig heeft Microsoft dat ook begrepen. Live Migration is daarom in ontwikkeling en zal onderdeel uitmaken van Hyper-V versie 2.0 wat weer een onderdeel zal zijn van Windows Server 2008 R2. Aangezien Windows Server 2008 R2 reeds in beta beschikbaar is, is het hoog tijd om eens met Live Migration aan de slag te gaan. Maar voordat ik laat zien hoe Live Migration werkt, eerst een korte uitleg van wat Live Migration is.

Hyper-V is populair. Maar om net zo populair te worden als zijn gedegen concurrent is er eigenlijk nog een upgrade nodig en dat is Live Migration. Gelukkig heeft Microsoft dat ook begrepen. Live Migration is daarom in ontwikkeling en zal onderdeel uitmaken van Hyper-V versie 2.0 wat weer een onderdeel zal zijn van Windows Server 2008 R2. Aangezien Windows Server 2008 R2 reeds in beta beschikbaar is, is het hoog tijd om eens met Live Migration aan de slag te gaan. Maar voordat ik laat zien hoe Live Migration werkt, eerst een korte uitleg van wat Live Migration is.
Wat is Live Migration?
Laten we eerst even kijken waar welke functionaliteit thuishoort:
Besturingsysteem Hyper-V Functionaliteit Release datum
Windows Server 2008 versie 1.0 Quick Migration Feb 2008
Windows Server 2008 R2 versie 2.0 Live Migration begin 2010??
Een migratie van een virtuele machine is het verhuizen van een virtuele machine van de ene node (ofwel host) naar de andere node. Dit kan nu met behulp van Quick Migration en in de toekomst met behulp van Live Migration.
Eigenlijk is Quick Migration op een slimme manier omgaan van de reeds aanwezige Failover Cluster Feature. Met behulp van Quick Migration kan een Failover snel gebeuren. Snel betekent op mijn computersystemen zo'n 20 seconden. Dat betekent dus een bepaalde service zo'n 20 seconden niet beschikbaar is. Dus ‘quick’ is niet snel genoeg. Met behulp van Live Migration is dat minder dan een seconde. Laten we eerst eens even kijken wat er nu precies gebeurt tijdens een Quick Migration en een Live Migration:
Met behulp van Quick Migration gebeurt het volgende tijdens een failover
  1. Als de VM draait wordt deze opgeslagen in 'Save State' mode. Dit betekent dat de inhoud van het geheugen wordt opgeslagen, enigszins vergelijkbaar met Hybernation op een fysieke machine.
  2. De VM wordt gekopieerd naar de andere node.
  3. Als de VM draaide wordt de VM wordt weer gestart.
Tijdens een Live Migration is de werkwijze heel anders
  1. De Virtuele Harddisk wordt gekopieerd naar de andere node, dit kan gewoon terwijl de machine op de originele node blijft draaien.
  2. Het geheugen van de machine wordt gekopieerd naar de andere node, dit kan ook gewoon terwijl de machine op de originele node blijft draaien.
  3. Er wordt bekeken welke informatie in het geheugen allemaal is gewijzigd tijdens het kopiëren en deze wordt wederom gekopieerd.
  4. Er wordt weer bekeken welke informatie in het geheugen is gewijzigd en ook deze wordt weer gekopieerd. Deze keer zal de hoeveelheid gewijzigde informatie beduidend minder zijn omdat de vorige kopieeractie kleiner en sneller was dan de eerste.
  5. Bovenstaande wordt herhaald totdat de hoeveelheid gewijzigde informatie bijna nihil is.
  6. Er vindt nu een Failover plaats, dit gaat razendsnel omdat er bijna niets meer gekopieerd hoeft te worden. Hieronder zie je nog 2 screenshots waarin je het verschil ziet tussen Windows Server 2008 en Windows Server 2008 R2.
Windows Server 2008 en Windows Server 2008 R2
De proefopstelling
Om live migratie te testen heb ik de volgende hardware gebruikt: 3 x Dell Optiplex 745 met 1,86 GHz Dual Core en 2GB Ram.
Deze systemen waren voorzien van de volgende software:
Computer 1 en 2: (Cluster Nodes)
  • Windows Server 2008 R2 Enterprise, build 6801 (nov 2008)
  • Roles: Hyper-V; Features: Failover clustering
Computer 3: (Storage Server en Domain Controller)
  • Windows Server 2008 R2 Enterprise, build 6801 (nov 2008)
  • Roles: DNS, AD; Software: Starwind iSCSI target v3.5.5.5 trial license
Naast standaard Microsoft Rollen en Features heb ik gebruik gemaakt Starwind iSCSI target om een Storage Server (SAN) te maken. In Windows zit geen mogelijkheid om een Storage Server te maken. Er bestaat wel zoiets als Windows Storage Server (WSS) die vandaag de dag nog niet beschikbaar is in een Windows Server 2008 variant. In Windows Server 2008, en dus ook R2, zit wel een iSCSI initiator. Dit is client software om een verbinding te maken met een Storage Server gebaseerd op iSCSI.
Live Migration met Hyper-V v2.0
Stap 1 opzetten van LUN
De eerste stap is om een aantal LUNs te maken op de Storage Server waar uiteindelijk de virtual machines op worden opgeslagen. Dit kan door in Starwind iSCSI devices aan te maken, de eenvoudigste keuze is om hiervoor image bestanden aan te maken. Let er bij de aanmaak van de devices op dat je kiest voor 'Allow multiple concurrent connections' wat belangrijk is voor clustering. Er zijn namelijk meerdere Nodes die dezelfde LUN moeten kunnen zien.
Live Migration met Hyper-V v2.0
De LUNs moeten nu worden opgenomen in de Cluster Nodes. Hiervoor wordt gebruikt gemaakt van de iSCSI initiator. Onder de discovery-tab geef je aan op welke computer (IP of hostname) de LUNs staan. Daarna komen de LUNs te voorschijn in de Target-tab waar je een connectie kunt maken. Dit doe je op beide Nodes.
Live Migration met Hyper-V v2.0
Als je de connecties hebt gemaakt komen ze te voorschijn in Disk Management. Vanuit hier kun je de LUNs Online brengen, initialiseren en formatteren. Deze drie acties doe je op de eerste node voor iedere LUN. Voor de andere node hoef je ze daarna enkel maar online te brengen.
Live Migration met Hyper-V v2.0
Je hebt minimaal 2 LUNs nodig, één voor de quorum en één voor de Virtual Machines (VHDs).
Stap 2: Maak een failover cluster
Nu beide computers een connectie hebben naar dezelfde storage kun je een Cluster maken. Gelukkig is dat in Windows Server 2008 sterk vereenvoudigd.
Live Migration met Hyper-V v2.0
Alvorens de Cluster te maken is het verstandig om eerst de Cluster de valideren. Tijdens deze validatie worden vele testen gedaan. Dit zijn o.a. hardware-eisen, connecties naar een shared Storage, netwerkveringen. De validatie lever een HTML-Rapport. De enige warning in mijn situatie was dat mijn systemen maar één netwerkkaart hebben. Het is een productieomgeving namelijk sterk aanbevolen om voor de iSCSI communicatie een apart netwerk te maken.
Live Migration met Hyper-V v2.0
De uitslag van de validatie is slecht ter info en heeft geen invloed op de daadwerkelijke creatie van het cluster. Na de validatie is het tijd om het cluster te maken. Dit gaat ook eenvoudig met de 'Create a Cluster...'-wizard. Het enige wat je hier aangeeft is welke computers de nodes worden in je cluster. In mijn geval zijn dat twee systemen. Als het Cluster is gemaakt dan zijn er op dat moment nog geen services of applicaties die 'High Available' zijn. Uiteraard gaan we een Virtuele Machine High Available maken. Maar dan moet je wel een virtuele machine hebben. Ik heb hier voor een 'simpele' VM gekozen, namelijk DOS! Tijdens de creatie van de VM moet je de VHD natuurlijk wel op je shared storage zetten, dit is noodzakelijk voor de cluster.
Live Migration met Hyper-V v2.0
En dan zijn we nu op het punt aangekomen dat we een Failover Cluster kunnen maken.
Live Migration met Hyper-V v2.0
De Service die wij 'High Available' gaan maken is natuurlijk een Virtual Machine.
Live Migration met Hyper-V v2.0
Live Migration met Hyper-V v2.0
Het managen van de High Available Virtual Machine wordt verder gedaan vanuit de Failover Cluster manager. Vanuit hier heb je de mogelijkheid om je VM te verhuizen naar een andere node met behulp van Live Migration.
Live Migration met Hyper-V v2.0