Xen über Backports auf Debian Sarge
Einleitung:
Xen ist eine Server-Virtualisierungs-Umgebung. Oder auf Neu(Server)Deutsch: ein vServer-Host-System.
Für Debian-Server gibt es Xen allerdings erst ab unstable/sid. Also nutzen wir backports von Xen und einigen zugehörigen Paketen.
Installation:
Backports in die /etc/apt/sources.list
aufnehmen:
deb http://www.backports.org/debian/ sarge-backports main
Pinning für die benötigten Pakete in /etc/apt/preferences
setzten:
Package: * Pin: release a=sarge-backports Pin-Priority: 200 Package: xen-3.0 Pin: release a=sarge-backports Pin-Priority: 999 Package: linux-2.6 Pin: release a=sarge-backports Pin-Priority: 999 Package: xen-tools Pin: release a=sarge-backports Pin-Priority: 999 Package: udev Pin: release a=sarge-backports Pin-Priority: 999 Package: lsb Pin: release a=sarge-backports Pin-Priority: 999 Package: module-init-tools Pin: release a=sarge-backports Pin-Priority: 999 Package: grub Pin: release a=sarge-backports Pin-Priority: 999
Update der Sourcen und der gepinnten Pakete:
apt-get update && apt-get dist-upgrade
Achtung: bei auftretenden Fehler bitte auf backports.org nachsehen!
Installation der Pakete:
(Beim Xen-Kernel bitte auf die vorhandene CPU achten: 686
für P4 / Xeon oder K7
für Athlon / Opteron.)
# benötigte Basis:
apt-get install grub/sarge-backports
apt-get install makedev/sarge-backports
apt-get install lsb-base/sarge-backports
apt-get install mdadm/sarge-backports
# Xen selbst:
apt-get install xen-hypervisor-3.0-i386 xen-utils-3.0
# Xen-Kernel:
apt-get install linux-image-2.6.16-2-xen-686
Nun geht's rund:
Wir gehen von hotplug auf udev und müssen eine neue initrd erstellen.
dpkg --purge hotplug apt-get install bridge-utils xen-tools/sarge-backports sysfsutils mv /lib/tls/ /lib/tls.disabled cd /boot mkinitramfs -o /boot/initrd.img-2.6.16-2-xen-686 2.6.16-2-xen-686
Nun muß dem Boot-Loader der Xen-Kernel beigebracht werden.
Dazu bearbeiten wir die /boot/grub/menu.lst
:
title Xen 3.0 / XenLinux 2.6-686 kernel /boot/xen-3.0-i386.gz module /boot/vmlinuz-2.6.16-2-xen-686 root=/dev/md0 ro module /boot/initrd.img-2.6.16-2-xen-686
Zum Abschluß muß noch die Xen-Config in /etc/xen/xend-config.sxp
kontroliert werden, ob (network-script network-bridge)
(ca. Zeile 73) und (vif-script vif-bridge)
(ca. Zeile 104) eingeschaltet ist.
Ggf. die Zeilen auskommentieren und alle anderen Einstellungen dazu als Kommentar setzen.
Nun noch den Xen-VM beim booten mitstarten lassen:
invoke-rc.d xend restart
...und zum guten Schluß den ganzen Rechner neu booten.
(Daumen drücken nicht vergessen.)
Nach dem Booten einmal die neuen Network-Devices checken: Peth0
und vif0.0
sollten nun vorhanden sein.
brctl show
Erstellen von virtuellen Rechnern (Xens)
Wenn bis hierhin alles geklappt hat, ist das System bereit virtuelle Maschinen einzurichten.
Wir beginnen mit dem erstellen eines passenden Verzeichnisses:
mkdir /home/xen
Dann braucht es ein paar Grundeinstellung in der /etc/xen-tools/xen-tools.conf
. (Hier eine gekürze Fassung)
Es geht vorallem um die richtigen Einstellungen für initrd
& kernel
, gateway
& netmask
und natürlich, wieviel Resourcen jedes xens haben darf: memory
& size
& swap
.
# # /etc/xen-tools/xen-tools.conf # dir = /home/xen size = 2Gb memory = 128Mb swap = 128Mb fs = ext3 dist = sarge gateway = 192.168.1.1 netmask = 255.255.255.0 passwd = 1 initrd = /boot/initrd.img-2.6.16-1-xen-686 kernel = /boot/vmlinuz-2.6.16-1-xen-686 mirror = http://ftp.uk.debian.org/debian/
Und nun kann man schon die erste virtuelle Maschine erstellen und starten:
xen-create-image --hostname=test --ip=192.168.1.222 --passwd
cp -par /lib/modules/2.6.16-2-xen-686/ /mnt/xen1/lib/modules/
xm create test.cfg -c
PS: Hier sind wir jetzt auf der Console des neuen xens. Mit Strg+]
kommt man wieder zurück zum Host.
Zum Testen loggen wir uns am besten einmal per SSH ein.
Hinweis:
Evtl. (und je nach Version der xen-tools
) kann es sein, daß test.cfg noch einen Ramdisk-Eintrag braucht.
Typisches Symtom sind boot-Probleme des xens.
Einfach in /etc/xen/test.cfg
folgend Eintrag einfügen:
ramdisk = '/boot/initrd.img-2.6.16-1-xen-686'
Links:
- Wikipedia über Xen
- Info's über Backports
- Artikel: Debian Sid gets Xen 3.0
- Artikel: Xen from Backports on Debian Sarge