TEST DOOR BRAM DONS
Bètaversie Windows Server 2008 R2 getest
Realtime VMs migreren met Cluster Shared Volumes 40 STORAGE MAGAZINE · 2 · APRIL 2009
Shared storage wordt bij serverconsolidatie vaak gebruikt om Virtuele Machines (VMs) realtime te kunnen migreren. Op Microsoft na, hadden de meeste softwareleveranciers daarvoor al een oplossing. Bram Dons keek alvast naar de bètaversie van Windows Server 2008 R2 van Microsoft waarin Cluster Shared Volumes (CSV) een grote rol spelen. Van oudsher gebruiken clustersystemen shared storage om nodes toegang te geven tot dezelfde volumes die zich op een gemeenschappelijk storagesysteem bevinden. Deze shared storagetechnologie wordt, naast bij clustersystemen, ook bij virtualisatie van servers, ook wel serverconsolidatie, gebruikt. Of het nu full virtualization of para-virtualization-implementaties zijn van bekende leveranciers als VMware, Oracle VM, Citrix en Windows Hyper-V, allemaal gebruiken zij shared storage voor het realtime verplaatsen van Virtual Machines (VMs). Soms worden daarbij failover- cluster- en virtualisatietechnologie met elkaar gecombineerd. Voorbeelden hiervan zijn de begin volgende jaar uit te brengen nieuwe Windows Server 2008 R2 release en Oracle RAC. Onlangs heeft Microsoft de bètaversie van R2 vrijgegeven waarin clustering met shared storage is aangevuld met Cluster Shared Volumes (CSV).
Shared storage en VMs Een belangrijk element bij de toepassing van servervirtualisatie is de mogelijkheid om besturingssystemen met bijbehoren-
de applicaties realtime van de ene naar de andere fysieke server te kunnen verplaatsen. Zowel het besturingssysteem, als de bijhorende applicaties worden op een virtuele disk opgeslagen, vaak niet meer als een gewoon bestand. Op deze manier wordt het op de fysieke server draaiende besturingssysteem ook gewoon als een bestand beschouwd dat zich ergens op een lokaal diskvolume of binnen het SAN bevindt.
moment toegang krijgt. Bij VMware heet dit omschakelproces VMotion, Citrix noemt het Xenserver XenMotion en Microsoft Windows Server 2008 R2 geeft het de naam Live Migration. Afhankelijk van de virtualisatie-implementatie, hebben alle gevirtualiseerde servers via het SAN, op basis van iSCSI of FC en in een enkel geval via een IP-netwerk of NFS, toegang tot dezelfde volume(s). Het is duidelijk dat bij toegang tot een volume op een shared storage er een regeling nodig is die voorkomt dat meerdere systemen ongewild gelijktijdig toegang krijgen. Hiervoor is op elke server speciale software nodig. Een veel gebruikte methode is een uitbreiding van het SCSI-protocol, de zogenaamde SCSI Reserve/Release en Persistent Reservations, zoals gedefinieerd in de SCSI3-standaard (zie kader op pagina 44). De meeste moderne storage arrays onder-
SCSI-3 IS EEN VEELGEBRUIKT PROTOCOL
Bij een realtime-migratie van deze virtuele disk, en dus tevens van het besturingssysteem, tussen de fysieke servers vindt echter geen datatransport over het SAN plaats. Dat is ook niet nodig, want alle nodes hebben via de shared storageverbinding al direct toegang tot het virtuele diskbestand. Alleen de toegangsrechten van de fysieke server tot het gedeelde volume wordt via software geregeld, zodat slechts één server op een bepaald
steunen dit protocol. Vooral Microsoft Windows Clustering en de nieuwe Windows Server 2008 R2 release zijn op de SCSI-3-standaard gebaseerd. Net als bij de vorige Windows 2008 release, is virtualisatie binnen de R2 release ook op Windows Clustering gebaseerd, dat wil zeggen dat Windows Clustering op alle fysieke servers moet zijn geïmplementeerd. Bij de implementatie van virtualisatie is het dan ook belangrijk om vooraf te controle-
Virtual machine 3 Virtual machine 4
qualified path naar elke van de CSV volumes er als volgt uit: R:\ClusterStorage\Volume1 \root. Alle clusternodes hebben via dit pad toegang tot de CSVs. Hoewel CSVs hoofdzakelijk voor Live Migration worden toegepast, zijn er nog andere voordelen. Ten eerste zijn ze eenvoudiger met NTFS configureren, in plaats dat dit via een of ander proprietary file system format moet gebeuren. Dit betekent dat beheerders hun SANs niet opnieuw hoeven te formatteren om CSVs te kunnen gebruiken. Met een proprietary cluster file system moet dit nog wel gebeuren. Ook het toekennen van drive letters komt daarmee te vervallen, wat voor eindgebruikers het werken in een SAN-omgeving een stuk vergemakkelijkt. Voor CSVs zijn ook geen aparte configuratie en beheertools meer nodig, aangezien dezelfde tools van Windows Server 2008 ook voor CSV in R2 kunnen worden gebruikt.
Cluster shared volume reroutes I/O based on connection availbility
Cluster node 1
Cluster node 2
Storage Area Network
Cluster shared volume
Virtual machine 1 VHD
Virtual machine 3 VHD
Virtual machine 2 VHD
Virtual machine 4 VHD
Microsoft Live Migration
Figuur 1: Dynamic I/O redirection CSV (bron Microsoft).
ren of de storage array, zowel iSCSI als FC, deze uitbreidingen op het SCSI-protocol ondersteunt. Dat geldt trouwens ook voor een op iSCSI software gebaseerde targetimplementatie.
Cluster Shared Volumes Vanaf de eerste release is servervirtualisatie op basis van Microsoft Hyper-V-technologie al onderdeel van Windows Server 2008. Tot dusver was geen migratie van een actieve VM mogelijk, maar wel de zogenaamde cold migration van een inactieve VM. Windows Server 2008 Release 2 (R2) gaat daar nu verandering in brengen. Sinds kort is de bètaversie beschikbaar die het lang verwachte Live Migration van VMs ondersteunt. De definitieve release wordt op zijn vroegst pas eind dit jaar verwacht. Live Migration kan van nieuwe Cluster Shared Volumes (CSV) feature binnen Failover Clustering in Windows Server 2008 R2 gebruikmaken. Let wel, CSV is een extra feature in een R2-cluster, maar is geen voorwaarde om Live Migration te kunnen toepassen. CSV biedt veel extra voorzieningen als I/O redirection, een global namespace en de mogelijkheid om individuele VMs op een volume met meerdere actieve VMs live te migreren. CSV volumes bieden meerdere clusternodes in dezelfde failover cluster gelijktijdige toegang tot dezelfde LUN. Vanuit het
gezichtspunt van VMs lijkt het of de VM de enige eigenaar is van een LUN, echter de .vhd-bestanden waarin elke VM is opgeslagen, bevinden zich op dezelfde CSV volume. Omdat CSV een consistente file namespace voor alle clusternodes biedt, hebben alle bestanden in een CSV dezelfde naam en pad op elke clusternode. CSV volumes worden als directories en subdirectories onder de ClusterStorage rootfolder opgeslagen. Als de ClusterStorage-folder zich bijvoorbeeld in de root van disk R bevindt, dan ziet een fully
Het Live Migration-proces van een VM tussen source en target clusternode wordt door de beheerder geïnitieerd. Allereerst wordt een kopie van de VM op de target clusternode gecreëerd. Vervolgens wordt de inhoud van het geheugen van de source VM naar de target VM gekopieerd. De spiegeling van geheugenpagina’s gaat net zo lang door, totdat ze allemaal gekopieerd zijn. Hierna wordt de VM automatisch naar de target VM overgezet en wordt als laatste de source VM verwijderd. Zoals gezegd, Live Migration is alleen mogelijk op basis van Microsoft Failover Clustering. Daarnaast kan Live Migration alleen plaatsvinden tussen clusternodes binnen dezelfde Failover Cluster.
(Advertentie)
STORAGE MAGAZINE · 2 · APRIL 2009
Virtual machine 1 Virtual machine 2
41
Microsoft shared volumes
Hyper-V moet op de clusternodes zijn geactiveerd en toegang hebben tot dezelfde shared storage. Ten slotte moeten de .vhd-bestanden van de te migreren VMs op dezelfde shared storage zijn opgeslagen.
Fault Tolerance
42 STORAGE MAGAZINE · 2 · APRIL 2009
De CSV-architectuur biedt daarnaast een verbeterde cluster node fault toleranceconnectiviteit. Deze oefent direct invloed uit op de VMs die in de cluster draaien. Binnen de CSV-architectuur is een mechanisme geïmplementeerd, dynamic I/O direction, waarbij de I/O binnen de failover cluster op basis van een beschikbare verbinding kan worden gerouteerd (zie figuur 1). De eerste fout die hiermee kan worden opgevangen is de uitval van een clusternodeverbinding met de shared storage. Als de SAN-verbinding met een clusternode uitvalt, dan worden de I/Ooperaties via het netwerk naar de andere clusternode omgeleid, die vervolgens alle I/O met het SAN overneemt. Daarmee is, ondanks de uitval, toch een Live Migration van een VM van de ene naar de andere clusternode mogelijk.
Nortel 5530-24TFD
1 GbE virtual/public LAN
Windows 2008 R2 Enterprise 64-bit
Windows 2008 R2 Enterprise 64-bit
Virtual machines
Netgear GSM7328S 10 GbE iSCSI
10 GbE iSCSI
10 GbE iSCSI
iCSI SAN
Windows Server 2003 StarWind iSCSI
Cluster shared volumes
UITVAL WORDT DRIEVOUDIG
Virtual machines
OPGEVANGEN Figuur 2: De testopstelling Microsoft Windows 2008 R2 Failover Cluster.
Ook kan een netwerkverbinding naar een clusternode worden verbroken. In dat geval wordt automatisch het clusternodenetwerkverkeer over een redundante netwerkverbinding naar een andere clusternode omgeleid. Ten slotte kan een complete clusternode uitvallen, waarbij de cluster ownership van het volume zonder onderbreking van een actieve VM door de andere clusternode kan worden overgeheveld.
Testomgeving Onze testomgeving bestaat uit Failover Cluster met twee clusternodes die aan een iSCSI-gebaseerde SAN zijn gekoppeld. De serverhardware van beide nodes ondersteunen de Vt-technologie van Intel, zodat het mogelijk is om de Hyper-V functionaliteit op de Windows 2008 Server te activeren. Beide nodes zijn via een 10GbE-verbinding met een Windows 2003 Server verbonden die als iSCSI-target dient. Met behulp van iSCSI StarWind target software van de firma Startwind Software kunnen disks, lokale disks of disks die via een SAN zijn gekoppeld, als target iSCSI volumes fungeren. Op beide nodes wordt via de standaard
Figuur 3: SCSI-3 Persistent Reservation-validatie.
Installatie De installatie van de Failover Cluster gebeurt in een aantal stappen. In de eerste plaats moet op beide nodes Active Directory Service (ADS) worden geïnstalleerd, daarna Hyper-V role en ten slotte de Failover feature. Voorafgaande aan de Failover Cluster-creatie is het noodzakelijk om te testen of de software en hardware clusteromgeving aan de door Microsoft gestelde eisen voldoet. Windows Server 2008 beschikt daarvoor over een speciale validatietest voor clusters. Naast een aantal andere disktesten, is een belangrijke test om te zien of de clusteromgeving, lees: de storage array, aan de eisen voor SCSI-3 Persistent Reservation voldoen (zie kader op pagina 44). Wanneer deze tests niet met goed gevolg worden doorlopen, heeft het geen zin meer om verder te gaan met de clusterinstallatie. Dat is trouwens ook niet mogelijk. Voorafgaande aan de clusterinstallatie moeten beide clusternodes toegang hebben tot dezelfde shared disks en moeten alle nodes de disks van dezelfde drive letters voorzien.
MAXIMAAL TWEE LIVE-MIGRATIES TEGELIJKERTIJD IS EEN BEPERKING
Na een geslaagde validatietest kan uiteindelijk met de creatie van de 2-node Failover Cluster en het aanmaken van de CSVs worden begonnen. De installatie van Failover Cluster wijkt in het geheel niet af van een standaardinstallatie die we al kennen van de vorige Windows Server 2008 release. Na de Failover-installatie moet de CSVfunctie worden geactiveerd. Hiervoor wordt in het Failover Cluster Manager-
Figuur 4: Cluster Shared Volumes.
WINDOWS SERVER 2008 BESCHIKT DAARVOOR OVER EEN SPECIALE VALIDATIETEST VOOR CLUSTERS
menu de Enable Cluster Shared Volumes-functie aangeklikt en wordt daarna het cluster geselecteerd waarop de CSVs moeten worden geïnstalleerd. In het Failover Cluster Manager-menu worden hiervoor Cluster Shared Volumes aangeklikt en via Add Storage de beschikbare disks gekozen. Daarna verschijnt de storagelocatie als SystemRoot\ClusterStorage op alle clusternodes. De naam van de locatie kan door beheerders nog naar wens worden aangepast. In het Failover Cluster-menu zijn vervolgens alle gecreëerde CSVs te zien (zie figuur 4).
Configuratie Live Migration Om een VM voor Live Migration geschikt te maken, moet deze uiteraard eerst worden gecreëerd en opnieuw voor het gebruik van CSVs worden geconfigureerd, automatische worden opgestart en hoogbeschikbaar worden gemaakt. Nadat de cluster operationeel is en de CSV gemount, kan worden begonnen met de creatie van een VM op de shared storage. Het is hetzelfde proces als het gebruik van Hyper-V Manager. Alleen bij de creatie van de VM selecteren we nu het path naar de CSV: C:ClusterStorage\Volume#. Dit moet voor zowel de VM-configuratie, als voor de disk gebeuren. Daarna kan de VM vanuit de Failover Cluster Manager hoogbeschikbaar worden gemaakt. Dit gebeurt door het Services and Applications rechts aan te klikken en Configure a Server or Application te selecteren. Vanaf dit punt kan de status van de VM, zoals het aan- en afschakelen, vanuit de Failover Cluster Manager worden veranderd.
Verder moet een van beschikbare netwerken nog voor Live Migration worden ingesteld. Live Migration zal namelijk proberen een clusternetwerk te kiezen uit een lijst met gespecificeerde netwerken. Als er geen verbinding met de bestemmingsclusternode tot stand komt, zal het volgende netwerk in de lijst worden geselecteerd, totdat de lijst met beschikbare netwerken op is of wanneer er op één van de netwerken een geslaagde verbinding met de node tot stand is gekomen. Bij Windows Server 2008 bèta moet daarom bij meer dan één clusternetwerk, de prioriteit worden aangegeven om op deze manier te voorkomen dat Live Migration en de CSVs hetzelfde netwerk gebruiken. De Live Migration van een VM kan daarna vanuit het VM-menu plaatsvinden met de optie Live migrate this virtual machine to another node (zie figuur 5). Naast de Live Migration kunnen beheerders nog kiezen uit de al bestaande quick migration-optie.
Initiatie Live Migration Live Migration van een VM is met de Failover Cluster Manager of de nieuwe Microsoft PowerShell te initiëren. Afhankelijk van het aantal clusternodes kunnen meer dan één VM worden gemigreerd. Maar een clusternode die op een bepaald moment zowel als source of destination node fungeert, kan maar slechts in één Live Migration participeren. Als er bijvoorbeeld vier nodes in een Failover Cluster bestaan, dan kunnen slechts twee Live-migraties tegelijkertijd plaatsvinden. Dit is voorlopig nog een belangrijke beperking van de R2 release. Als de migra-
STORAGE MAGAZINE · 2 · APRIL 2009
Microsoft iSCSI initiator software het volume gekoppeld en met het NTFS file system format geformatteerd. De netwerkverbinding van beide nodes met de iSCSI target, de Windows 2003 Server, verloopt via een aparte fysieke 10 GbE LAN-verbinding. Als verbinding fungeert de nieuwe low cost 24 poorts 1GbE Netgear GSM328S switch die met vier 10GbE Ethernet XFP-adapters is uitgerust. Voor het publieke- en virtuele LAN wordt een aparte fysieke 1GbE-verbinding gebruikt.
43
tie mislukt, dan blijft de VM zonder onderbreking gewoon werken op de source clusternode. De tijd die nodig is om een VM via Live Migration te migreren, hangt van een aantal factoren af, zoals de snelheid en bandbreedte van de netwerkverbinding tussen de clusternodes, de belasting op clusternodes en de hoeveelheid voor de VM benodigde RAM. In de testomgeving duurde de Live Migration soms enkele tientallen seconden.
Andere R2-uitbreidingen
44 STORAGE MAGAZINE · 2 · APRIL 2009
Naast Live Migration en CSVs biedt de R2 release nog talrijke andere nieuwe features en verbeteringen op gebied van beheer en vooral op het gebied van systeemprestaties en stroomgebruik. In de eerste plaats ondersteunt Hyper-V nu Second Level Address Translation (SLAS). SLAS gebruikt de nieuwste features van de huidige cpu’s om de prestaties van VMs te verbeteren en de procesbelasting op de Windows Hypervisor te verminderen. Nieuwe Hyper-V VMs verbruiken ook minder stroom door de toepassing van de nieuwe Core Parking feature. De Core Parking feature op Windows 2008 R2 reduceert het stroomverbruik op servers die met multi-coreprocessoren zijn uitgerust door de werkbelasting op een zo min mogelijk aantal cpu cores te consolideren en vervolgens inactieve cpu cores af te schakelen. Bij een toenemende vraag kunnen cpu cores dan weer worden bijgeschakeld. Core parking kan met de Group Policies in ADS worden geconfigureerd. De nieuwe Hyper-V-implementatie binnen Windows Server 2008 R2 gebruikt al langer toegepaste netwerktechnieken als TCP Offload en Jumbo Frames. TCP Offload maakt het mogelijk dat ook een VM netwerkprocessingbelasting overdraagt naar de NIC op de server. Dit werkt precies hetzelfde als in een fysiek TCP Offload-scena-
Figuur 5: Live Migrate Virtual Machine.
WINDOWS SERVER 2008 R2 RELEASE BIEDT MEER SERVICES DAN LIVE MIGRATION
rio, alleen breidt Hyper-V deze functionaliteit nu naar de virtuele wereld uit. Dit heeft zowel voordelen voor de cpu, als voor de algemene netwerkprestaties en wordt volledig in Live Migration ondersteund. Net als in fysieke netwerkscenario’s biedt het gebruik van Jumbo Frames in bepaalde gevallen ook dezelfde prestatieverbeteringen in virtuele netwerken. Dat houdt een zes maal grotere payload per netwerkpakket in. Dat verbetert niet alleen de netwerkdoorvoer, maar ook wordt daarbij het cpu-gebruik bij het verzenden van grote bestanden verminderd.
HET SCSI-3-PROTOCOL Het SCSI-3-protocol definieert de regels en procedures waarbij initiators of servers diensten verzoeken of ontvangen van targets en/of disks. Bij een quorum-faciliteit in een clusteromgeving fungeren clusternodes als initiators voor het verkrijgen van een claim op een quorum device dat als target fungeert. Daarbij wordt het SCSI-3 reservation-mechanisme gebruikt. De SCSI-3specificatie kent twee type SCSI reservations, SCSI Reserve/Release en Persistent Reservation. Windows 2008 Clustering gebruikt Persistent Reservation. Reserve/Release is in feite een lock/unlock-mechanisme waarbij met een Reserve-commando een drive wordt vergrendeld en met Release weer vrijgemaakt. Slechts één initiator heeft op een bepaald moment dan nog maar toegang en het device weigert een commando uit te voeren die afkomstig is van andere SCSI initiators. Ook de methode Persistent Reservation reserveert en maakt drives weer beschikbaar op dezelfde manier als de Reserve/Release-methode. Bij deze methode is het echter ook toegestaan dat een initiator de reservering van een diskdrive opheft. Beide methoden kunnen alleen niet gelijktijdig worden toegepast.
Conclusies De nieuwe Windows 2008 R2 release is een belangrijke stap op weg naar een dynamische virtuele serveromgeving, waarbij VMs realtime kunnen worden gemigreerd. De nieuwe CSV feature binnen Failover Clustering in Windows Server 2008 R2 maakt een gelijktijdige toegang van meerdere clusternodes in dezelfde Failover Cluster tot dezelfde LUN mogelijk. Vanuit de VM gezien. lijkt elke VM over zijn eigen LUN te beschikken. Echter, de .vhd-bestanden waarin elke VM is opgeslagen, bevinden zich op dezelfde CSV volume. CSV volumes zijn gebaseerd op NTFS, wat geen clustered file system is. In een CSV cluster blokkeert een master clusternode de toegang tot de storage LUN die ook alle .vhd bestanden van de andere clusternodes bevat. CSV kan dan ook geen gelijktijdige read/write-toegang van meerdere servers geven tot de applicatie-data die zich op een enkele LUN bevindt. Daarvoor is een clustered file system nodig, bijvoorbeeld LaScala van de firma Sanbolic. I
BRAM DONS IS ONAFHANKELIJK IT-ANALIST;
[email protected]