Linux-Distributionen » Debian

ID #1184 Debian: Xen auf Sarge installieren

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 <code>/etc/apt/sources.listcode> aufnehmen:

deb http://www.backports.org/debian/ sarge-backports main

Pinning für die benötigten Pakete in <code>/etc/apt/preferencescode> 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: <code>686code> für P4 / Xeon oder <code>K7code> 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 <code>/boot/grub/menu.lstcode>:

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 <code>/etc/xen/xend-config.sxpcode> kontroliert werden, ob <code>(network-script network-bridge)code> (ca. Zeile 73) und <code>(vif-script vif-bridge)code> (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: <code>Peth0code> und <code>vif0.0code> 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 <code>/etc/xen-tools/xen-tools.confcode>. (Hier eine gekürze Fassung)
Es geht vorallem um die richtigen Einstellungen für <code>initrdcode> & <code>kernelcode>, <code>gatewaycode> & <code>netmaskcode> und natürlich, wieviel Resourcen jedes xens haben darf: <code>memorycode> & <code>sizecode> & <code>swapcode>.

#
# /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 <code>Strg+]code> 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 <code>xen-toolscode>) kann es sein, daß test.cfg noch einen Ramdisk-Eintrag braucht. Typisches Symtom sind boot-Probleme des xens.
Einfach in <code>/etc/xen/test.cfgcode> folgend Eintrag einfügen:

ramdisk = '/boot/initrd.img-2.6.16-1-xen-686'

Links:

 

sozial Bookmarking
Bookmarken bei YIGG Bookmarken bei Mister-Wong Bookmarken bei Icio Bookmarken bei del.icio.us Bookmarken bei Technorati Bookmarken bei Furl Bookmarken bei Spurl Bookmarken bei Yahoo Bookmarken bei Google

vom 2006-08-03 12:30, zuletzt 2006-11-23 13:10     Artikel ausdrucken Artikel weiterempfehlen Als PDF-Datei anzeigen

Dieser Inhalt ist unter der Creative-Commons Lizenz lizensiert.

Probleme bitte im Server-Support-Forum diskutieren.

überflüssig 1 2 3 4 5 wertvoll  
Durchschnittliche Bewertung:   5 von 5 (3 Bewertungen)

Artikel kommentieren

Kommentar von CentronX (2006-11-18 12:23:14):
beim create der virtuellen Maschine fehlt noch ein --debootstrap :-)

Kommentar von Ralf (2006-11-23 10:49:33):
die Zeile:

dpkg -purge hotplug

muss:

dpkg --purge hotplug

lauten

Kommentar von Falko (2008-02-11 12:02:17):
Supi, hat genau so funktioniert.
Bei mir war noch:

Running Xen on Debian Etch on a machine with 4gb of ram, if you get

"PAE mode mismatch error (xen=yes dom0=no)"

you need to install:

apt-get install xen-hypervisor-3.0.3-1-i386-pae

(von http://justanotherdave.ca/2007/11/21/quick-xen-note-on-pae)