Het lag zo voor de hand. Linux is open source, en de virtualisatiesoftware Xen ook. Het was een logische keuze om te proberen Xen in Linux te verwerken. Totdat VMware daar een stokje voor stak.
Het leek er even op dat Andrew Morton, rechterhand van Linus Torvalds bij het ontwikkelen van Linux, overstag ging. In de pers verschenen verhalen waarbij een voorkeur van Morton bleek voor een andere oplossing. In plaats van een enkele techniek in de vorm van Xen, zou de Linux-kernel een algemene virtualisatie-interface krijgen, zodat iedere virtualisatiesoftware er bovenop past. Een meer neutrale interface zou te verkiezen zijn boven de Xen-specifieke oplossing die men aanvankelijk voor Linux voor ogen had. Zouden de oorspronkelijke plannen doorgang vinden, dan zou Linux immers afhankelijk worden van Xen voor wat betreft de virtualisatie, en zou het voor andere virtualisatieproducten moeilijk worden om ook op Linux te draaien. De suggestie kwam van VMware vandaan. Vmware-programmeurs stelden dat het beter was om een gedocumenteerde, stabiele interface voor alle virtualisatiesoftware in Linux in te bouwen; een interface tussen de kernel en de virtualisatie-software. Zij hadden daarvoor al vorig jaar een voorstel gedaan in de vorm van VMI, de Virtual Machine Interface.
Geen consensus
Er blijkt echter allerminst consensus te zijn over de techniek die moet worden toegepast, en zelfs niet over welke techniek de beste is. Vanuit het Xen-kamp wordt er getwijfeld aan de efficiency van de VMI-techniek van VMware en leeft de gedachte dat de VMware-oplossing wellicht niet de beste oplossing voor Linux is, maar wel voor VMware. Er lijkt dus een impasse te zijn ontstaan over een goed besluit. Linux-regent Andrew Morton noemt zijn in publicaties naar voren gebrachte voorkeur voor de oplossing van VMware inmiddels in een interview met The Register ‘overtrokken’. “De vraag blijft of we wel een neutrale interface willen. Het zou kunnen dat de generieke interface ons geen voordeel brengt, dus misschien gaan we dan alsnog door met Xen.”
Morton waakt er echter voor om zelf zo’n beslissing te nemen. Iedereen die aan de kernel werkt wil weliswaar graag een besluit zien, maar ‘iedere keer als Linus of ik een besluit nemen, mislukt het systeem’, zegt Morton. Hij zou het liefste zien dat de technici van Xen en VMware samen tot een oplossing komen, maar het lijkt er niet op dat dat op korte termijn staat te gebeuren. Voorlopig lijken zich hierover alleen achterhoedegevechten af te spelen in mailinglijsten van de Linux-kernel.
Xen meeleveren
Feit is wel dat de twee belangrijkste Linux-distributies, Red Hat en Novell SUSE, Xen al meeleveren met hun producten. Hoe staan deze partijen in de discussie over Xen versus VMI? Beide wijzen erop dat er nog geen besluit is. Jan Wildeboer, solution architect bij Red Hat: “Linux kiest voor niets. De broncode ligt nog niet op tafel. In de Linux-wereld zijn concepten wel altijd goed voor discussies, maar gewerkt wordt er pas als de broncode er is. Wat dat betreft wachten we dus nu allemaal op de implementatie. Gezien de tijd die met het opnemen van grotere veranderingen in de kernel gemoeid is, denk ik, maar dat is mijn persoonlijke mening, dat we deze virtualisatie-layer zo snel niet op kernel.org zullen zien.” Op een iets hoger niveau blijkt Red Hat aan een soortgelijk project te werken. Wildeboer: “Het libvirt-project (http://www.libvirt.org) is bedoeld om de besturing van virtuele machines te regelen. Bij libvirt is er gelukkig al sourcecode, en libvirt wordt door XenSource al ondersteund. Misschien gaat VMware ook wel met libvirt werken?” En wat is nou de uiteindelijke consequentie van dit alles voor Red Hat? “Als de Kernel Community beslist dit concept te volgen, dan belandt het automatisch ook in Fedora en later in Red Hat”, zegt Wildeboer. “Wij leveren Linux. Dus alles wat in de kernel zit, ondersteunen wij ook.”
Van Novell komt de reactie van Erik Dooper, category specialist Novell. Hij zegt: “Het ontstaan van een open standaard voor de virtualisatie kernel interface is een goede zaak. Als er zoveel overeenkomsten tussen twee implementaties zijn, is het logisch dat je een gemeenschappelijke basis kiest. Als je kijkt naar concurrentie tussen VMware en Xen, zal de strijd zich afspelen daar waar het de meeste voordeel voor de eindgebruiker brengt, namelijk op de bovenlaag: in de gebruikersomgeving, tooling- en managementomgeving, en niet op het laagste niveau tegen de kernel aan. De keuze tussen verschillende virtualisatietechnieken heeft op deze manier dan ook een hogere kwaliteit tot gevolg. De consequentie voor Novell/SUSE Linux is dan ook dat virtualisatie als technologie nog bredere acceptatie zal krijgen, en ik verwacht dat, mochten de wijzigingen eenmaal in de mainline kernel doorgevoerd zijn, ook SUSE deze zal adopteren.”
wat is virtualisatie?
Virtualisatie is de techniek waarmee het mogelijk wordt om op een enkele machine (desktop of server) meerdere besturingssystemen tegelijk te starten. Gebruikelijk is het om dat te doen middels een extra ‘virtualisatielaag’ bovenop een bestaand besturingssysteem. Die laag simuleert als het ware softwarematig de hardware, en is in staat om dat meermaals te doen. Wanneer hardware op deze manier wordt gesimuleerd, spreken we van een ‘virtual machine’, waarin opnieuw een besturingssysteem kan worden gestart. Het besturingssysteem waar de virtualisatielaag op draait wordt het ‘host’-besturingssysteem genoemd, de besturingssystemen die er bovenop draaien (en die in de meeste gevallen kunnen afwijken van het onderliggende besturingssysteem), de ‘guests’. Virtualisatie wordt gebruikt om te consolideren. Eén grote met virtualisatiesoftware uitgeruste server kan wel tientallen kleinere fysieke servers vervangen. Dat heeft voordelen: computerkracht wordt over het algemeen efficiënter gebruikt, en wijzigingen zijn sneller door te voeren.