AMD heeft zijn Opteron-processoren met virtualisatie-ondersteuning officieel geïntroduceerd. De technologie is daarmee doorgevoerd in de productlijnen van zowel AMD als Intel. Virtualisatie voor het pc-platform is nog jong.
Virtualisatie kent drie belangrijke toepassingsgebieden: emuleren van software, emuleren van het besturingssysteem en flexibiliseren van de hardware in datacentra. Bij het emuleren van software wordt een ‘runtime engine’ ingezet om een programma dat niet voor een bepaald besturingssysteem beschikbaar is toch te kunnen draaien. Wine en het daaraan gelieerde Crossover Office zijn de populairste pakketten in deze categorie.
VMware, Win4Lin en Xen gaan een stap verder. Deze emulatoren laten de gebruiker boven op hun bestaande besturingssysteem een ander besturingssysteem installeren. De laatste draait dan als toepassing op het onderliggende systeem. Dat is in eerste instantie vooral interessant voor softwareontwikkelaars. Die kunnen hun programmacode daardoor relatief eenvoudig op verschillende virtuele systeemconfiguraties testen. Daarnaast vormen VMware en Xen ook de basis onder de virtualisatie van het datacentrum. Daar moeten zij de toekenning van verwerkingskracht aan it-processen flexibeler maken en het grote aantal serversystemen verminderen.
Migratieplannen
Wine (Wine Is Not an Emulator) maakt het mogelijk om Windows-toepassingen op Unix op het pc-platform te draaien. Het belangrijkste onderdeel van de software is een serie api’s (application programming interface) die de Windows-functionaliteit op het Unix-platform beschikbaar maakt. Een belangrijk voordeel is dat daarvoor geen aparte Windows-installatie (en dus licentie) nodig is. Wine valt onder de os-licentie (open source) LGPL (Lesser General Public License) en werkt goed op Linux, FreeBSD en Solaris. Ondersteuning voor Mac OS X is inmiddels als bèta-versie via CodeWeavers beschikbaar.
Crossover Office, ook van CodeWeavers, is gebaseerd op Wine en speciaal bedoeld voor het draaien van Office-toepassingen onder Linux. De Professional-versie wordt regelmatig ingezet bij Windows-naar-Linux desktopmigraties. Vaak blijft daarbij een beperkt aantal pakketten over dat niet voor Linux beschikbaar is en waarvoor ook geen goede vervanger te vinden is. Soms lopen de migratieplannen daarop stuk. Soms fungeert een pakket als Crossover Office als sluitende schakel om een migratie in ieder geval functioneel rond te krijgen. Andersom zijn er ook softwareleveranciers die hun Windows-pakket met een ‘runtime engine’ combineren tot één ‘Linux-executable’.
Images
VMware, Win4Lin en Xen gaan een stap verder dan de genoemde runtimes. Hiermee kan je een volledig besturingssysteem boven op een virtuele machine installeren. Omdat alle onderliggende hardware wordt geëmuleerd, kan je in principe elk gastbesturingssysteem op die manier draaien. Bovendien zijn zowel de eigen (virtuele) diskpartities als die van het onderliggende hostsysteem te benaderen.
Xen gebruikt een aangepaste virtuele machine. Deze is geoptimaliseerd om de gasten efficiënter te kunnen draaien. Je spreekt in dit verband van paravirtualisatie. Dat betekent dat de besturingssystemen moeten worden gemodificeerd om op Xen te kunnen lopen. Voor Linux is dat geen probleem, voor Windows wel. Hoewel Microsoft daarvoor onlangs een samenwerking met XenSource bekend maakte, blijft die beperkt tot eenrichtingsverkeer. Linux zal in de toekomst wel op Vista kunnen draaien, maar er zal geen Xen-versie van Windows verschijnen.
Niet alleen geïnstalleerde, maar ook draaiende besturingssystemen worden in deze opzet behandeld als ‘images’. Ze zijn net als andere toepassingen naast elkaar te starten, te stoppen en te onderbreken. Dat is interessant voor softwareontwikkelaars. Die hoeven immers niet langer te beschikken over een batterij testsystemen of hun multibootsysteem telkens weer opnieuw te starten om hun code op verschillende platformen te testen. Ze kunnen nu eenvoudigweg op hun ontwikkelsysteem de juiste images opstarten om hun tests uit te voeren. VMware is daar groot mee geworden.
Spelers
VMware en Xen zijn op dit moment de belangrijkste spelers in virtualisatieland. De eerste bestaat al wat langer en heeft veruit het grootste marktaandeel. Volgens Robert Molijn, salesmanager new business bij SLTN, ligt de overhead van VMware tussen de 5 en de 10 procent. Voor de GSX Server-variant is dat iets hoger.
Nieuwkomer Xen heeft het afgelopen jaar veel aandacht gekregen door de samenwerking met Red Hat. Deze os-hypervisor is vooral populair op het Linux-platform. Hij wordt ondersteund door zowel Red Hat als SuSE. Hoewel Red Hat ook VMware ondersteunt, zegt Jan Wildeboer, verantwoordelijk voor het Red Hat Center of Excellence in München, niet tevreden te zijn over VMware. Volgens hem blijft de overhead van Xen onder de 5 procent. “Bij VMware is dat een stuk hoger.”
Xen wordt eind dit jaar opgenomen in de nieuwe Red Hat Enterprise Linux versie 5, waarvan inmiddels de eerste bèta-versie beschikbaar is. Om tegenwicht te bieden aan de os-versie van Xen kwam VMware onlangs met de gratis VMware Server. Ook Microsoft kwam met een gratis Virtual Server en Virtual PC. Volgens Molijn speelt Microsoft in de wereld van de virtualisatie geen rol van betekenis. “Virtual Server loopt twee jaar achter op VMware.”
Piekbelasting
Tegenwoordig richt VMware zijn aandacht meer op het rekencentrum. Onder de kostendruk van de afgelopen vijf jaar hebben it-managers en -leveranciers zich veel inspanningen moeten getroosten om hun infrastructuur efficiënter te maken. Consolidatie, utility computing en virtualisatie zijn daarbij sleutelbegrippen. VMware en Xen vormen de basis daaronder.
Na de centralisatie van opslag in brede san-infrastructuren is nu de verwerkingskracht aan de beurt. In het algemeen worden voor elke toepassing een of meerdere serversystemen geïnstalleerd. Die worden daarbij zo gedimensioneerd dat ze zwaar genoeg zijn om alle piekbelastingen goed op te kunnen opvangen. Dat betekent dat deze machines meestal niets doen. Wie een gemiddelde belasting van 20 procent op een systeem weet te halen, mag in zijn handen knijpen. Liever dan steeds weer nieuwe systemen bijplaatsen zou je de bestaande overcapaciteit willen benutten. Sterker nog: je wil eigenlijk alleen betalen voor de capaciteit die je echt gebruikt, net zoals dat bij mainframes gebeurt.
Op dit moment zijn er meerdere gerelateerde ontwikkelingen die allemaal convergeren. Virtualisatie is daar een van de belangrijkste van. Door te werken met virtuele machines zijn de it-middelen gemakkelijker aan diensten toe te kennen. Vooral het flexibel verplaatsen van processen over systemen is daarvoor een belangrijke voorwaarde. Xen maakt het bijvoorbeeld gemakkelijk om een virtuele machine te stoppen, en het ‘image’ via het netwerk naar een ander Xen-systeem te verplaatsen en daar verder uit te voeren.
Clustering
Een ander belangrijk ingrediënt van virtualisatie is clustering. Verwerkingskracht van verschillende systemen moet hiervoor kunnen worden gebundeld tot één groot virtueel multiprocessorsysteem. Die clusters hebben vaak de vorm van rekken vol bladesystemen. Hoewel er harde wiskundige grenzen zijn aan de parallelliseerbaarheid van algoritmen, worden toepassingen tegenwoordig zo veel mogelijk geschikt gemaakt voor parallelle verwerking.
Het web als de standaard voor de gebruikersinterface en de opkomst van soa’s (service oriented architecture) maken het ons wat dat betreft steeds gemakkelijker. In dit verband wordt vaak gesproken van horizontale schaalbaarheid: voor extra capaciteit hoef je niet steeds weer een nog grotere machine te kopen, maar kan je simpelweg extra (standaard) systemen bijplaatsen.
De virtualisatie van het rekencentrum is vooral afhankelijk van ondersteuning door de beheeromgevingen van de grote leveranciers CA, HP en IBM. In de aanloop naar een meer volwassen technologische ondersteuning bieden hardwareleveranciers vast een zakelijk voorschot op het echte utiliteitsverwerking (utility computing). De meeste hebben hun prijsmodellen de laatste jaren al aangepast. Het is bijvoorbeeld voor grote systemen gemakkelijker geworden om al aanwezige processoren bij te schakelen als meer capaciteit nodig is. Sommige leveranciers bieden ook de mogelijkheid die processoren in rustiger tijden weer uit te schakelen.
Hardware
Ook aan de onderkant van het virtualisatieaanbod gebeurt van alles. Virtualisatiesoftware is immers direct gerelateerd aan de processorhardware. Intel kwam eerder dit jaar met VT (Virtualization of Vanderpool Technology) in zijn processoren. Athlon- en Turion-processoren in Virtualization-smaak (voorheen bekend onder de namen Pacifica en I/O) zijn ook al beschikbaar. In augustus introduceerde AMD zijn eerste Rev F Opteron-processoren, die voorzien zijn van virtualisatie.
Hoewel de technieken van die twee fabrikanten niet compatibel zijn, lijken ze wel sterk op elkaar. Beide chipbakkers introduceren in hun processoren een speciale modus voor de hypervisor door de oude ‘ring 0’-modus, waarin het besturingssysteem draaide, op te splitsen. Op de Intel-processoren draait de hypervisor nu in ring 0P en draaien de besturingssystemen in ring 0D. AMD spreekt over respectievelijk de svm (secure virtual machine) en ‘guest modus’. In de hypervisormodus zijn speciale datastructuren beschikbaar voor de controle van geheugen, interrupts en invoer/uitvoer van de besturingssystemen. Daarnaast is een handvol nieuwe instructies toegevoegd om te schakelen tussen hypervisor en virtuele machines.
Beide processorfabrikanten zijn voor hun virtualisatietechnologie gaan samenwerken met VMware, Microsoft en XenSource. De virtualisatie-uitbreidingen moeten niet alleen de overhead op het draaien van virtuele machines omlaag brengen, maar het ook mogelijk maken om ongemodificeerde besturingssystemen als gast op Xen te draaien.
Besparingen
Als we de grote leveranciers mogen geloven, kunnen we door het kopen van hun virtualisatie-oplossingen ons geautomatiseerde leven sterk vereenvoudigen en onze ict-kosten enorm reduceren. Kijken we wat beter, dan blijkt virtualisatie voor het pc-platform op dit moment vooral goed inzetbaar te zijn voor specifieke, kleinere toepassingen. Voor de echt grote besparingen die straks in de rekencentra behaald moeten worden, is deze technologie nog te veel in ontwikkeling. Wel wordt op alle niveaus, van processor tot beheersoftware en van prijsmodel tot grid, hard gewerkt aan de verdere ontwikkeling van virtualisatie en utiliteitsverwerking.