Virtual Machine Monitor Xen im Überblick

Virtuelle Maschinen im Griff

8. März 2006, 0:35 Uhr | Dennis Zimmer/wg Dennis Zimmer ist VCP und seit Jahren als Systemadministrator tätig. Er betreibt die Website www.vmachine.de und ist Autor des Galileo-Press-Buchs "Vmware & Microsoft Virtual Server".

Der Virtual Machine Monitor (VMM) Xen ist eines der am meisten angesprochenen und erwarteten Virtualisierungs-Tools der letzten Zeit. Was ist jedoch so besonderes an Xen, und welche Funktionen dieses Werkzeugs führten zu solch einer hohen Erwartungshaltung auch bei großen Herstellern? Die Leistungsdaten und die schnellen Fortschritte der Software deuten darauf hin, dass Xen ein wichtiges Virtualisierungswerkzeug im kleinen wie auch im großen Unternehmensumfeld werden kann.

Durchsucht man das Internet nach dem Schlagwort "Xen", dann fallen zwei Begriffe auf: "Xen
Community" und "Xensource". Die Xen Community – oder auch das Xen Project – ist das eigentliche
Open-Source-Projekt, das eine Gruppe von Entwicklern an der Universät von Cambridge gestartet hat
und stetig weiterentwickelt. Xen geht einen ähnlichen Schritt wie Vmware mit dem ESX Server: Ein
angepasster Kernel (Hypervisor) arbeitet als Schicht zwischen Hardware und Betriebssystem. Diese
Virtualisierungsschicht ermöglicht eine hohe Leistung im Gastsystem und die volle
Ressourcenkontrolle über das Wirtsystem.

Durch die Unterstützung namhafter Unternehmen wie AMD, Intel, IBM, Novell und vieler mehr erhält
dieses Open-Source-Projekt – unter GPL lizenziert und daher kostenfrei – einen enormen
Entwicklungsschub. Die Xen-Entwicklergruppe hat zudem ein Unternehmen gegründet, das den
kommerziellen Part der Xen-Vermarktung abdeckt und eine Art Führungsrolle für die Xen-Community
übernimmt. Neben dem Anwender-Support wird Xensource in naher Zukunft auch Produkte anbieten: den
Xen Optimizer zur Verwaltung des Xen-Servers und der darauf laufenden virtuellen Maschinen.
Xensource macht das Open-Source-Projekt durch den Schritt in die Wirtschaft und den damit
verbundenen Kunden-Support auch für Unternehmen interessant. Lediglich offizielle Schulungen und
Zertifizierungen existieren noch nicht.

Paravirtualisierung

Xen arbeitet mit der so genannten "Paravirtualisierungstechnik": Der Virtualisierer reicht die
x86-Hardware direkt an die Gastsysteme durch, statt sie für das Gastsystem zu emulieren wie
beispielsweise die Virtualisierungslösungen von Vmware oder Microsoft. Da somit alle beteiligten
Systeme die Hardware parallel ansprechen können, spricht man von Paravirtualisierung. Der Nachteil:
Jedes Gastsystem muss einen angepassten Betriebssystem-Kernel nutzen. Dies wird sich zwar mit den
für 2006 erwarteten Virtualisierungstechniken Pacifica (AMD) und Vanderpool (Intel) ändern,
allerdings wird die hohe Geschwindigkeit der Paravirtualisierung nur mit angepasstem Kernel möglich
sein.

Um eine sehr sichere und schnelle Umgebung zu gewährleisten, unterscheidet Xen privilegierte und
unprivilegierte Domänen. Dabei hat domain-0 die uneingeschränkte Kontrolle über das komplette
System, alle anderen Gastsysteme laufen außerhalb dieser Domäne (domain-U). Für einen Administrator
stellt sich dies folgendermaßen dar: Unter einer Linux-Distribution installiert er Xen und richtet
es ein. Unter anderem erfolgt hier die Installation des Xen-Kernels. Nach einem Neustart lädt die
Maschine den Xen-Kernel. Damit startet die domain-0, die alle weiteren Domänen (virtuelle Systeme)
steuert. Über die so genannten "Xen-Tools" kann der Systemverwalter nun virtuelle Maschinen
erstellen, konfigurieren und starten.

Funktionsumfang

Der derzeitige Entwicklungsstand ist die im November 2005 erschienene Version 3. Xen bietet
mittlerweile neben Standardfunktionen wie dem Einfrieren von virtuellen Maschinen eine erhebliche
Hardware- und Funktionsunterstützung, die bisher nur der Vmware ESX Server bot. Bei der Verwendung
von Shared Storage sind so genannte "Live Migrations", also Umzüge laufender VMs (Virtual Machines)
von einem Xen-Server auf einen anderen, ohne nennenswerten Ausfall möglich. Als Shared Storage
können NAS-, SAN- und iSCSI-Speicher dienen. Im Vmware-Umfeld kennt man diese Technik als Vmotion,
die allerdings erst ab der kommenden Version 3 des ESX und Virtualcenter-Servers neben SAN auch NAS
oder iSCSI-basierte VMs migrieren kann.

Ein weiteres Highlight von Xen ist die enorme Multiprozessorunterstützung im Gastsystem, die bei
32 virtuellen CPUs liegt. Die Prozessoren lassen sich sogar dynamisch hinzufügen und entfernen. Die
Hauptspeicherunterstützung liegt je nach Architektur bei maximal 1 TByte: 4 GByte bei einem
32-Bit-System ohne PAE (Physical Address Extension), 64 GByte bei 32 Bit mit PAE und 1 TByte bei
einem 64-Bit-System.

P6-Prozessor als Basis

Als Basis einer Xen-Implementierung ist mindestens die x86-P6-Prozessorfamilie erforderlich,
also Intel Pentium Pro, Celeron, Pentium II, Xeon oder AMD Athlon beziehungsweise Duron. Dies
sollte heute in der Praxis kein Problem mehr darstellen. Durch die Technik hinter Xen ist es anders
als beim Einsatz von Vmware-Lösungen aber nicht möglich, ein 32-Bit-Gastsystem unter einem
64-Bit-Wirt zu betreiben. Interessant sind die in der Entwicklung befindlichen Portierungen auf
IA64 und Power5. Damit kann Xen seinen Wirkungsbereich weiter ausbauen.

Xen-Integrationen existieren derzeit für alle Linux-Derivate, die auf dem Kernel 2.4 (für den
Wirt, also domain-0) und 2.6 (Wirt und Gast, also domain-0 und domain-U) aufsetzen, außerdem für
Net BSD (domain-U), Free BSD (domain-U), React OS (domain-U) und Plan9 (domain-U). Eine
Solaris-Implementierung soll in einer späteren Version folgen. Daher ist Xen im Linux-Umfeld in
fast jedem System einsetzbar. Vielen Distributionen wie die von Novell und Red Hat liefern es
bereits mit. Für die Serverversionen von Novell und Red Hat sind schon Komplettintegrationen des
Xen-Kernels angedacht.

Die Windows-Unterstützung befindet sich derzeit im Entwicklungsstadium und soll mit der
Verbreitung der Prozessorvirtualisierungstechniken von AMD und Intel endgültig nutzbar sein. Der
Grund liegt in der schon angesprochenen notwendigen Anpassung des Betriebssystem-Kernels, die durch
diese Prozessorvirtualisierungstechniken wegfallen wird. Allerdings werden Gastsysteme mit
modifiziertem Kernel immer bessere Leistungsdaten erzielen als unmodifizierte Gäste. Genauere
Erkenntnisse über die Leistungsunterschiede werden erst entsprechende Tests zu Tage fördern.

Grundinstallation

Die Installation stellt sich je nach Derivat unterschiedlich dar, da zum Beispiel für Fedora
Core 4 RPM-Pakete vorliegen, für andere Derivate aber Binaries oder zu übersetzende Quellen. Zu
finden sind die Installationsdateien und -anleitung auf der Website von Xensource
(www.xensource.com). Anhand des gut gelungenen Handbuchs und der ebenfalls auf der Website zu
findenden Community-Anleitungen sollte die Grundinstallation des Hypervisors schnell und
unproblematisch ablaufen. Um eine Idee von der Installation zu vermitteln, folgt hier eine
Kurzfassung:

Installation des Hypervisors,

Ergänzung der menu.lst (Grub-Konfigurationsdatei) um den gerade installierten
Xen-Kernel und gegebenenfalls Erstellung des initrd-Boot-Images,

Neustart mit anschließender Auswahl des Xen-Boot-Eintrags.

Im Handbuch befindet sich zudem eine Auflistung der verschiedenen Parameter des Xen-Kernels. Der
Anwender kann sie je nach Anforderung problemlos in der genannten menu.lst angeben.

Erstellung neuer VMs

Die Erstellung neuer virtueller Maschinen ist wie bei jeder Virtualisierungssoftware der
interessanteste Teil – leider aber im Fall von Xen im Vergleich zu vielen anderen großen
Virtualisierern noch der schwierigste: Da Xen keine Verwaltungsoberfläche mitliefert, ist
Handarbeit angesagt, und sehr gute Linux-Kenntnisse sind Voraussetzung. Gerade hier wird Xensource
in der nächsten Zeit mit dem Xen Optimizer Abhilfe schaffen: Dieses Tool ermöglicht eine zentrale
Verwaltung der Installation des Xen-Hypervisors sowie die Neuerstellung und die Verwaltung der
virtuellen Maschinen.

Grundsätzlich besteht eine virtuelle Maschine unter Xen zunächst nur aus einer
Konfigurationsdatei. Diese muss der Administrator manuell erstellen. Sie besteht im günstigsten
Fall aus wenigen Zeilen. Diese definieren den zu ladenden Xen-Kernel, die Anzahl der virtuellen
CPUs, die Hauptspeichergröße, die Anzahl der Netzwerkadapter und deren Konfiguration sowie die
Festplatten der virtuellen Maschine. Während die ersten drei Komponenten verhältnismäßig einfach zu
konfigurieren sind, ist bei der Netzwerk- und Festplattenkonfiguration Hirnschmalz (für das Design)
und umfangreiches Linux-Verständnis (für die Konfiguration) gefragt.

Installation des Gastsystems

Die Installation und Erstkonfiguration des Gastsystems ist derzeit eine Herausforderung. Sie
erfordert zumindest gute Linux-Kenntnisse, da die gewohnte Ins-tallationsroutine der
Betriebssysteme (zum Beispiel mittels CD) nicht mit jeder Distribution anwendbar ist. Da
Anleitungen zur Installation der verschiedensten Linux-Distributionen existieren, findet sich
jedoch schnell der richtige Weg zum laufenden Gastsystem. Die Installationsarten reichen vom
Kopieren des Filesystems einer schon funktionierenden Maschine bis hin zur Nutzung automatischer
Installationen mittels yum (Fedora) oder debootstrap (Debian). Ziel des Kopierens beziehungsweise
der automatischen Ins-tallation ist immer ein Mountpoint. Allerdings sind hier sämtliche
Linux-Möglichkeiten erlaubt, wodurch neben einer eigenen Festplatte auch eine einzelne Partition
oder eine genügend große und formatierte Datei als Ziel und spätere Systemfestplatte für den Gast
dienen kann. Das Xen-Handbuch beschreibt das Prozedere ausführlich.

Die Möglichkeit, die Komplettinstallation des Gastsystems zu automatisieren, relativiert den
Nachteil einer fehlenden manuellen Installationsmöglichkeit – sofern entsprechendes Know-how
vorhanden ist. Dann ist mit wenigen cleveren Skripten eine Installation und Anpassung des Gastes in
wenigen Minuten möglich. Außerdem existieren alle bekannten Linux-Optionen, sodass auch freie
Software wie FAI (Fully Automatic Installation) oder Systemimager für den Rollout einsetzbar sind.
Um eine Installation mittels Installations-CD zu starten, muss der Administrator die
Gastkonfiguration so anpassen, dass die Boot-CD und zwei Festplatten (Daten und Swap) direkt
integriert sind.

Der Betrieb der Gastsysteme ist nach der Installation mit wenigen Ausnahmen wie in der
physischen Welt zu handhaben. Sicherungen können im Gastbetriebssystem oder über das Wirtsystem
inkrementell oder komplett ablaufen. Die Nutzung einer Datei als virtuelle Festplatte für den Gast
offenbart einen weiteren Vorteil: Durch einfaches Kopieren jener Datei bei ausgeschalteter
virtueller Maschine lässt sich ein Komplett-Image des Systems erstellen. Eine Fernsteuerung des
Gastes ist mittels VNC und SSH möglich.

Fazit und Ausblick

Xen gibt sich mit Version 3 schon sehr erwachsen. Allerdings fehlen noch ein paar wesentliche
Funktionen, um mit Lösungen von Vmware oder Microsoft konkurrieren zu können. Dazu gehört eine
einfache, zentrale Verwaltungskonsole und Drittherstellerprodukte, wie sie im Vmware- und
Microsoft-Umfeld zum Beispiel die Migration oder die Massenverteilung neuer VMs ermöglichen.

Da Microsoft Windows viele Serverlandschaften dominiert, weiß ein Großteil der
Systemadministratoren nicht genug über den Umgang mit Linux, um eine optimal laufende
Xen-Implementierung und deren Betrieb zu gewährleisten. Selbst bei entsprechendem Know-how seitens
der Administratoren wird ein schwierig zu verwaltendes System immer fehleranfällig und schwer zu
automatisieren sein. Daher sind hier Dritthersteller gefragt, um diesen Mangel durch entsprechende
Software zu beheben. Einen Schritt in diese Richtung geht Xensource mit der
Webadministrationsoberfläche Xen Optimizer. Leider liegt aber bis dato keine Testversion vor, um
dazu Genaueres sagen zu können.

Das große Potenzial von Xen ist nicht abzustreiten. Allein die derzeitige
Entwicklungsgeschwindigkeit ist enorm, ganz zu schweigen von den neuen Funktionen, die teilweise
schon vor der kommerziellen Konkurrenz liegen: die Unterstützung der
Prozessorvirtualisierungstechnik sowie 32 virtueller CPUs, bis zu 1 TByte Hauptspeichers und
vielfältiger Hardware. Gerade die Prozessorvirtualisierungstechniken werden Ausschlag gebend für
den Unternehmenseinsatz im Windows-Umfeld sein, da erst durch diese ein MS-Windows-Betrieb in den
Xen-Gastsystemen möglich ist. Ein Leistungsvergleich von Windows-Gastsystemen mit Vmware ESX und
Microsoft Virtual Server liegt daher noch nicht vor.

Für homogene Linux-Landschaften mit kompetenten Administratoren ist Xen auch jetzt schon ein
fortgeschrittenes Tool mit sehr vielen nützlichen Funktionen, wie man sie in der
Virtualisierungswelt erwartet. Virtualisierungswerkzeuge sind bei der Serverkonsolidierung eine
Hilfe und können erheblich an Administrationsaufwand einsparen. Dies setzt aber eine entsprechende
Planung voraus. Hier macht auch Xen keine Ausnahme.

Übrigens muss man seinen PC oder Server nicht neu installieren, um einen Blick auf die
Funktionsweise und Verwaltung von Xen werfen zu können. Mit Version 3 gibt es eine Live-CD, die auf
www.xensource.com kostenfrei erhältlich ist. Zudem haben die Entwickler eine Knoppix-basierende
Live-CD erstellt, die unter dem Namen Xenoppix zu finden ist (unit.aist.go.
jp/itri/knoppix/xen/index-en.html).


Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Lampertz GmbH & Co. KG

Matchmaker+