Suche


drucken PDF
Die XEN Distribution


Beschreibung

Die XEN Distribution erlaubt es Ihnen, mehrere virtuelle Server auf einem einzigen physischen System zu erstellen und zu verwalten. Das Basissystem (genannt "Dom0") basiert auf Debian 4.0 64 bit, was es Ihnen möglich macht, Ihre "DomU" (virtuellen Server) sowohl mit 32 als auch mit 64 bit zu betreiben.


Erstellung virtueller Server

Sie haben 2 Möglichkeiten, das Dateisystem Ihrer DomU zu speichern:

Installation der DomU in einer loopback Datei


Hier ein Beispiel zum Ablauf bei der Installation in einer loopback Datei:

# dd if=/dev/zero of=/xen/node01.img bs=1M count=10240
# dd if=/dev/zero of=/xen/node01-swap.img bs=1M count=512
# mkfs.ext3 -F /xen/node01.img
# mkswap /xen/node01-swap.img
# mount -o loop /xen/node01.img /mnt
# cd /mnt
# tar xfj /xen/DomU-64Bit-Debian-Etch.tbz # für eine 64 bit DomU
# tar xfj /xen/DomU-32Bit-Debian-Etch.tbz # für eine 32 bit DomU

# chroot /mnt
# passwd # ein Passwort setzen

Die folgenden Dateien anpassen:
-> /etc/network/interfaces # (die Fail-Over IPs und die Route hinzufügen)
-> /etc/hostname
-> /etc/hosts

Dann eine Kondigurationsdatei in /etc/xen/ erstellen (nach dem Beispiel, das in /etc/xen/ gegeben wird), zum Beispiel "node01".

# exit # die chroot Umgebung verlassen
# umount /mnt
# xm create -c node01 # oder anderer gewählter Dateiname


Sie sind dann direkt mit Ihrer DomU verbunden.

Installation mit LVM


Die Verwaltung mit logischen Volumes (Logical Volume Management oder LVM in englisch) ist eine Methode und ein Programm zur Aufteilung, Verknüpfung und Verwendung des Speicherplatzes eines Servers. Damit ist es möglich, auf flexible Art und Weise die Speicherbereiche für Betriebssysteme vom Typ UNIX/Linux zu verwalten, abzusichern und zu optimieren.

Man spricht in diesem Zusammenhang von einem Logical Volume Manager (siehe dazu auch den Artikel in der Wikipedia: http://de.wikipedia.org/wiki/Logical_Volume_Manager

Es muss eine vg (Volume Group) erstellt werden, im folgenden Beispiel heisst diese xenvg
Achtung: In diesem Beispiel erstellen wir eine VG anstatt von /home/, das heisst wir löschen den alten Inhalt der Partition /home/

# pvcreate /dev/sda2
# vgcreate xenvg /dev/sda2

Sie können dann lv's (Logical Volumes) nach Belieben hinzufügen. Hier ein Beispiel, um ein einzelnes lv mit 5 GB namens "node01" in der vg "xenvg" zu erstellen:

# lvcreate -L 5G -n node01 xenvg
# mkfs.ext3 /dev/xenvg/node01


Um eine ganze Reihe von lv's zu erstellen:

# for i in `seq 1 9`; do lvcreate -L 5G -n node0$i xenvg; lvcreate -L256M -n node0$i-swap xenvg; done
# for i in /dev/xenvg/node0`seq 1 9`; do mkfs.ext3 $i; mkswap $i-swap; done

Installation der DomU:

# mount -t ext3 /dev/xenvg/node01 /mnt # auch zu überprüfen in /etc/fstab
# cd /mnt
# tar xfj /xen/DomU-64Bit-Debian-Etch.tbz # für eine 64 bit DomU
# tar xfj /xen/DomU-32Bit-Debian-Etch.tbz # für eine 32 bit DomU

# chroot /mnt
# passwd # ein Passwort setzen

Die folgenden Dateien anpassen:
-> /etc/network/interfaces # (die Fail-Over IPs und die Route hinzufügen)
-> /etc/hostname
-> /etc/hosts

Dann eine Kondigurationsdatei in /etc/xen/ erstellen (nach dem Beispiel, das in /etc/xen/ gegeben wird), zum Beispiel "node01".

# exit # die chroot Umgebung verlassen
# umount /mnt
# xm create -c node01 # oder anderer gewählter Dateiname

Sie sind dann direkt mit Ihrer DomU verbunden.


Erstellung eines virtuellen Netzwerks

Ohne die vorherige Aktivierung einer virtuellen MAC-Adresse im Manager V3 erlaubt es die Netzwerkinfrastruktur von OVH aus Sicherheitsgründen nicht, "bridging" zu verwenden, das heisst virtuelle Netzwerkinterfaces direkt dem realen Netzwerkinterface hinzuzufügen, was der Standardmodus von Xen ist.
Bei der Installation der Debian/Xen Distribution von OVH wird Xen darum ohne Bridge mit dem Routing-Modus konfiguriert. Dies bedeutet dass der Traffic der von den virtuellen Servern kommt nicht direkt zum nächsten Switch gesandt sondern vom Host geroutet wird.

Änderungen sind demnach an 3 Stellen notwendig:

  • Das externe Netzwerk: Routing der Fail-Over IPs oder eines IP-Netzes für die virtuellen Instanzen zu Ihrem Servers. Die Verwaltung erfolgt über den Manager.
  • Der Server: Der Linux Kernel muss wissen wo er die für die zusätzlichen Adressen empfangenen Pakete hinsenden muss. Dieser Teil wird von Xen verwaltet sobald die IP in der Konfiguration dieses virtuellen Servers konfiguriert ist.
  • Der virtuelle Server: Der Kernel des virtuellen Servers muss wissen wohin er den Traffic senden muss (Antwort: zu Ihrem "realen" Server, der als Übergang dient) und wie er dieses Ziel erreicht. In den mit der OVH Distribution gelieferten Beispielen muss nur noch die Datei /etc/network/interfaces angepasst werden:
auto eth0
iface eth0 inet static
    address         # DomU Adresse
    netmask 255.255.255.255
    post-up /sbin/ip route add HAUPT-IP.DES.SERVERS.254 dev eth0         #Gateway des Servers
    post-up /sbin/ip route add default via HAUPT-IP.DES.SERVERS.254

Für eigene Systeme Ihrer Wahl ist es darum notwendig, dieses Beispiel an die Dateien und die spezifische Syntax Ihres Systems anzupassen.


Kompilierung Ihres eigenen Kernels

Die Virtualisierung mit Xen wird derzeit in den Linux Kernel integriert. Heute (Linux 2.6.26) ist es bereits möglich, einen Kernel für 32 Bit DomU mit der Vanilla Version zu erstellen, ohne die Sources patchen zu müssen (Beispiele von Konfigurationsdateien sind in /boot/domU_32/ zu finden).

Für 64 Bit DomU Kernel ist dies noch nicht möglich, in diesem Fall müssen Sie sich dann auf die Sources von Xen (Linux 2.6.18) oder Fedora (Linux 2.6.21) stützen.

Um den Prozess der Integration von Xen in den Linux Kernel im Auge zu behalten empfehlen wir Ihnen die Xen Wikiseite zu diesem Thema: XenParavirtOps.