Windows Server 2008 In het kort: Implementatiefuncties Configuration Manager Maken en aanpassen van server task sequences Serverrollen toevoegen Computerspecifieke variabelen instellen
Windows Server 2008 met Hyper-V Bram Dons
Virtualisatie is het sleutelwoord bij het consolideren van servers, om resources optimaler in te zetten en om geld te besparen. Hyper-V is de langverwachte technologie die oorspronkelijk gepland stond om met Windows Server 2008 meegeleverd te worden. Dat is niet gelukt, maar inmiddels is Hyper-V Release Candidate 1 beschikbaar. Omdat bij de RC1 security, schaalbaarheid, prestatieniveau, gebruikersinterface en het programmeermodel vrijwel geheel op orde zijn, loont het de moeite er nu mee aan de slag te gaan om het voor uw omgeving op waarde te schatten. Instellingen en configuraties die u nu aanmaakt, kunnen later naar definitieve release worden overgebracht. Op het gebied van virtualisatie bestaan verschillende implementaties en verschillende architecturen. Host-based servervirtualisatie, dat ook wel bekend staat als machine-based virtualisatie, is vandaag de dag de meest toegepaste technologie. Men gebruikt vaak de term ‘servervirtualisatie’, maar in feite wordt host-based servervirtualisatie bedoeld. In deze infrastructuur draaien meerdere Virtual Machines (VM’s) met verschillende 46
juli/augustus 2008
besturingssystemen gelijktijdig op hetzelfde fysieke host-systeem. Servervirtualisatie is in een drietal (soms overlappende) typen te onderscheiden: • Volledige virtualisatie. Deze techniek wordt ondersteund door de twee marktleiders, VMware en Microsoft. • Paravirtualisatie. Ondersteund door VMware en bepaalde Xen-leveranciers. • Hardware-assisted virtualisatie. Ondersteund voor hardwareplatformen met Intel Virtualization Technologie (Intel VT) of Advanced Micro Devices Virtualization (AMD V).
Hardware of software Volledige virtualisatie was in feite de eerste generatie van x86/x64 servervirtualisatie. Begin 2007 maakte dit nog het TechNet Magazine
leeuwendeel van de markt uit, maar deze dominantie wordt nu snel aangetast door de opkomst van hardware-assisted virtualisatie. Volledige virtualisatie voorziet in een complete emulatie van de hardware en dat heeft een belangrijk voordeel, namelijk totale portabiliteit van de virtuele machine. Door de emulatie van een consistente set systeemhardware wordt VM’s de mogelijkheid geboden om transparant tussen hosts met verschillende typen hardware te migreren. Volledige virtualisatie kent echter ook een belangrijk nadeel, want de hardware-emulatie is een zekere aanslag op de systeemprestaties omdat de Virtual Machine Monitor (VMM) de instructies tussen de geëmuleerde hardware en de eigenlijke stuurprogramma’s moet vertalen. Elke instructie vanuit een VM moet daartoe een tweetal drivers passeren: de stuurprogramma’s van de virtuele machine en die van het host-systeem zelf. De prestatieval van geëmuleerde devices (zoals RAM) is nominaal (meestal minder dan enkele procenten), maar die van intensieve I/Oapparaten, zoals NIC’s en harddisks, is veel hoger. Hier kan de vertraging tussen de 8% en 20% liggen. Een ander nadeel van volledige virtualisatie heeft betrekking op de verwerking van ‘privileged’ instructies. Bij de traditionele x86-architecturen verwacht de OS-kernel dat de privileged code in Ring 0 draait. Ring 0 wordt echter bestuurd door het host-besturingssysteem of de hypervisor, en daarom zijn VM’s gedwongen om in Ring 1 te draaien. Dit heeft als gevolg dat de VMM steeds een trap moet uitvoeren om de privileged instructies van de VM te kunnen uitvoeren. Dat leidt tot een flinke toename in context-switches en dat geeft extra vertraging wat ogenschijnlijk leidt tot prestatieverlies. Feitelijk is prestatieverlies niet zo zeer de tijd die verloren gaat in de vertaalslagcode of emulatiecode zelf, maar de contextswitch naar deze software om de vertaalslag of emulatie te doen. Opmerkelijk detail is dat dit niet altijd zichtbaar is in de prestatiemonitor. Deze registreert namelijk veelal niet de load of het tijdsverlies veroorzaakt door contextswitches en daaruit volgende cache-flushes. Het verlies is dan alleen af te leiden van de verhouding tussen bijvoorbeeld CPU/energieverbruik in een benchmark en het benchmark reTechNet Magazine
sultaat, waarbij 80% verloren CPU-tijd of 60% improductieve energietoename geen uitzondering is bij benchmarks met een hoog aantal contextswitches door virtualisatie van intensieve I/O of geheugenbewerkingen. Door dit prestatieverlies heeft volledige virtualisatie zijn beperkingen in het toepassen van bepaalde
De hypervisor is een dunne softwarelaag tussen de hardware en het besturingssysteem a pplicaties, met name applicaties met een hoge I/O-rate. Vanwege die prestatiebeperkingen zijn paravirtualisatie en hardware-assisted virtualisatie ontwikkeld om de inherente tekortkomingen van volledige virtualisatie op te heffen. Naast betere prestaties zijn er nog twee andere voordelen. Hoewel een hypervisor weinig doet voor beveiliging op VM-niveau, is er wel minder gevaar voor inbreuk op de onderliggende hypervisor-code in vergelijking met een standaard host-besturingssysteem. Kostenreductie is een ander mogelijk voordeel, omdat er voor de host geen licentie nodig is voor de toepassing van VM’s. Al met al is dat reden genoeg voor Microsoft om deze hardware-assisted technologie, Hyper-V genoemd, toe te passen in het nieuwe Windows Server 2008. Hierna zullen we dieper ingaan op de technologie van Hyper-V en geven we een eerste indruk van de installatie van Windows Server 2008 met Hyper-V.
Hyper-V De technologie die we nu kennen als Hyper-V, had voorheen de codenaam ‘Viridian’. Hyper-V is een hypervisor-gebaseerde technologie en vormt een belangrijke component van het Windows Server 2008 besturingssysteem. Een kerncomponent van Hyper-V, de Windows hypervisor, bestaat uit een dunne softwarelaag die zich tussen de hardware en het besturingssysteem bevindt. Dit wordt soms de ‘Ring -1’ genoemd, maar dit is binnen de Intel Architecture een niet bestaande ring. Die hypervisor maakt het mogelijk om meerdere, ongemodificeerde en verschillende besturingssystemen tegelijkertijd te draaien. Daarnaast voorziet hij in een eenvoudige partitiojuli/augustus 2008
47
Windows Server 2008
Figuur 1 Monolitische versus een microkernelized hypervisor-architectuur
48
juli/augustus 2008
neringsfunctionaliteit en is verantwoordelijk voor het bewaken van een hechte isolatie tussen de verschillende partities. De Windows hypervisor kent een inherente veilige architectuur en door de kleine ‘attack surface’ (de omvang is minder dan 1 MB) is de kans minimaal dat er van buitenaf op kan worden ingebroken. Bovendien bevat het geen enkel stuurprogramma van derde partijen; dit in tegenstelling tot de monolithische hypervisor-architectuur (zie Figuur 1). Microsoft Hyper-V verschilt op een belangrijk punt van de meeste bestaande hypervisor-producten. Die zijn namelijk gebaseerd op Linux/Unix-code, terwijl Microsoft’s hypervisor nauw is geïntegreerd met Windows Server 2008. Het verschilt ook ten opzichte van producten als Microsoft Virtual Server, VMware Server/Workstation, Parallels, Linux KVM en Sun’s overgenomen Virtualbox van Innotek. Bij al deze op host-based technologie gebaseerde producten draait op het host-besturingssysteem een subproces, de zogenaamde Virtual Machine Monitor (VMM). Dit proces voorziet in de virtualisatie-services voor een VM, waaronder virtuele cpu’s, geheugen en systeemapparaten. Maar er zijn nog meer verschillen. Hoewel Hyper-V direct op de serverhardware wordt geïnstalleerd, wat het mogelijk maakt om meerdere VM’s in logisch van elkaar gescheiden partities te draaien, is de primaire of ‘parent’ partitie gebaseerd op Windows Server 2008.
Dit lijkt in eerste instantie in tegenspraak met de hypervisor-filosofie, maar in werkelijkheid is dit niet zo. Hyper-V maakt namelijk gebruik van het voordeel dat stuurprogramma’s en services binnen de Windows-software zijn opgenomen voor een betere communicatie met de ondersteunde hardware. Tevens biedt het een betere ondersteuning voor het beheer van de virtuele omgeving. Microsoft noemt deze benadering een ‘Microkernelized’ hypervisor, wat een minimale footprint van de core Hyper-V code oplevert, maar tegelijkertijd een rijke verzameling aan mogelijkheden biedt. Een voordeel van Hyper-V is dat het sneller en beter schaalbaar is. Een nadeel is echter dat de hypervisor grotendeels afhankelijk is van hardware, zoals Intel VT en AMD-V. Dit nadeel zal echter snel vervallen, aangezien processors met deze technologie binnenkort min of meer als standaard worden aangeboden.
Stuurprogramma’s Het implementeren van Hyper-V gebeurt na de installatie van Windows Server 2008 in de Server Manager door activatie van de Hyper-V serverrol (Figuur 2). Na een aantal keer herstarten wordt de Windows Server 2008 getransformeerd naar een eigen virtuele machine en in een zogenoemde Parent Partition opgenomen. Vanuit de Parent Partition worden de Child Partitions gecreëerd (VM’s), waarin een besturingssysteem wordt opgenomen. Tijdens de installatie van Hyper-V wordt tegelijkertijd een Virtual Service Provider (VSP) geïnstalleerd die fungeert als een gedeelde interface naar stuurprogramma’s in de Parent Partition en de Virtual Service Clients (VSC) in de Child (guest) Partitions (Figuur 3). Beide communiceren via een softwarematige Virtual Memory Bus (VMBus), waarmee de guests direct toegang hebben tot de host-stuurprogramma’s zonder extra vertaalbewerkingen en contextswitches die nodig zouden zijn bij bijvoorbeeld I/Oemulators. Zowel VSP en VSP draaien in kernel-mode, wat de snelheid ten goede komt. VSP’s en VSC’s bieden dus toegang tot stuurprogramma’s in Parent en Child Partitions. De zogeheten ‘Enlightened’ guest-besturingssystemen zijn voorzien van de vereiste VSC-code, ‘non-enlighTechNet Magazine
tened’ besturingssystemen zijn genoodzaakt om van emulatie gebruik te maken. Het is dus niet strikt noodzakelijk dat guest-besturingssystemen van VSC gebruik moeten maken, maar voor het behalen van optimale prestaties is het zeer aan te bevelen dat het besturingssysteem aangepast is met de nodige VSC-code. Windows Server 2008 en Windows Vista zijn gebaseerd op dezelfde kernel en voorzien van deze code, maar Microsoft laat de implementatie van alternatieve besturingssystemen over aan de leverancier daarvan.
Toepassingen Windows Server 2008 met Hyper-V biedt een volgende generatie hypervisor-gebaseerde virtualisatietechnologie. Het ondersteunt daarmee een dynamische, betrouwbare en schaalbaar virtualisatieplatform dat bovendien geschikt is voor grootschalige toepassing van virtualisatie in het datacenter. Serverconsolidatie is op het moment de meest toegepaste vorm van virtualisatie, met als voornaamste voordelen een lagere TCO, minder stroomverbruik, koeling, beheerkosten en ruimtebesparing in de systeemruimtes. Een gevirtualiseerde infrastructuur heeft ook als voordeel dat de werkbelasting over verschillende resources kan worden gebalanceerd en daarnaast heeft u de mogelijkheid om zowel 32-bit als 64-bit systemen daarin te integreren. Business continuity is ook een belangrijk speerpunt bij virtualisatie. Dit heeft betrekking op de mogelijkheid om zowel geplande als ongeplande systeem onderbrekingen te minimaliseren. Hyper-V biedt verder krachtige voorzieningen, zoals live backup en snelle migratie van VM’s (Quick Migration), waarmee een onderneming een hoge beschikbaarheid van de systemen kan garanderen en daarmee overeengekomen SLA’s kan waarmaken. Disaster Recovery (DR) maakt het andere deel uit van business continuity. Live migratie, waarbij VM’s zonder dat gebruikers dit merken van de ene naar de andere server kunnen worden overgezet – zoals bij de VMotion-technologie van VMware - is nog niet mogelijk, dit komt later. Door van de clustereigenschappen van Windows Server 2008 gebruik te maken, ondersteunt Hyper-V de mogelijkheid tot DR binnen grootzakelijke TechNet Magazine
omgevingen en tussen datacenters door middel van geografische verspreide clustering. De toepassing van Hyper-V maakt voor evaluatiedoeleinden maximaal gebruik van de beschikbare testhardware, wat ondermeer helpt om kosten te besparen en het Life Cycle Management te verbeteren. Kort samengevat, voor zowel de IT-manager, -architect, -beheerder als softwareontwikkelaar kan virtualisatie een nuttige ‘rol’ vervullen.
Hyper-V Release Candidate Hyper-V RC maakt deel uit van de x64edities van Windows Server 2008, namelijk Standard, Enterprise en Datacenter, en die bevatten bovendien een aantal nieuwe voorzieningen. Zo zijn een aantal nieuwe guest-besturingssystemen toegevoegd, waaronder: Windows Server 2003
Figuur 2 Het instellen van de Hyper-V serverrol
Figuur 3 Architecturen met Virtual Service Providers (VSP) en Virtual Service Clients (VSC) juli/augustus 2008
49
Windows Server 2008 x86 2-way SMP; Windows Vista SP1 en XP SP3 (alleen x86). Hyper-V, als onderdeel van Windows Server RTM, bevat de volgende voorzieningen:
Figuur 4 Aanmaken van een virtuele machine
• Snelle migratie van draaiende VM’s van de ene host naar de andere met minimale downtime. • Hoge beschikbaarheid door ondersteuning van host-to-host connectiviteit en clustering van alle VM’s op een host. • Hyper-V als rol in een Server Coreinstallatie van Windows Server 2008. • Ondersteuning van Volume Shadow Copy Service (VSS) voor live backup van VM’s. • Linux integratiecomponenten voor Suse Linux Enterprise Server 10 SP1 x86 (beta). • Ondersteuning van vier virtuele iSCSI controllers per VM. • De mogelijkheid één tot vier virtuele processors te gebruiken in een virtuele machine onder Windows Server 2008 en tot twee virtuele processors onder Windows Server 2003 x86 editie. Binnen virtuele machines met een ander besturingssysteem, is gebruik van één virtuele processor mogelijk. • VM’s in multi-processoromgeving met maximaal 64 GB werkgeheugen. • Import en export van VM-instellingen voor backup-configuraties en het klonen van VM-instellingen tussen verschillende hosts. • Ondersteuning Virtual LAN. • Te beheren met Microsoft Management Console (MMC) 3.0.
•D ocumented WMI-interfaces voor scripting en management.
Installatie Hyper-V Naast de systeemeisen voor Windows Server 2008 gelden voor het Hyper-V platform nog twee aanvullende hardware-eisen. Om te beginnen moet de server een 64-bit systeem zijn en hardware-assisted virtualisatie ondersteunen via Intel VTtechnologie (Intel IA-32e/EM64T x64) of AMD-V (AMD64). Let wel: Hyper-V ondersteunt geen Itanium (IA-64) processors. Wat betreft de VM’s worden zowel 32-bit als 64-bit systemen als guest-besturingssysteem ondersteund en zowel uniprocessor- als multiprocessor-configuraties in de VM-omgeving. Vooraf aan de installatie van Windows Server 2008 Hyper-V moet worden gecontroleerd of de hardwareassisted virtualisatie en Data Execution Prevention (DEP) in het systeem-BIOS is ingeschakeld. In het Intel BIOS is dat ‘enable Intel XD bit’ (execute disable bit) bij AMD heet dit de ‘NX bit’ (no execute bit). Als test installeren we Windows 2008 Server RC1 op een systeem dat bestaat uit een Intel DX38BT moederbord, Intel Quad Core Q6600 2,4GHz processor, 4 GB intern RAM, Adaptec 3406 SAS controller en Seagate Cheetah 15,5K 146 GB SAS-drive. Alhoewel het geen ‘certified’ systeemhardware is, verloopt de installatie via cd-rom vlekkeloos. Na het activeren van de Hyper-V serverrol en enkele systeem-herstarts is de server klaar voor de installatie van de virtuele machines.
VM’s aanmaken Als test installeren we een vijftal VM’s met de Virtual Machine Wizard (Figuur 4). We installeren Windows XP Professional 64-bit, Windows Enterprise R2 32-bit, Windows 2003 R2 64-bit, Vista Business 64-bit en Suse Linux Enterprise Server 10. Als resultaat van Microsoft’s samenwerking met Citrix en XenSource ondersteunt Microsoft de Integrational Components voor Linux besturingssystemen. De integratietools van Hyper-V ondersteunen theoretisch elk Linux besturingssysteem dat een paravirtualized Xen-kernel heeft. Op dit moment wordt door Microsoft support alleen nog virtualisatie van Suse Linux Enterprise Server 10 ondersteund. De virtuele machines laten zich keurig installeren, waarbij de reeds geïnstalleerde VM’s actief blijven doordraaien. Het scha50
juli/augustus 2008
TechNet Magazine
kelen tussen de GUI’s van de verschillende virtuele machines blijft ook bij deze Windows-versie beperkt (Figuur 5). Dit werkt met lastige toetsencombinaties en traag schakelende vensters, hoewel hetzelfde geldt voor concurrende virtualisatieproducten. Alhoewel er nog geen uitvoerige benchmarks zijn gedaan, lijken de diverse besturingssystemen op het eerste gezicht toch goed te presteren. Voor een vergelijking tussen systemen met Hyper-V wel en niet geactiveerd is natuurlijk een uitvoerige benchmark nodig op de definitieve versie van het product, dat later dit jaar uitkomt.
Failover clustering Voor een hogere beschikbaarheid van VM’s kunt u Hyper-V met Failover Clustering combineren. Een virtuele machine is met behulp van de Failover Clusteringoptie van Windows 2008 in een twee-node clusterconfiguratie hoog beschikbaar te maken. Naast de hardware-eisen die Windows 2008 Server stelt aan een clustersysteem, zijn er voor Hyper-V en Failover Clustering nog een aantal software-eisen. Zo moeten op beide nodes dezelfde versie van Windows Server 2008 Enterprise of Datacenter in een ‘full installation’ of Server Core draaien. De installatie bestaat uit toevoeging van Failover Clustering via de ‘Add Features’ wizard en in de Hyper-V Manager van een Virtual Network. Na het gebruikelijke aanmaken van een VM moet deze via Failover Cluster Management nog ‘highly available’ worden gemaakt. Ten slotte is Windows Server 2008 nog te installeren in een Server Core-configuratie, waarbij ondermeer de grafische interface ontbreekt. Het systeem is wel grafisch op afstand of via commando’s te beheren, bijvoorbeeld met behulp van Remote Server Administration Tools (RSAT) die op een Windows Vista SP1 draaien. Nadeel is dat de Hyper-V Manager nog geen onderdeel is van RSAT en alleen op de gevirtualiseerde Windows 2008 Server blijft draaien.
Beperkingen? Met de ontwikkeling van Windows Server 2008 en Hyper-V heeft Microsoft een belangrijke stap gezet voor de toepassing van grootschalige invoering van virtualisatie in het datacenter. De software kan alleen op TechNet Magazine
Figuur 5 De beschikbare VM’s worden weergegeven in de Hyper-V Manager een systeem met 64-bit processors worden geïnstalleerd. Dit lijkt een beperking, maar in de toekomst zal elke datacenter hoofdzakelijk gebaseerd zijn op de 64-bit versie van Windows. Hetzelfde verhaal geldt min of meer voor de eis dat Hyper-V een processor vereist met Intel VT of AMD-V. Vergelijken we Windows Server 2008 met Virtual Server 2005 dan ondersteunt de laatste wel 32-bit maar slechts één virtuele processor per VM. Hyper-V ondersteunt in deze release al 32-bit of 64-bit guest-besturingssystemen tot 4-way virtual SMP, en kan daarbij 64 GB geheugen gebruiken, in tegenstelling tot de beperking van 3,6 GB bij Virtual Server 2005. Het is onwaarschijnlijk dat ontwikkeling van Virtual Server 2005 nog wordt voortgezet.
Inhaalslag De implementatie van Hyper-V binnen Windows Server 2008 is een eerste stap bij de massale toepassing van hypervisor-technologie in de Windowsomgeving. Hoewel VMware’s ESX Server nog steeds op een aantal fronten een voorsprong heeft met de VMotiontechnologie (storage), High Availability (clustering), Dynamic Resource Allocation (DRA) en Distribute Power Management, toch heeft Microsoft een grote inhaalslag gemaakt met Hyper-V. Een belangrijk voordeel is het een ingebakken feature is van Windows Server 2008. Het is vrijwel gratis, , terwijl ESX Server nog redelijk veel kost. n
Bram Dons Bram Dons is als IT-analist werkzaam bij en oprichter van IT-TrendWatch (www. it-trendwatch.nl). Hij houdt zich bezig met de analyse en trends van nieuwe IT-technologieën en -producten in hoofdzakelijk de storage-, high-availability- en virtualisatiemarkt. Voor commentaar of discussie is Bram te bereiken via
[email protected].
juli/augustus 2008
51