Die Woche: Das große Virtualisierungschaos

Auch diese Woche geht es um ein Thema mit Zukunft: Virtualisierung. Wie es sich bei einem jungen Boom-Thema gehört, regiert die große Unübersichtlichkeit. Ein Abriss der aktuellen Entwicklungen führt zu der Frage, was der Anwender eigentlich braucht.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 7 Min.
Von
  • Dr. Oliver Diedrich
Inhaltsverzeichnis

Virtualisierung gilt zurzeit als einer der Megatrends in der IT: Sie verheißt mehr Leistung auf weniger Rechnern bei besserer Ausnutzung der Hardware und maximaler Flexibilität. Eine Virtualisierunglösung (am besten Open Source), Linux und günstige x86-Hardware – das verspricht Serverkonsolidierung für wenig Geld. Was Webhoster schon lange lieben, soll jetzt in großem Stil in die Rechenzentren einziehen.

Schade bloß, dass das alles so unübersichtlich ist. Bleibt man im Grundsätzlichen, ist es noch nachvollziehbar: Auf der einen Seite steht die Userland-Virtualisierung, bei der unter einem Kernel mehrere gegeneinander abgeschottete Systemumgebungen (Partitionen) laufen. Implementierungen sind die Container von Solaris, das bei Webhostern beliebte Virtuozzo und dessen Open-Source-Ableger OpenVZ oder Linux-VServer. Vorteile: Geringer Ressourcenbedarf und hohe Performance, Nachteil: Alle virtuellen Umgebungen verwenden ein- und denselben Kernel – verschiedene Betriebssysteme kriegt man damit nicht auf eine Maschine.

Demgegenüber stehen "echte" virtuelle Maschinen, in denen beliebige Betriebssysteme laufen können. Dazu werden sie unter die Oberhoheit einer übergeordneten Instanz gebracht: entweder eine Anwendung, die selbst unter einem Betriebssystem (dem Host) läuft – bekannte Beispiele sind VMware Workstation oder Microsofts VirtualPC –, oder ein Hypervisor, ein auf ein Minimum reduziertes "Metabetriebssystem", das die Hardwareressourcen unter den Gastsystemen verteilt, so wie es ein Betriebssystem unter den laufenden Prozessen tut. Das ist die Technik, wie sie Großrechner einsetzen und wie sie mit Xen in die x86-Welt eingezogen ist. Auch der aktuelle Vmware ESX Server, Teil der VMware Infrastructure 3, ist ein solcher Hypervisor.

Hier existieren wiederum zwei verschiedene Ansätze: Wenn das Gastsystem an den Betrieb unter einem Hypervisor angepasst ist, spricht man von Paravirtualisierung – der ursprüngliche Xen-Ansatz. Sollen die Gäste unmodifiziert laufen, muss die übergeordnete Instanz einen PC emulieren, wie es VMware tut – oder auch Xen, das (auf modernen Prozessoren mit Hardwareunterstützung für die Virtualisierung) auch unmodifizierte Gäste unterstützt.

Technisch am elegantesten ist die Paravirtualisierung, die die beste Performance verheißt. Sie ist die ideale Lösung für den dicken Linux-Server, der sich mit Xen partitionieren lässt wie eine große Unix-Kiste. Universeller verwendbar ist allerdings eine virtuelle Maschine mit emulierter Hardware, in der (im Prinzip) jedes Betriebssystem als Gast läuft, ohne überhaupt zu merken, dass es den Rechner nicht alleine für sich hat. Das braucht man, will man beispielsweise Windows und Linux auf eine Hardware bringen.

Als das nicht schon unübersichtlich genug wäre, sprießen derzeit überall neue Optionen in Sachen Virtualisierung aus dem Boden. Um nur einige der letzten Wochen aufzugreifen: Microsoft und Novell wollen im Rahmen ihrer Kooperation Lösungen entwickeln, um Linux und Windows virtualisiert unter dem jeweils anderen System laufen zu lassen – inklusive der Management-Infrastruktur, die für einen effizienten Einsatz nötig ist. Eine Management-Lösung für virtuelle Maschinen im Rahmen von ZenWorks hat Novell bereits angekündigt. Die Microsoft-Novell-Liaison in Sachen Virtualisierung konterten die unmittelbar Betroffenen VMware und Red Hat – mit der Ankündigung einer eigenen Kooperation bei der Virtualisierung.

Mit XenSource (jetzt Teil von Citrix) und Virtual Iron haben zwei Unternehmen im Dezember neue Produkte auf Xen-Basis vorgestellt, die neben Linux auch Windows virtualisiert ausführen können. Das kann auch der neue Vmware-Konkurrent VirtualBox, Anfang des Jahres urplötzlich wie aus dem Nichts aufgetaucht und sowohl als Open Source als auch in einer erweiterten, kommerziellen Variante verfügbar.

Und als ob Xen nicht genug eingebaute Virtualisierung für Linux wäre, bringt Linux ab dem Kernel 2.6.20 gleich zwei neue Entwicklungen in Sachen Virtualisierung. KVM (Kernel-based Virtual Machine) macht den Linux-Kernel selbst zum Hypervisor und verwendet – wie Xen im Einsatz als "Vollvirtualisier" – zur Emulation typischer PC-Komponenten in den virtuellen Maschinen eine modifizierte Version des Open-Source-Virtualisierers Qemu. paravirt_ops, die zweite Virtualisierungstechnik im neuen Linux-Kernel, ist eine generische Hypervisor-Schnittstelle, für die mit lguest (ursprünglich lhype) auch schon ein erster Hypervisor in Arbeit ist.

Ob das die Integration von Xen (das in Form von Patches für den Linux-Kernel entwickelt wird und daher als Bestandteil der Kernelquellen am besten aufgehoben wäre) in den Standard-Kernel beschleunigt oder ausbremst, steht derzeit in den Sternen. Projektgründer Ian Pratt hat die schon zwei Jahre dauernde Warterei auf das Ok der Kernelentwickler offenbar satt: Vor kurzem erklärte er, die Xen-Macher würden sich nicht mehr aktiv um die Aufnahme in den Kernel bemühen. Kernel-Maintainer Andrew Morton hat allerdings inzwischen angedeutet, zumindest einen Teil der Xen-Patches in eine der nächsten Kernel-Versionen integrieren zu wollen...

Und, nicht zu vergessen, IT-Tausendsassa IBM: Hier verfügt man über umfangreiche Virtualisierungserfahrungen aus dem Großrechnerbereich. Das IBM-Labor arbeitet an einer sicheren Hypervisor-Technik namens sHype. Mit rHype existiert ein weiterer experimenteller Hypervisor für Linux. Von beiden Entwicklungen hört man in letzter Zeit allerdings nichts viel. Daneben steuert IBM aber auch Code zu Xen bei – und unterstützt dessen Einsatz schon jetzt bei einigen Kunden.

In der Praxis stellen sich allerdings ganz andere Fragen als die nach der zugrunde liegenden Technik: natürlich die Kosten, aber auch die praktische insetzbarkeit der Virtualisierungslösung. Wie schnell hat man ein Gastsystem aufgesetzt? Wie bequem lassen sich die virtualisierten Systeme verwalten, starten, herunterfahren, zwischen verschiedenen Maschinen transferieren? Wie leicht wird aus einem realen Server eine virtuelle Maschine? Wie umfassend, wie bequem und wie dynamisch lassen sich die Hardwareressourcen zwischen den Gastsystemen aufteilen? Findet man erfahrene Admins, Anleitungen und Support?

Hier zeigt ein näherer Blick, dass die meisten Lösungen noch weit von einem produktiven Einsatz im Unternehmen entfernt sind. Einzig für Vmware und den Userland-Virtualisierer Virtuozzo existiert bislang die nötige Infrastruktur. Bei Xen zeigen sich zumindest erste Ansätze: Novell und Red Hat integrieren Xen in ihre Unternehmensdistributionen und erleichtern so das Aufsetzen virtueller Maschinen; XenSource und Virtual Iron arbeiten an den notwendigen Management-Tools. Alles andere bewegt sich irgendwo zwischen Ankündigung und "funktioniert im Prinzip".

Was sich letztlich als Virtualisierungslösung für Linux durchsetzen wird, ist sowieso noch nicht abzusehen. Einerseits hätte man gerne einen ins Betriebssystem integrierten Hypervisor, andererseits liegt Vmware derzeit weit vorne, was den produktiven Einsatz angeht.

Und sollte so ein Hypervisor nicht sowieso zur Hardware gehören? AMD wie Intel arbeiten fleißig an Prozessor- und Chipsatzerweiterungen, die die Virtualisierung unterstützen. Nach Ansicht von Martin Fink, Vizepräsident der Nonstop Enterprise Division und der Open Source & Linux Organization bei HP, könnte ein Hypervisor schon Ende 2009 Bestandteil der Firmware von x86-Servern sein – so, wie es seit vielen Jahren bei Großrechnern selbstverständlich ist. (odi) (odi)