Das Perfekte Xen 3.1.0 Setup für Debian Etch (i386) - Seite 2

4 Installation des Binärpaketes

Führe folgende Befehle aus:

apt-get remove exim4 exim4-base lpr nfs-common portmap pidentd pcmcia-cs pppoe pppoeconf ppp pppconfig

apt-get install screen ssh debootstrap python python-twisted iproute bridge-utils libcurl3-dev libssl0.9.7


4.1 Installation von Xen

Lade xen-3.1.0-install-x86_32.tgz von dem Link http://www.xensource.com/download/dl_31tarballs.html, entpacke es und lass das Installationsskript laufen:

cd /usr/src
wget http://bits.xensource.com/oss-xen/release/3.1.0/bin.tgz/xen-3.1.0-install-x86_32.tgz
tar xvzf xen-3.1.0-install-x86_32.tgz
cd dist/
./install.sh
mv /lib/tls /lib/tls.disabled

Nun ist Xen installiert. Um die Xen Dienste starten zu lassen, wenn das System hochfährt, führe Folgendes aus:

update-rc.d xend defaults 20 21
update-rc.d xendomains defaults 21 20

Wir brauchen eine Ramdisk für unseren neuen Kernel, daher führen wir Folgendes aus:

depmod 2.6.18-xen
apt-get install yaird

Um die Ramdisk zu erstellen, lassen wir Folgendes laufen

mkinitrd.yaird -o /boot/initrd.img-2.6.18-xen 2.6.18-xen

Der letzte Befehl erstellt die Ramdisk /boot/initrd.img-2.6.18-xen.

Als Nächstes fügen wir unseren neuen Kernel zu Grub, unserem Bootloader hinzu. Dies können wir mit einem einzigen Befehl ausführen:

update-grub

Fahre nun das System erneut hoch:

shutdown -r now

In der Kommandozeile sollte Grub nun Xen 3.1.0 / Debian GNU/Linux, kernel 2.6.18-xen als ersten Kernel auflisten und ihn automatisch hochfahren:


Wenn Dein System keinerlei Fehlermeldungen anzeigt, ist alles Bestens!

Lass Folgendes laufen

uname -a

und Dein neuer Xen Kernel sollte auftauchen:

server1:~# uname -a
Linux server1.example.com 2.6.18-xen #1 SMP Fri May 18 16:11:33 BST 2007 i686 GNU/Linux

4.2 Virtuelle Maschinen erstellen (domU)

Wir werden xen-tools verwenden um virtuelle Maschinen zu erstellen. xen-tools vereinfachen die Erstellung von virtuellen Maschinen - bitte sieh Dir folgende Anleitung an um mehr zu erfahren: http://www.howtoforge.com/xen_tools_xen_shell_argo. xen-tools sind als Debian Etch Paket verfübgar, also installieren wir es jetzt:

apt-get install xen-tools

Als Nächstes bearbeiten wir /etc/xen-tools/xen-tools.conf. Diese Datei beinhaltet die Standardwerte, die vom xen-create-image Skript verwendet werden, wenn Du nicht andere Werte in der Kommandozeile festlegst. Ich habe folgende Werte unf habe den Rest unberühert gelassen:

vi /etc/xen-tools/xen-tools.conf


[...]
gateway = 192.168.0.1 netmask = 255.255.255.0 passwd = 1 kernel = /boot/vmlinuz-2.6.18-xen #initrd = /boot/initrd.img-2.6.16-2-xen-686 mirror = http://ftp2.de.debian.org/debian/ [...]
Bitte pass auf, dass Du die initrd Zeile auskommentierst! Zumindest bei meinen Installationen habe ich nie eine Ramdisk für virtuelle Maschinen gebraucht.

Die passwd = 1 Zeile bewirkt, dass Du ein Root Passwort einrichten kannst, wenn Du eine neue Gast Domain anlegst. In der kernel Zeile musst Du den domU Kernel festlegen, den Du für Deine Gast Domain verwenden möchtest. In der mirror Zeile bestimmst Du einen Debian Spiegel, der in Deiner Nähe ist.

Vergewissere Dich, dass Du ein Gateway und eine Netzmaske festlegst. Wenn Du das Gateway und die Netzmaske nicht in der Kommandozeile festlegst, wenn Du xen-create-image verwendest, werden Deine Gast Domains kein Netzwerkbetrieb haben, auch wenn Du eine IP Adresse eingerichtet hast!

Lass uns nun unsere erste Gast Domain xen1.example.com mit der IP Adresse 192.168.0.101 anlegen:

xen-create-image --hostname=xen1.example.com --size=2Gb --swap=256Mb --ide
--ip=192.168.0.101 --netmask=255.255.255.0 --gateway=192.168.0.1 --force
--dir=/vserver --memory=32Mb --arch=i386 --kernel=/boot/vmlinuz-2.6.18-xen
--debootstrap --dist=etch --mirror=http://ftp2.de.debian.org/debian/ --passwd

Viele Parameter werden nicht benötigt, da wir die gleichen Angaben bereits in /etc/xen-tools/xen-tools.conf festgelegt haben, aber es zeigt, dass Du die gewünschten Einstellungen entweder in der Kommandozeile oder in /etc/xen-tools/xen-tools.conf festlegen kannst. Bitte vergewissere Dich, dass Du sie festlegst/festgelegt hast, da Deine virtuell Maschine sonst möglicherweise nicht hochfährt!

(Um mehr über verfügbare Optionen zu erfahren, sieh Dir die xen-create-image Man Page an (Manual Page):

man xen-create-image

)

Der xen-create-image Befehl wird nun für uns die xen1.example.com virtuelle Maschine erstellen. Das kann ein paar Minuten dauern. Die Ausgabe sollte ähnlich wie diese aussehen:

server1:~# xen-create-image --hostname=xen1.example.com --size=2Gb --swap=256Mb --ide
> --ip=192.168.0.101 --netmask=255.255.255.0 --gateway=192.168.0.1 --force
> --dir=/vserver --memory=32Mb --arch=i386 --kernel=/boot/vmlinuz-2.6.18-xen
> --debootstrap --dist=etch --mirror=http://ftp2.de.debian.org/debian/ --passwd

General Infomation
--------------------
Hostname : xen1.example.com
Distribution : etch
Fileystem Type : ext3

Size Information
----------------
Image size : 2Gb
Swap size : 256Mb
Image type : sparse
Memory size : 32Mb
Kernel path : /boot/vmlinuz-2.6.18-xen

Networking Information
----------------------
IP Address 1 : 192.168.0.101
Netmask : 255.255.255.0
Gateway : 192.168.0.1

WARNING
-------
Loopback module not loaded and you're using loopback images
Run the following to load the module:

modprobe loop loop_max=255


Creating swap image: /vserver/domains/xen1.example.com/swap.img
Done

Creating disk image: /vserver/domains/xen1.example.com/disk.img
Done

Creating ext3 filesystem on /vserver/domains/xen1.example.com/disk.img
Done

Installing your system with debootstrap mirror http://ftp2.de.debian.org/debian/
Done

Running hooks
Done

No role script specified. Skipping


Creating Xen configuration file
Done
Setting up root password
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
All done

Logfile produced at:
/var/log/xen-tools/xen1.example.com.log
server1:~#

(Die Warnung kannst Du ignorieren:

WARNING
-------
Loopback module not loaded and you're using loopback images
Run the following to load the module:

modprobe loop loop_max=255

die virtuelle Maschine wird trotzdem funktionieren.)

Es sollte nun eine xen1.example.com Konfigurationsdatei geben - /etc/xen/xen1.example.com.cfg. Sieh sie Dir mal an um mit diesen Konfigurationsdateien etwas vertraut zu werden:

cat /etc/xen/xen1.example.com.cfg


#
# Configuration file for the Xen instance xen1.example.com, created on # Mon May 28 20:53:05 2007. # # # Kernel + memory size # kernel = '/boot/vmlinuz-2.6.18-xen' memory = '32' # # Disk device(s). # root = '/dev/hda1 ro' disk = [ 'file:/vserver/domains/xen1.example.com/disk.img,hda1,w', 'file:/vserver/domains/xen1.example.com/swap.img,hda2,w' ] # # Hostname # name = 'xen1.example.com' # # Networking # vif = [ 'ip=192.168.0.101' ] # # Behaviour # on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart'
Um die virtuelle Maschine zu starten, lass Folgendes laufen

xm create /etc/xen/xen1.example.com.cfg

Führe Folgendes aus

xm console xen1.example.com

um Dich auf dieser virtuellen Maschine anzumelden (drücke CTRL+] wenn Du über die Konsole eingeloggt bist oder CTRL+5 wenn Du PuTTY benutzt um zu dom0 zurück zu kehren), oder nutze einen SSH Klienten um Dich damit zu verbinden (192.168.0.101).

Um eine Liste von laufenden virtuellen Maschinen zu erhalten, tippe

xm list

Die Ausgabe sollte so aussehen:

server1:~# xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 301 1 r----- 1191.0
xen1.example.com 1 32 1 -b---- 50.6
server1:~#

Um xen1.example.com runter zu fahren, führe Folgendes aus:

xm shutdown xen1.example.com

Wenn Du möchtest, dass vm01 beim nächsten Start automatisch startet, dann führe Folgendes aus:

ln -s /etc/xen/xen1.example.com.cfg /etc/xen/auto

Hier sind die wichtigsten Xen Befehle:

xm create -c /path/to/config - Eine virtuelle Maschine starten.
xm shutdown <name> - Eine virtuelle Maschine beenden.
xm destroy <name> - Eine virtuelle Maschine sofort beenden ohne sie runter zu fahren. Wie als wenn Du den Power Knopf betätigst.
xm list - Alle laufenden Systeme auflisten.
xm console <name> - Auf einer virtuellen Maschine einloggen.
xm help - Alle Befehle auflisten.

Lass uns nun eine zweite virtuelle Maschine (VM) xen2.example.com mit der IP Adresse 192.168.0.102 erstellen:

xen-create-image --hostname=xen2.example.com --size=2Gb --swap=256Mb --ide
--ip=192.168.0.102 --netmask=255.255.255.0 --gateway=192.168.0.1 --force
--dir=/vserver --memory=32Mb --arch=i386 --kernel=/boot/vmlinuz-2.6.18-xen
--debootstrap --dist=etch --mirror=http://ftp2.de.debian.org/debian/ --passwd

Danach kannst Du xen2.example.com wie folgt starten:

xm create /etc/xen/xen2.example.com.cfg

und so runter fahren:

xm shutdown xen2.example.com

Eine Liste von virtuellen Maschinen, die mit dem xen-create-image Befehl erstellt wurden, ist verfügbar unter

xen-list-images


server1:~# xen-list-images
Name: xen1.example.com
Memory: 32
IP: 192.168.0.101

Name: xen2.example.com
Memory: 32
IP: 192.168.0.102
server1:~#

Um mehr darüber zu erfahren, was Du mit xen-tools machen kannst, sieh Dir folgende Anleitung an: http://www.howtoforge.com/xen_tools_xen_shell_argo

1 Kommentar(e)

Zum Posten von Kommentaren bitte

Kommentare

Von: sniffer3000

Hallo

Bei mir funktioniert bis auf eine (sehr wichtige:-) Kleinigkeit wirklich alles.
Sobald Xen installiert ist und der Rechner rebootet hat (noch vor "apt-get install xen-tools"), ist die Netzwerkverbindung absolut tot.

Wenn ich im GRUB das Debian ohne Xen auswähle, funktioniert alles einwandfrei. Aber sobald ich Debian als DomU (ich hoffe das ist der richtige Begriff) ausführe, kann ich nicht einmal mehr ne IP anoingen.

z.B. bei "ping 192.168.1.1" gibt er folgende Meldung aus:
"connect: Network is unreachable"

An was kann das liegen? Ich wäre wirklich sehr happy, wenn jemand einen Tip für mich hätte.
(Ich beschäftige mich noch nicht lang mit Linux)

Danke im Voraus