Eisige Zeiten
Virtualisierungsserver EisXen
Eigene Templates erstellen
Möchten Sie andere Linux-Distributionen als virtuelle Gäste auf dem EisXen-Server installieren, laden Sie entweder ein fertiges Template von der EisXen-Homepage herunter oder erstellen selbst eine Vorlage. Das ist besonders dann interessant, wenn Sie bereits installierte Rechner haben, die Sie jetzt als virtuelle Gastmaschinen betrieben möchten.
Um ein bereits installiertes System umzuziehen, erzeugen Sie zunächst ein Tar-Archiv davon der Festplatte, das Sie anschließend als Template auf den EisXen-Server kopieren. Um das Archiv zu erstellen, fahren Sie Ihr System in den Runlevel 1 (init 1), um die Anzahl aktiver Prozesse zu minimieren. Erstellen Sie als ersten Schritt mit mkdir /rootfsein Verzeichnis, in welches Sie später die Archivdatei kopieren. Darin erstellen Sie eine Textdatei, die alle Verzeichnisse enthält, die nicht in das Archiv gehören:
cat > /rootfs/exclude.txt boot rootfs sys proc etc/mtab
Anschließend erzeugen Sie das Archiv mit dem Aufruf tar cvzf /rootfs/mysystem.tar.gz --exclude-from=/rootfs/exclude.txt --numeric-owner /. Wurde das Archiv fehlerfrei erzeugt, was bei großen Filesystemen durchaus einige Zeit dauern kann, kopieren Sie die Datei mittels Scp auf den EisXen-Server. Um die notwendige Netzwerkunterstützung zu aktivieren, bringen Sie Ihre Maschine in den Runlevel 3 oder 5 (init 3 oder init 5). Mit dem Kommando
scp /rootfs/mysystem.tar.gz root@IP-Adresse_von_EisXen:/data/xen/templates/
übertragen Sie das Archiv auf den EisXen-Rechner. Dort gilt es das Archiv anzupassen, bevor es sich als Template für eine virtuelle Maschine verwenden lässt. Beispielsweise müssen Sie noch Kernel-Module der Domäne-0 mit in das Template integrieren. Führen Sie hierfür als Benutzer root folgende Befehle auf dem EisXen-Server aus:
cd /data/xen/templates mkdir MySystem cd MySystem tar -xvfz ../mysystem.tar.gz mkdir -p proc sys cp -au /lib/modules/2.6.16-xen lib/modules
Da EisXen beim Installieren des Systems lediglich 2 Partitionen erzeugt, passen Sie die Datei /etc/fstab aus dem übertragenen Archiv an. Die Partition /dev/hda1 hängen Sie als Root-Filesystem ein, /dev/hda2 dient als Swap-Partition. Anschließend komprimieren Sie das Archivverzeichnis mit dem Befehl tar -cvfz ../mysystem.tar.gz --numeric-owner * wieder und löschen es eine Verzeichnisebene höher mit rm -rf MySystem/.
Das so erstellte Archiv dient nun als Vorlage und erscheint im Setup-Tool der Domäne-0 als neues Template, die eine Art virtuelle Kopie der Maschine darstellt. Auch wenn die beschriebene Vorgehensweise gerade für den Anfänger sehr kompliziert erscheint, so ist es doch eine recht elegante Methode, um bestehende Systeme zu virtualisieren. In der Fach-Terminologie spricht man hier auch von einem P2V ("physical-to-virtual").
Erfahrenen Benutzern bietet EisXen mit einem Root-Login auf der Domäne-0 die Möglichkeit, das System über die Kommandozeile zu administrieren. Hier steht Ihnen auch das bekannte Tool xm zur Verfügung, mit dem Sie die virtuellen Maschinen verwalten. Über die Konfigurationsdatei /etc/xen/xend-config.sxp verändern Sie die Netzwerkeigenschaften des Xen-Daemons. In der Standardeinstellung hängt Xen alle Gastmaschinen an eine Bridge und klemmt auf der anderen Seite die Netzwerkkarte aus der Managementdomäne an. Die Konfiguration der Bridge zeigt der Befehl brctl show br0 an, den Sie als administrativer Benutzer in der Domäne-0 ausführten. Für größere Setups bietet richten Sie statt der Bridge ein Routing/NAT ein. In der genannten Konfigurationsdatei ersetzten Sie hierfür den Aufruf des Bridge-Skriptes durch das NAT-Skript. Eine detaillierte Anleitung finden Sie auf den Seiten des Xen-Projekts [4].
Fazit
Mit EisXen steht eine Linux-Distribution zur Verfügung, die gerade Anfängern den Einstieg in die Xen-Welt erheblich erleichtert. Das Installieren von Gastsystemen gelingt in wenigen Minuten, solange Sie auf fertige Templates zurückgreifen. Um bestehende Systeme zu virtualisieren benötigen Sie allerdings tiefer gehende Linux-Kenntnisse. Auch das Aufsetzen virtueller Windows-Maschinen, das ein eigenes Howto [5] näher beschreibt, oder das Setup von komplexen virtuellen Netzwerken klappt nur mit guten Linux-Kentnissen.
Glossar
Paravirtualisierung
Eine Virtualisierungstechnik, die ohne einen Software-Layer direkt auf die Hardware des Wirtsrechners zugreift und damit eine beinahe native Performance der Gastsysteme gestattet.
Domäne-0
Privilegierte Ausführungsschicht von Xen, die Gast-Domänen (also die einzelnen virtuellen Maschinen) steuert.
[1] EisXen-Homepage: http://www.eisxen.org
[2] Eisfair-Homepage: http://www.eisfar.org
[3] Fertige Images: http://www.eisxen.org/7.html
[4] Xen Networking Howto: http://wiki.xensource.com/xenwiki/XenNetworking
[5] Windows unter EisXen installieren: http://www.eisxen.org/howto_windows.html



