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.