XEN

Aus crazylinux.de
Zur Navigation springen Zur Suche springen

Virtualisierungs-Lösung XEN

Das Besondere an Xen

Xen unterscheidet sich von anderen Virtualisierungs-Lösungen vor allem dadurch, dass es nicht die gesamte Hardware eines PCs penibel emuliert. Stattdessen bietet es dem Gast-Betriebssystemen definierte Schnittstellen für die Nutzung der Hardware an, z.B. für Festplatte, Prozessor und Netzwerkkarte. Die Gast-Systeme müssen deshalb für Xen angepasst werden (Paravirtualisierung), damit diese die von Xen zur Verfügung gestellten Schnittstellen nutzen können.

Der Vorteil dieser Methode: Die Gast-Betriebssysteme laufen schneller auf Xen als z.B. auf VMware, siehe auch [WWW] Xen Performance, denn die Hardware muss nicht vollständig emuliert werden. Statt dessen wird relativ direkt über die definierten Xen-Schnittstellen kommuniziert. Dabei bleibt alles unter der Kontrolle des Xen-Wirtsystems.

Der Nachteil: Ein Gast-Betriebssystem muss verändert werden, damit es auf Xen läuft. Damit scheiden zurzeit Betriebssysteme wie Windows aus, die ja nicht als Quelltext vorliegen und daher nicht angepasst werden können. Abhilfe werden zukünftig die CPU-Erweiterungen von Intel (VT) und AMD (Pacifica) schaffen, mit deren Hilfe Betriebssysteme als Gast ohne spezielle Anpassungen auf Xen laufen können.

Installation unter Sarge

Fertige Packete sind inzwischen in Backports. Ansonsten gibts eine Anleitung bei debian-administration.org

Gastsystem einrichten

eine Bsp.-Conf /etc/xen/web.sxp

kernel = "/boot/vmlinuz-2.6.16-1-xen-k7"
# Optional ramdisk. '''Ganz wichtig, sonst kernel panic'''
ramdisk = "/boot/initrd.img-2.6.16-1-xen-k7"

## RAM-Speicher Zuweisung (in Megabyte) fuer die neue Domain
memory = 128

## Name des virtuellen Servers
name = "horstxen"

### Liste von zugewiesenen Partitionen oder Imagedateien
## Eintrag fuer oben genannte debootstrap-Beispiel mit Image.
disk = [ 'file:/home/xen/images/web.img,sda1,w', 'file:/home/xen/images/web_swap.img,sda2,w' ]
## Beispiel fuer reale Partitionen
#disk = [ 'phy:hda7,sda1,w', 'phy,sda2,w' ]

root = "/dev/sda1 ro"

# network
vif = ['mac=aa:00:00:00:00:02, bridge=xenintbr']
dhcp ="off"
ip="10.0.99.10"
netmask="255.255.255.0"
gateway="10.0.0.1"
hostname="horstxen"

Debian/Ubuntu

bei Nutzung des Vanilla Kerneles sind manuelle Anpassungen nötig:

  • in inittab im gast: hvc0:23:respawn:/sbin/getty 38400 hvc0
  • in vm cfg Datei: extra = "console=hvc0"


udev im Gast installieren

  • sonst geht ssh nicht: "stdin: is not a tty")


libc (oder packet libc6-xen installieren)

mv /lib/tls /lib/tls.disabled


add loop module

vi /etc/modules
[...]

loop max_loop=64 [...]

Netzwerk-Route am DSL-Router

netz-route hinzufügen: 10.0.99.0 netmask 255.255.255.0 10.0.0.1

10.0.99.0 ist das Netz der VMs

10.0.0.1 ist Dom0


bei Fritzbox: Einstellungen ->Statische Routen

Management

http://www.enomalism.com/


Links

http://www.virtuatopia.com/

https://help.ubuntu.com/community/Xen

http://www.howtoforge.com/ubuntu-8.04-server-install-xen-from-ubuntu-repositories

http://www.pug.org/index.php/Xen-Installation
http://www.option-c.com/xwiki/Create_a_Debian_VM_with_debootstrap
http://de.xen-forum.net/wiki/index.php/Xen_Installation_auf_einem_Debian_Sarge_System_(DE)
http://linuxwiki.de/Xen
http://tx.downloads.xensource.com/downloads/docs/user/
http://www.xmlvalidation.com/xen_howto_sarge.0.html