Forum
Tipps
News
Menu-Icon
Thema geschlossen (topic locked)

Virtualisierung mit XEN und SuSE 10.1



Virtualisierung ist in aller Munde. Es gibt viele Lösungen um aus einem Rechner mehrere zu machen, um beispielsweise eine Testumgebung oder verschiedene Server in eigenen Umgebungen auf einer einzigen physikalischen Maschine laufen zu Lassen. Allseits bekannt sein sollte Vmware, aber auch Openvz, wie es viele Webhoster für Ihre Vserverangebote einsetzen, Linux Virtual Server und XEN , das derzeitige Non Plus Ultra in Sachen virtualisierung. Xen ist in etwa vergleichbar mit Vmware's ESX Server, kann aber noch einiges mehr. Auf brandaktueller Hardware mit AMDs x2 Prozessor oder Intels Core 2 Duo ist es möglich, dank Pazifica(AMD) und Vanderpool(Intel) Technologie, so ziemlich alle Betriebssysteme ohne Emualtion auf einem Rechner gleichzeitig laufen zu lassen. So kann neben verschiedenen Linuxen auch Windows ab 2000 SP4 parallel installiert sein und laufen. Da nicht alle aktuelleste Hardware haben, beginnt dieser Artikel mit der normalen Virtualisierung mehrerer Linuxversionen auf einer Maschine, in unserem Fall 2 mal SuSE 10.1.

Die SuSE bringt in der Version 10.1 alles mit, was zum Aufsetzen einer Vserverumgebung notwendig ist.
Es gibt zwar einige Anleitungen zu XEN und SuSE im Netz, jedoch sind sie alle nicht falsch, aber auch nicht vollständig. Diese Anleitung soll Abhilfe schaffen.

An Hardware sollte man haben:

Mindesten 10 GB freien Festplattenplatz für das Festplattenimage der virtuellen Maschine

*Mindestens 512 MB Speicher im System

*SuSE 10.1 installiert und voll lauffähig

*Netzwerkverbindung via Netzwerkkabel und Kabel ( optimal ) oder Wlan ( geht notfalls auch )

*Die Installationsquellen aus dem hier verfügbaren Artikel müssen eingebunden sein  und funktionieren. Auf Xorg 7.x sollte man verzichten oder zumindest die Installationsquelle deaktivieren, während perr yast das Systemimage erzeugt wird.

Sind alle Voraussetzungen erfüllt kann es losgehen.

1. Yast starten ->Software installieren oder Löschen wählen und xen nachinstallieren.

Suchbegriff xen und auch kernel eingeben und mindestens folgende Pakete installieren:

Bei einem AMD Athlon/AthlonXP / Intel Pentium4 ohne 64 Bit Erweiterung:

cloop-kmp-xen
kernel-xen
kernel-souce
novfs-kmp-xen
xen
xen-libs
xen-tools
xen-tools-ioemu
xengine
bridge-utils
ebtables

Optional noch, falls benötigt
zaptel-kmp-xen
wlan-kmp-xen
rt-2500-kmp-xen
pwc-kmp-xen
omnibook-kpm-xen
ndiswrapper-kmp-xen
ivtv-kmp-xen
hbedv-dazuko-kmp-xen
drbd-kmp-xen
usb-vision-kmp-xen
 
Bei einem Athlon64x2 oder Intel Core 2 Duo:

cloop-kmp-xenpae
kernel-xenpae
kernel-source
novfs-kmp-xenpae
xen
xen-libs
xen-tools
xen-tools-ioemu
xengine
bridge-utils
ebtables

Optional noch, falls benötigt
zaptel-kmp-xenpae
wlan-kmp-xenpae
rt2500-kmp-xenpae
pwc-kmp-xenpae
omnibook-kpm-xenpae
ndiswrapper-kmp-xenpae
ivtv-kmp-xenpae
hbedv-dazuko-kmp-xenpae
drbd-kmp-xenpae
usb-vision-kmp-xenpae

Ist alles installiert, kann es nun richtig losgehen. Zuerst benötigen wir eine virtuelle Festplatte von 10 Gigabyte für unser Zweitsystem. Das ist eine Datei im Verzeichnisbaum unseres Linuxrechners. Es muss natürlich genügend Platz vorhanden sein.

Öffnen wir eine Konsole und erlangen Rootrechte mit:

su- ENTER
Rootpasswort eingeben ENTER

Wechseln wir in den Hauptpfad der Platte

cd /  ENTER

Verzeichnisse anlegen:

mkdir xenimage  ENTER
mkdir dirinstall ENTER

Nun sind die Voraussetzungen geschaffen.

Festplattenimage erzeugen:

cd /xenimage   ENTER

dd of=xen1.img bs=1024 seek=10000000 count=0 ENTER

erzeugt ein leeres Festplattenimage von 10 GB Grösse. Das geht recht fix und kann per ls -l ENTER geprüft werden. Nun müssen wir unsere neue, virtuelle Festplatte noch formatieren. Xen akzeptiert bei SuSE nur reiserfs .

mkfs -t reiserfs xen1.img  ENTER

reiser meckert mit einer englischen Meldung, das es sich nicht um ein Blockdevice handelt. Hat er recht, denn es ist ja eine Datei die wir formatieren wollen und keine echte Festplatte. Diesen Warnhinweis unbedingt mit y bestätigen. Der Formatvorgang dauert ein wenig, geht nicht so schnell wie das Anlegen der Imaqedatei.
Ist unsere vituelle Platte formatiert ( das xen1.img ) muss es mit Inhalt gefüllt werden. Wir müssen die Suse darin installieren. Kingt schlimmer als es ist.
Zuerst unser Image ins Dateisystem einhängen ( mounten ), damit wir drauf zugreifen können

mount -t reiserfs /xenimage/xen1.img /dirinstall ENTER

SuSE installieren:

yast starten - Installation in ein Verzeichnis wählen

Voreinstellung ändern und als Installationspfad /dirinstall angeben

Paketauswahl anpassen- hier kontrollieren ob als kernel xen gewählt ist und zwar der, der zum System passt ( siehe Liste oben ). unbedingt ankreuzen, das beim ersten Start yast gestartet werden soll!! kein Kreuz bei Image erzeugen setzen.

Installation starten, Kaffee kochen, fernsehen oder anderweitig sinnvoll beschäftigen.
Die Installation dauert...........
Gelegentlich die Installation prüfen. Irgendwann wird yast meckern, dass die Kernelpakete nicht installiert werden können. Das ist auch gut so, denn angekreuzt werden müssen sie nur, um das System zu präparieren,  werden später zur Funktion nicht gebaucht. Hier ignorieren wählen, damit die Restinstallation weitergeht.
Ist die Susie fertig, yast beenden. Anschliessend einen Blick in das Verzeichnis /dirinstall werfen. Hier muss nun die bekannte Festplattenstruktur nochmals auftauchen, wie beim Original.

Letzte Vorbereitung - Grub präparieren:

Die Susie war recht nett und hat uns schon fast alle Einträge bei der Installation der Xenpakete selbst angelegt ( welch Komfort gegenüber anderen Linuxdistributionen). Eins sollte aber noch ergänzt werden und zwar die Speicheraufteilung des Arbeitsspeichers für unser echtes( dom0 ) und virtuelles System ( dom_U )

Gehen wir von 512 MB Gesamtspeicher aus. 256 MB braucht die Suse zu Verwaltung der dom0 selbst. So können wir max 256 MB der/den virtuellen Maschinen zuweisen, abzüglich eines Overheads von 64 MB, ergibt 192 MB effektiv ( dazu später mehr ).

tippe ein:

mcedit /boot/grub/menu.lst

Suche nach diesen Zeilen:

Title --XEN SuSE Linux 10.1

root (hda 0,0)
kernel /xen.gz dom0_mem=256M

Füge das Fettgedruckte hinzu. Beachte, das dom0 die Ziffer null ist und nicht der Buchstabe O. Mit F2 die Änderung speichern und mit F10 den Editor schliessen.

ENDE TEIL 1
« Letzte Änderung: 15.10.06, 23:20:11 von Dr. SuSE »

Antworten zu Virtualisierung mit XEN und SuSE 10.1:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Weiter mit TEIL 2

Nun wird es ernst - XEN aktivieren

Rechner rebooten und im Bootmanager nun XEN auswählen.

Rechner startet wie gewohnt, jedoch ohne bunten Splashscreen.

Normal anmelden.
Starte yast-Netzwerkgeräte-Netzwerkkarte-ändern und aktiviere das Weiterleiten, sonst hat unsere virtuelle Maschine kein Netzwerk.

Öffne nun wieder eine Konsole mit Rootrechten wie oben.

Prüfe ob unser Netzwerk steht und tippe ein:

brctl show  ENTER

sollte nun sowas ausgeben:

bridge name     bridge id               STP enabled     interfaces
xenbr0          8000.feffffffffff       no              vif0.0
                                                        peth0

Wenn Du das siehst, steht unser Netzwerk.

Nun benötigen wir noch eine Startdatei für unsere virtuelle Maschine.

tippe:

cd /etc/xen/vm  ENTER

touch xen1  ENTER

chmod 0777 xen1 ENTER

mcedit /etc/xen/vm/xen1   ENTER

Hier muss folgender Inhalt rein:

#  -*- mode: python; -*-

# configuration name:
name     = 'xen1'

# usable ram:
memory   = '192'
vcpus = '1'
# kernel und initrd:
kernel   = '/boot/vmlinuz-xen'
ramdisk  = '/boot/initrd-xen'

# boot device:
root     = '/dev/hda1'

# boot to run level:
extra    = '3'

# network interface:
vif      = [ 'mac=aa:cc:00:00:00:01, bridge=xenbr0' ]
dhcp     = 'off'
ip = '192.168.211.40'
netmask = '255.255.255.0'
gateway = ''
localtime = '1'
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'
hostname = 'xen1'
# storage devices:
disk     = [ 'file:xenimage/xen1.img,hda1,w' ]

Datei wieder mit F2 speichern Editor mit F10 verlassen.

Image zum ersten Start vorbereiten:

Damit wir nicht alles tippen müssen erzeugen wir uns ein Sript was alle Dinge automatisch macht.

Geht so:

cd /xenimage   ENTER

touch imageprep.sh ENTET
chmod 0777 imageprep.sh ENTER

mcedit /xenimageImaheprep ENTER

Füge folgenden Inhalt ein:

#!/bin/bash
mount -o loop /xenimage/xen1.img /dirinstall
cd /
cd /dirinstall
cp /boot/*xen* ./boot
cp -ax /lib/modules/2.6.16.21-0.25-xen /dirinstall/lib/modules/
echo "/dev/hda1 / reiserfs defaults 1 1" > ./etc/fstab
rm -f ./etc/mtab
sed -ie "s/^[2-6]:/#\\0/" ./etc/inittab
cp /etc/passwd /etc/shadow ./etc
cp /etc/ssh/sshd_config ./etc/ssh/sshd_config
cd /
umount /dirinstall

Dieses kleine Script kopiert die fehlenden Kernelteile für XEN von unserer OrignalSuse in die virtuelle Umgebung, inkl. Passwortdateien und Anpassung von fstab und ssh, damit man sich per ssh auch mit den gewohnten Passwörtern einloggen kann. Es sollte keine Fehlermeldung ausgegeben werden. Der Vorgang dauert einige Minuten. Eine Bestätigung, dass es geklappt hat ist der sich wiedermeldene Prompt.

Nun kann es losgehen.

Erster start der virtuellen Maschine:

xm create -c /etc/xen/vm/xen1      ENTER

Die (virtuelle) Susie startet nun im Textmodus und aktiviert yast. Hier keine Panik walten lassen, die Chance das yast startet um die Umgebung zu konfigurieren hat man nur einmal! Hier die Netzwerkkarte konfigurieren und dabei die gleichen Werte verwenden wie sie im Startscript xen1 in /etc/xen/vm/xen1 stehen und zwar für die Subnetmask, Ip-Adresse und Hostname. Ist yast durchgelaufen hat man eine vollwertige neue Linuxumgebung die sich per Konsole konfigurieren lässt.
Aber auch die grafische Umgebung funktioniert und zwar per vnc, von jedem Rechner im Netzwerk aus, auf dem tightvnc installiert ist. Kann auch eine Windowsmaschine sein.

Viel Spass

PS.:
Die Anleitung ist eng an das englische SuSE Original angelehnt und weicht nur in wenigen Punkten ab ( Erzeugung des Festplattenimages, Datenpfade ). Wer es im Orginal lesen möchte, klickt hier.

XEN Homepage : http://www.cl.cam.ac.uk/research/srg/netos/xen
 
« Letzte Änderung: 15.10.06, 23:24:16 von Dr. SuSE »

« Musik ...WLAN USR 5410 installation »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Multiprozessor Rechner
Multiprozessorsysteme oder Multiprozessor-Rechner sind Computer, die mehr als einen Hauptprozessor (CPU) zur Ausführung von Aufgaben verwenden. Sie ermöglichen ...

Application Server
Ein Application Server, zu deutsch Anwedungsserver, ist ein Netzwerkrechner (Server) auf dem verschiedenste Anwendungsprogramme ausgeführt werden können. Der Be...

Printserver
Der Printserver ist ein Rechner im Netzwerk, der den Datenfluß zu einem oder mehreren Druckern steuert und eingehende Druckaufträge in einer Warteschlange verw...