24.3 Zwei Wege zum Ziel 

In Abschnitt »Paravirtualisierung« auf Seite hatte ich bereits angedeutet, dass Xen zwei verschiedene Arten der Virtualisierung beherrscht:
| 1. | Paravirtualisierung |
| 2. | Hardwarebasierte Virtualisierung |
Zur Wiederholung und zur besseren Übersicht betone ich an dieser Stelle die wichtigsten Eigenschaften der jeweiligen Lösung.
24.3.1 Paravirtualisierung 

Wenn Linux als Gastsystem zum Einsatz kommt, muss dessen Kernel einen Patch erhalten, um die notwendige Zwischenschicht einzubauen, damit die Systembefehle, die an die Hardware gerichtet sind, direkt an den Hypervisor weitergeleitet werden können.
Da Xen noch nicht in den ofiziellen Linux-Kernel integriert ist, wird damit zurzeit auch automatisch die Kernel Version 2.6.18 vorgegeben. Das bedeutet explizit: wer Xen einsetzen möchte, muss vorab prüfen, ob der von Xen unterstützte Linux-Kernel auch die notwendigen Treiber (Module) beinhaltet, die für das System benötigt werden.
Einige Linux-Distributionen (beispielsweise Fedora und auch Ubuntu) integrieren Xen auch in einen weitaus neueren Kernel. Dies erfordert eine Menge Arbeit, da Xen diese Kernel »offiziell« nicht unterstützt. Es werden lediglich Patches und Quellpakete angeboten, die von den Distributoren mit viel Zeit- und Personalaufwand selber integriert werden müssen. Es ist zu hoffen, dass Xen bald in den offiziellen Kernel eingegliedert wird und sich diese Problematik entschärft.
Integration in den offiziellen Linux-Kernel
Die Integration von Xen in den offiziellen Kernel ist eine unendliche Geschichte. Die ersten Anfragen auf der Mailingliste der Kernel-Entwickler sind aus dem Jahr 2005, also zwei Jahre nach der Veröffentlichung des Projektes. Die Kernel-Entwickler, beispielsweise Andrew Morton und Linus Torvalds, sind den (Server-)Virtualisierungstechniken nicht grundsätzlich abgeneigt, legen aber sehr hohe Ansprüche an den zu integrierenden Code. So wurde die Integration bisher aufgrund mangelnder Qualität des Codes abgelehnt. Andrew Morton äußerte sich 2006 folgendermaßen über die Problematik:
»Ich habe schon vor einem Jahr erwartet, dass Xen aufgenommen wird. Die Entwickler von Xen haben uns allerdings keinen Code geschickt und nicht genügend Ressourcen in die Anpassung gesteckt. Seit einem Jahr gibt es Diskussionen, ob Xen als Architektur oder Sub-Architektur integriert wird. Die sind noch nicht abgeschlossen.«
An der Xen-Version 3.3 (September 2008) kann man erkennen, dass derzeit viel an der Sauberkeit des Codes gearbeitet wird, um die Integration in Linux voranzutreiben. Im August 2008 wurde von Seiten der Firma XenSource die Vermutung geäußert, dass eine Integration im Verlauf des Jahres 2009 erfolgen wird.
Seit 2007 ist aber der Code der Kernel-based Virtual Machine (KVM) in den offiziellen Kernel integriert. Auf KVM gehe ich in Kapitel ab Seite detailliert ein.
24.3.2 Hardwarebasierte Virtualisierung 

Diese Technik bietet CPU-seitig eine bessere Leistungsfähigkeit, da die Zwischenschicht für den Hypervisor in großen Teilen entfallen kann. Die CPU-Adressierung wird nun nicht mehr von Xen gesteuert, sondern direkt von der CPU. Um dies zu können, müssen sowohl das Mainboard, Bios, und natürlich die CPU selber, die entsprechenden Voraussetzungen mit sich bringen. Vor dem Kauf sind daher entsprechende Recherchen angesagt.
Achten Sie beim Kauf von Hardware unbedingt darauf, dass die Virtualisierungstechniken der Prozessoren auch vom Mainboard unterstützt werden. In zahlreichen Supportforen im Internet häufen sich die Beschwerden, dass Anwender einen modernen Intel-VT- oder AMD-V-Prozessor besitzen, aber die Hardwarebasierte Virtualisierung auch mit einem neuen Mainboard nicht gelingen will. Der Grund liegt darin, dass das Mainboard den erweiterten Befehlssatz der CPUs unterstützen muss. Viele Hersteller deaktivieren aus Stabilitätsgründen diese Funktion im BIOS oder bieten sie gar nicht erst an.
Zuvor sollte nicht unerwähnt bleiben, dass zwar die Zwischenschicht (Hypervisor) auf ein Minimum beschränkt werden kann, allerdings betrifft dies nur im Großen den Prozessoranteil. Um jedoch mit der restlichen Außenwelt kommunizieren zu können, muss unter Xen 3.x wieder Hardware emuliert werden. Daher hat das Xen Projekt aus dem QEMU Projekt die entsprechenden Teile entnommen und in das Xen Projekt integriert.
Dies führt wiederum dazu, dass durch die notwendige Emulation wieder Leistungseinbußen hingenommen werden müssen. Daher lohnt sich dies derzeit nur bei Systemen, die nicht angepasst werden können, also deren Quelltext nicht frei einsehbar und modifizierbar ist.
Die folgende Tabelle gibt Ihnen einen Überblick, welche Art der Virtualisierung in Abhängigkeit von der Rechnerarchitektur möglich ist. Auf einen 32 Bit-System sind grundsätzlich auch nur 32 Bit-Gäste möglich. Mit Hilfe von PAE kann Xen bei 32 Bit-Systemen bis zu 16 GB RAM nutzen.
| Architektur | Virtuelle Maschine 32 Bit | Virtuelle Maschine 32 Bit (PAE) | Virtuelle Maschine 64 Bit |
|
32 Bit |
PV & HV |
|
|
|
32 Bit (PAE) |
HV |
PV |
|
|
64 Bit |
HV |
HV |
PV & HV |




Jetzt bestellen







