Allgemein bedeutet die Installation von Xen einen tiefen Eingriff in Ihr System. Der Grund dafür liegt darin, dass es sich bei Xen nicht um ein klassisches Software-Paket handelt, sondern um eine mehrschichtige Architektur, bestehend aus einem angepassten Kernel und den Hypervisor, der quasi direkt auf der Hardware läuft ("bare metal") und als Schnittstelle zwischen dieser und den virtuellen Maschinen oder Domains dient.
Die wichtigste dieser Domains ist die privilegierte Domain0, die das gesamte System steuert und die unprivilegierten Domains (domU) hostet.
Sie haben generell zwei Möglichkeiten, unter Ubuntu zu einem funktionsfähigen Xen zu gelangen:
- Die einfachste Variante ist das Installieren durch die distributions-spezifischen Pakete. Diese Vorgehensweise hat den Vorteil, dass die Funktion von Xen und die Integration in die Distribution getestet wurde. Allerdings haben Sie oftmals nicht die aktuellste Version in den Paketquellen, sodass Sie auf etwaige Neuerungen in Xen verzichten müssen.
- Etwas aufwendiger, aber dafür auf jeden Fall aktueller, ist die Installation von Xen aus den Quellen. Hierfür bietet Xen auf der Homepage www.xen.org einen Downloadbereich, in dem Sie die nötigen Tarballs herunterladen können. Das herunterzuladende Archiv enthält den Hypervisor, einige Patches und Werkzeuge für das Wirtssystem, um den Hypervisor zu kontrollieren.
Verwendung der Distributionspakete
Installation – Desktop versus Server
Ubuntu bietet generell zur einfachen Installation von mehreren aufeinander angewiesenen Paketen sogenannte Metapakete an. Wie die Anzahl der Xen-Metapakete bereits vermuten lässt, gibt es zwei grundlegende Möglichkeiten zur Installation von Xen:
- ubuntu-xen-desktop – Zum einen können Sie es bei einem existierenden Desktop-System nachinstallieren. Diese Möglichkeit eignet sich bevorzugt für Privatanwender, die bereits ein funktionierendes Produktivsystem haben und beispielsweise ein zweites Betriebssystem (z. B. Windows) installieren möchten.
- ubuntu-xen-server – Zum anderen vereinfacht ein spezielles Metapaket die Installatioin von Xen auf einem Server. Die Unterschiede zwischen den beiden Installationsarten sind gering und nur darin zu sehen, dass die für einen grafischen Betrieb nötigen Pakete nicht installiert werden.
Kaputte Abhängigkeiten
Unverständlicherweise fehlt in den Repositories von Ubuntu das Paket xenman, das eine grafische Oberfläche zur Verwaltung von Xen-Instanzen und virtuellen Maschinen bietet. Besonders ärgerlich ist dieser Umstand, wenn man das Metapaket ubuntu-xen-desktop installieren möchte, da dieses xenman installieren möchte, es aber nicht finden kann.
Der Grund für das Fehlen dieses Paketes ist wahrscheinlich darin zu sehen, dass das Xenman-Paket inzwischen veraltet ist (Stand November 2007) und sich ohne Anpassungen für eine Verwaltung von virtuellen Maschinen nicht mehr eignet. So ist das Programm beispielsweise nicht mehr in der Lage, neuere Funktionen von Xen 3.2 zu nutzen.
Wer ein aktuelles Paket sucht, wird nicht mehr fündig werden, da das Projekt Anfang 2008 in ConVirt (Controlling Virtual Systems) umbenannt wurde. Sie finden dieses "neue" Programm allerdings noch unter der alten Internet-Adresse http://xenman.sourceforge.net.
In der neueren Ubuntu-Version 8.10 "Intrepid Ibex" ist ConVirt in den Repositories zu finden. Allerdings ist diese Ubuntu-Version keine LTS-Version, sodass der Einsatz auf Servern nicht zu empfehlen ist.
Wenn Sie das Metapaket ubuntu-xen-desktop nutzen möchten, müssen Sie die Abhängigkeiten in Bezug auf Xenman auflösen. Sie können xenman leicht nachinstallieren, nachdem Sie zuerst das obligatorische Paket xen-utils installiert haben:
user$ sudo apt-get install xen-utils-3.2
XenMan, aber auch ConVirt ist in Python geschrieben, sodass Sie zur Ausführung dieser Programme auch die entsprechenden Python-Pakete installieren müssen. Sie benötigen unter anderem das Paket Python-Paramiko (www.lag.net/paramiko), das ssh-basierte Verbindungen für Python-Anwendungen erlaubt:
user$ sudo apt-get install python-paramiko python-rpm
Die Management-Programme verwenden diese SSH-Verbindungen, um Kontakt zu den virtuellen Maschinen aufzunehmen.
Die Management-Software XenMan selbst können Sie durch die folgende Zeile herunterladen und im Anschluss installieren:
user$ wget http://launchpadlibrarian.net/11041870/xenman_0.6-5ubuntu1_all.deb
&& sudo dpkg -i xenman*
Sie starten das Programm über die Kommandozeile mit
user$ sudo xenman
Das ältere Programm XenMan wird nicht mehr weiterentwickelt und ist vollständig durch den Nachfolger ConVirt ersetzt worden. Es ist nicht kompatibel zu Xen 3.2.

Im Anschluss können Sie das eingangs erwähnte Metapaket installieren:
user$ sudo apt-get install ubuntu-xen-desktop
Pakete einzeln installieren
Das Metapaket ubuntu-xen-desktop installiert die folgenden Pakete, die Sie selbstverständlich auch einzeln installieren können:
user$ sudo apt-get install bridge-utils debootstrap
libconfig-inifiles-perl libtext-template-perl
linux-image-2.6.24-19-xen linux-image-xen
linux-restricted-modules-2.6.24-19-xen
linux-restricted-modules-xen
linux-ubuntu-modules-2.6.24-19-xen
linux-xen ubuntu-xen-desktop xen-docs-3.2 xen-tools
ConVirt – Nachfolger von XenMan
Wie schon erwähnt, spiegelt XenMan nicht den aktuellen Entwicklungsstand wieder und erlaubt die Verwaltung der virtuellen Maschinen nur unter größerem Aufwand. Wir wollen uns deswegen den legitimen Nachfolger ConVirt (Controlling Virtual Systems) detaillierter ansehen.
ConVirt finden Sie, wie den Vorgänger XenMan auch, unter http://xenman.sourceforge.net. Leider gibt es für Ubuntu 8.04 kein fertiges Paket, während es für Ubuntu 8.10 in den Paketquellen vorhanden ist. Im Download-Bereich der Seite können Sie allerdings die Quelldateien herunterladen; die Installation ist innerhlab weniger Sekunden erledigt.
- Wechseln Sie in das Verzeichnis, in das Sie das heruntergeladene Archiv entpackt haben:
user$ cd ~/convirt.0.9/
- Wenn Sie nach obiger Anleitung das Paket XenMan installiert haben, besitzen Sie bereits die notwendigen Python-Pakete, die auch ConVirt voraussetzt. Ansonsten installieren Sie diese nach:
user$ sudo apt-get install python-paramiko python-rpm
- Stellen Sie sicher, dass die Rechte korrekt gesetzt sind:
user$ sudo chmod 0755 ./ConVirt
- Starten Sie ConVirt
user$ sudo ./ConVirt
ConVirt ist der Nachfolger von XenMan. Nur mit ConVirt lässt sich Xen 3.2 effektiv nutzen, mit XenMan ist dies nicht möglich.

Mit diesem Programm ist möglich, mit sehr wenigen Schritten neue virtuelle Maschinen anzulegen. im sogenannten Image Store befinden sich zu diesem Zweck einige vordefinierte Konfigurationen, beispielsweise für Fedora und CentOS, aber auch für eine beliebige Linux- und Windows-Installation von einem Wechselmedium. Der Image Store fungiert sozusagen als VM-Repository für ConVirt
Standardmäßig nutzt das Programm den Ordner image_store in dem Arbeitsverzeichnis, in den Sie das Programm entpackt haben. Wenn Sie stattdessen ein anderes Verzeichnis verwenden möchten, beispielsweise um mehr Speicherplatz zu gewinnen, steht ein kleines Skript bereit, das es Ihnen ermöglicht, eine Kopie des Image Store an einem beliebigen Ort anzulegen. Selbstverständlich können Sie hier auch einen anderen Server oder einen Netzwerkspeicher als Ort angeben.
user$ sudo sh ./install/common/mk_image_store
Aufgrund der Verwendung dieses Speicherortes als Repository ist es nicht möglich, dieses Verzeichnis mit einem einfachen Befehl wie cp zu kopieren. Wenn Sie einen neuen Speicherort für das Repository angeben, müssen Sie dies der Konfigurationsdatei convirt.conf mitteilen. Editieren Sie hierzu die Angaben unter image_store und appliance_store values.
Wenn Sie obiges Skript ohne die Pfadangabe starten, wird das Repository unter /var/cache/convirt erstellt.
|