Virtualisierung · 7 min read · Oct 08, 2025
Xen auf einem Ubuntu 8.04 (Hardy Heron) Server aus den Ubuntu-Repositories installieren
Xen auf einem Ubuntu 8.04 (Hardy Heron) Server aus den Ubuntu-Repositories installieren
Version 1.0
Autor: Falko Timme
Dieses Tutorial bietet Schritt-für-Schritt-Anleitungen zur Installation von Xen auf einem Ubuntu Hardy Heron (Ubuntu 8.04) Server-System (i386). Alle hier verwendeten Softwarepakete finden Sie in den Ubuntu-Repositories, sodass keine externen Dateien (außer einem festen Ubuntu Xen-Kernel zur Aktivierung des Netzwerks für die virtuellen Maschinen) oder Kompilierungen erforderlich sind.
Xen ermöglicht es Ihnen, Gastbetriebssysteme (nix-Betriebssysteme wie Linux und FreeBSD) zu erstellen, sogenannte “virtuelle Maschinen” oder domU s, unter einem Hostbetriebssystem (dom0). Mit Xen können Sie Ihre Anwendungen in verschiedene virtuelle Maschinen aufteilen, die völlig unabhängig voneinander sind (z. B. eine virtuelle Maschine für einen Mailserver, eine virtuelle Maschine für eine stark frequentierte Website, eine weitere virtuelle Maschine, die die Websites Ihrer Kunden bedient, eine virtuelle Maschine für DNS usw.), aber dennoch dieselbe Hardware nutzen. Dies spart Geld und ist, was noch wichtiger ist, sicherer. Wenn die virtuelle Maschine Ihres DNS-Servers gehackt wird, hat dies keine Auswirkungen auf Ihre anderen virtuellen Maschinen. Außerdem können Sie virtuelle Maschinen von einem Xen-Server auf den nächsten verschieben.
Ich werde Ubuntu Hardy Heron (i386) als Host-OS (dom0) und Ubuntu Hardy Heron sowie Ubuntu Gutsy Gibbon (7.10) als Gastbetriebssysteme (domU) verwenden. Andere Debian-basierte Distributionen, die mit xen-tools installiert werden können, sind Debian Etch, Debian Lenny, Debian Sid und Debian Sarge sowie Ubuntu Dapper Drake, Ubuntu Edgy Eft und Ubuntu Feisty Fawn.
Dieses Howto ist als praktische Anleitung gedacht; es behandelt nicht die theoretischen Hintergründe. Diese werden in vielen anderen Dokumenten im Web behandelt.
Dieses Dokument kommt ohne jegliche Gewährleistung! Ich möchte sagen, dass dies nicht der einzige Weg ist, ein solches System einzurichten. Es gibt viele Möglichkeiten, dieses Ziel zu erreichen, aber dies ist der Weg, den ich wähle. Ich gebe keine Garantie, dass dies für Sie funktioniert!
1 Installieren Sie das Ubuntu Hardy Heron Host-System (dom0)
Sie können das Host-System (dom0) installieren, wie in den Kapiteln eins bis zehn dieses Tutorials gezeigt: https://www.howtoforge.com/perfect-server-ubuntu8.04-lts (natürlich müssen Sie dies nicht tun, wenn Sie bereits ein Ubuntu 8.04 Host-System haben, das Sie verwenden möchten).
Stellen Sie sicher, dass Sie als root angemeldet sind (geben Sie ein
sudo suum root zu werden), da wir alle Schritte aus diesem Tutorial als Root-Benutzer ausführen müssen. Wenn Sie vi als Ihren Texteditor verwenden möchten (wie in diesem Tutorial vorgeschlagen), sollten Sie
apt-get install vim-fullausführen.
Das vim-full-Paket stellt sicher, dass der vi-Texteditor wie erwartet funktioniert (ohne vim-full könnten Sie im vi-Texteditor auf einige seltsame Verhaltensweisen stoßen).
Es ist eine gute Idee, AppArmor zu deaktivieren:
/etc/init.d/apparmor stop
update-rc.d -f apparmor removedom0 ‘s FQDN in diesem Beispiel wird server1.example.com sein. Die IP-Adresse von server1.example.com wird in diesem Tutorial 192.168.0.100 sein, und das Gateway, das ich verwende, ist 192.168.0.1, sodass die virtuellen Maschinen dieses ebenfalls verwenden müssen.
2 Xen installieren
Um Xen und alle benötigten Abhängigkeiten zu installieren, müssen wir nur den folgenden Befehl ausführen:
apt-get install ubuntu-xen-serverDies installiert auch das xen-tools-Paket, das wir später verwenden, um virtuelle Maschinen zu erstellen.
Das ubuntu-xen-server-Paket installiert den Ubuntu-Kernel 2.6.24-16-xen; leider gibt es einen fiesen Fehler in diesem Kernel, der dazu führt, dass das Netzwerk für virtuelle Maschinen nicht funktioniert (siehe https://bugs.launchpad.net/ubuntu/+source/xen-3.2/+bug/204010 und https://bugs.launchpad.net/ubuntu/+source/linux/+bug/218126). Glücklicherweise hat Hirano Takahito diesen Kernel gepatcht und die gepatchten Versionen (für i386 und amd64) auf http://www.il.is.s.u-tokyo.ac.jp/~hiranotaka/ verfügbar gemacht (ich habe ein Spiegelbild dieser Pakete unter http://downloads.howtoforge.com/ubuntu_8.04_server_xen_from_repositories/ erstellt, falls der ursprüngliche Link eines Tages nicht mehr funktioniert). Laden Sie das richtige linux-image-Paket für Ihre Architektur (i386 oder amd64) herunter, z. B.:
wget http://www.il.is.s.u-tokyo.ac.jp/~hiranotaka/linux-image-2.6.24-16-xen_2.6.24-16.30zng1_i386.debErsetzen Sie dann den Ubuntu 2.6.24-16-xen-Kernel wie folgt:
dpkg -i linux-image-2.6.24-16-xen_2.6.24-16.30zng1_i386.debFühren Sie dann Folgendes aus:
mv /lib/tls /lib/tls.disabledWir müssen auch das Loop-Modul jedes Mal zum Kernel hinzufügen, wenn wir unser System booten, also bearbeiten wir /etc/modules. Wenn Sie bereits eine Loop-Zeile dort haben, lassen Sie sie so aussehen, andernfalls fügen Sie sie hinzu:
vi /etc/modules| [...] loop max_loop=64 [...] |
Jetzt werfen Sie einen Blick auf das Verzeichnis /boot, um zu sehen, welche Kernel und Ramdisks installiert sind:
ls -l /boot/root@server1:~# ls -l /boot/
total 34380
-rw-r--r-- 1 root root 426444 2008-04-10 18:55 abi-2.6.24-16-server
-rw-r--r-- 1 root root 80203 2008-04-10 18:55 config-2.6.24-16-server
-rw-r--r-- 1 root root 85149 2008-04-19 23:17 config-2.6.24-16-xen
drwxr-xr-x 2 root root 4096 2008-05-06 15:19 grub
-rw-r--r-- 1 root root 7323503 2008-04-24 11:47 initrd.img-2.6.24-16-server
-rw-r--r-- 1 root root 7047843 2008-04-24 11:45 initrd.img-2.6.24-16-server.bak
-rw-r--r-- 1 root root 7056979 2008-05-06 15:19 initrd.img-2.6.24-16-xen
-rw-r--r-- 1 root root 7062168 2008-05-06 15:09 initrd.img-2.6.24-16-xen.bak
-rw-r--r-- 1 root root 103204 2007-09-28 12:06 memtest86+.bin
-rw-r--r-- 1 root root 933296 2008-04-10 18:55 System.map-2.6.24-16-server
-rw-r--r-- 1 root root 883544 2008-04-19 23:17 System.map-2.6.24-16-xen
-rw-r--r-- 1 root root 1987288 2008-04-10 18:55 vmlinuz-2.6.24-16-server
-rw-r--r-- 1 root root 1730344 2008-04-19 23:17 vmlinuz-2.6.24-16-xen
-rw-r--r-- 1 root root 370610 2008-04-11 03:16 xen-3.2.gz
root@server1:~#Der /boot/vmlinuz-2.6.24-16-xen-Kernel ist der neue, gepatchte Xen-Kernel, und /boot/initrd.img-2.6.24-16-xen ist seine Ramdisk. Wir werden diese bald benötigen.
Sie können jetzt auch einen Blick in das Verzeichnis /usr/lib/xen-tools werfen, da es zeigt, welche Distributionen in einer virtuellen Maschine mit xen-tools installiert werden können:
ls -l /usr/lib/xen-toolsroot@server1:~# ls -l /usr/lib/xen-tools
total 36
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 centos-4.d
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 centos-5.d
-rwxr-xr-x 1 root root 4409 2008-04-06 03:12 common.sh
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 dapper.d
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 debian.d
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 edgy.d
lrwxrwxrwx 1 root root 8 2008-05-06 15:08 etch.d -> debian.d
lrwxrwxrwx 1 root root 15 2008-05-06 15:08 fedora-core-4.d -> fedora-core-6.d
lrwxrwxrwx 1 root root 15 2008-05-06 15:08 fedora-core-5.d -> fedora-core-6.d
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 fedora-core-6.d
lrwxrwxrwx 1 root root 15 2008-05-06 15:08 fedora-core-7.d -> fedora-core-6.d
lrwxrwxrwx 1 root root 6 2008-05-06 15:08 feisty.d -> edgy.d
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 gentoo.d
lrwxrwxrwx 1 root root 6 2008-05-06 15:08 gutsy.d -> edgy.d
lrwxrwxrwx 1 root root 6 2008-05-06 15:08 hardy.d -> edgy.d
lrwxrwxrwx 1 root root 8 2008-05-06 15:08 lenny.d -> debian.d
lrwxrwxrwx 1 root root 8 2008-05-06 15:08 sarge.d -> debian.d
lrwxrwxrwx 1 root root 8 2008-05-06 15:08 sid.d -> debian.d
root@server1:~#Wie Sie sehen, können wir die folgenden Distributionen installieren:
- Debian: Etch, Lenny (Testing), Sid (Unstable), Sarge
- Ubuntu: Dapper Drake, Edgy Eft, Feisty Fawn, Gutsy Gibbon, Hardy Heron
- CentOS 4, CentOS 5
- Fedora Core 4, 5, 6, Fedora 7
- Gentoo
(Ich habe noch nicht versucht, CentOS, Fedora und Gentoo mit xen-tools zu installieren, daher kann ich nicht sagen, wie gut es funktioniert.)
Ich möchte meine virtuellen Maschinen im Verzeichnis /home/xen speichern, daher erstelle ich es jetzt:
mkdir /home/xenWir werden xen-tools verwenden, um virtuelle Maschinen zu erstellen. xen-tools erleichtern die Erstellung virtueller Maschinen erheblich - bitte lesen Sie dieses Tutorial, um mehr zu erfahren: https://www.howtoforge.com/xen_tools_xen_shell_argo. Wie bereits erwähnt, wurde das xen-tools-Paket zusammen mit dem ubuntu-xen-server-Paket installiert.
Jetzt bearbeiten wir /etc/xen-tools/xen-tools.conf. Diese Datei enthält die Standardwerte, die vom xen-create-image-Skript verwendet werden, es sei denn, Sie geben andere Werte in der Befehlszeile an. Ich habe die folgenden Werte geändert und den Rest unverändert gelassen:
vi /etc/xen-tools/xen-tools.conf| [...] dir = /home/xen [...] dist = hardy # Standarddistribution zur Installation. [...] gateway = 192.168.0.1 netmask = 255.255.255.0 broadcast = 192.168.0.255 [...] passwd = 1 [...] mirror = http://archive.ubuntu.com/ubuntu/ [...] |
Die Zeile dist enthält die Standarddistribution, die Sie in einer virtuellen Maschine installieren möchten. Der Inhalt des Verzeichnisses /usr/lib/xen-tools zeigt, welche Distributionen verfügbar sind (siehe oben).
Die Kernel-Zeile muss unseren Xen-Kernel enthalten, und die initrd-Zeile seine Ramdisk. Die Standardwerte in der Datei /etc/xen-tools/xen-tools.conf sind kernel = /boot/vmlinuz-uname -r und initrd = /boot/initrd.img-uname -r, die automatisch in den richtigen Kernel und die richtige Ramdisk übersetzt werden, sodass wir diese Zeilen nicht ändern müssen.
Die Zeile passwd = 1 ermöglicht es Ihnen, ein Root-Passwort festzulegen, wenn Sie eine neue Gastdomäne erstellen. In der Zeile mirror geben Sie ein Ubuntu-Mirror an, der sich in Ihrer Nähe befindet.
Stellen Sie sicher, dass Sie ein Gateway und eine Netzmaske angeben. Wenn Sie dies nicht tun und beim Verwenden von xen-create-image kein Gateway und keine Netzmaske in der Befehlszeile angeben, haben Ihre Gastdomänen kein Netzwerk, selbst wenn Sie eine IP-Adresse angegeben haben!
Jetzt starten Sie das System neu:
rebootWenn Ihr System ohne Probleme neu startet, ist alles in Ordnung!
Führen Sie
uname -raus, und Ihr neuer Xen-Kernel sollte angezeigt werden:
root@server1:~# uname -r
2.6.24-16-xen
root@server1:~#Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.