====== Erstellung von Gästen für Xen (DomU) ====== Die verschiedenen DomUs sind die virtuellen Maschinen ("Gäste") oberhalb der dom-0. Die Erstellung mit dem Xen-Tools sollte auf allen Systemen gleich sein. Eine manuelle Variante (ohne Xen-Tools) wird auch beschrieben. Es wird (bisher) nur die Erstellung von Images (und die Benutzung mit loop) beschrieben. Es geht auch mit [[linux:LVM]]. * {{:xen:xen_install_windows.pdf|Windows+Linux auf Xen}} ===== fertige Xen-Images ===== Auf diesen Seiten gibt es fertige [[xen:Xen]]-Images zum runterladen: * [[http://www.rpath.com/rbuilder/search?search=buildtype%3D100&type=Projects&byPopularity=1|rpath]] * [[http://jailtime.org/download:start|jailtime Image Downloads]] * [[http://www.vmfind.com|vmfind]] * [[http://wiki.computerwoche.de/doku.php/virtualisierung/virtual-appliances|Vorkonfigurierte virtuelle Maschinen @ wiki.computerwoche.de]] Die [[http://www.citrixxenserver.com/products/Pages/myproducts.aspx|XenServer Produkte]] unterstützen das Xen Virtual Appliance (XVA) Format, das man mit einer grafischen Schnittstelle oder auf der Kommandozeile mit "xe" importieren kann. ===== eine paravirtualisierte DomU erstellen (Xen-tools) ===== - In der Datei ''/etc/xen/xend-config.sxp'' die gewünschten Änderungen vornehmen, z.B. die Zeile ''(network-script network-dummy)'' durch ''(network-script network-bridge)'' ersetzen. - Mit den Xen-Tools ist eine VM schnell erstellt: xen-create-image --hostname debian --dhcp --dir /srv/xenDas Beispiel erstellt zwei Images (eins für das swap-file, eins für das root-Dateisystem) im Verzeichnis /srv/xen (es wird automatisch das Unterverzeichnis domains angelegt) mit dem Namen debian. Die Konfiguration sieht dann nach Anpassung so aus (die letzte Zeile z.B. hinzugefügt werden). Ohne [[netzwerke:DHCP]] und mit **fester IP** sieht der Anruf so aus: xen-create-image --hostname debian --ip 192.168.0.1 --dir /srv/xen :!: bei --dir sollte in der Pfadangabe hinten kein Slash (/) am Pfadnamen stehen. # # Kernel + memory size # kernel = '/boot/vmlinuz-2.6.22-14-xen' ramdisk = '/boot/initrd.img-2.6.22-14-xen' memory = '128' # # Disk device(s). # root = '/dev/sda1 ro' disk = [ 'file:/domains/debian/disk.img,sda1,w', 'file:/domains/debian/swap.img,sda2,w' ] # # Hostname # name = 'debian' # # Networking # dhcp = 'dhcp' vif = [ 'bridge=xenbr0' ] # # Behaviour # on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' extra='xencons=tty' ===== eine vollvirtualisierte DomU erstellen (Windows, Xen-Tools) ===== Bei [[xen:Xen-Installation auf einem Desktop#Vollvirtualisierung: Hardwareunterstützung überprüfen|entsprechender Hardwareunterstützung]] können auch nicht angepasste Betriebssysteme, d.h. solche ohne eigenen [[wpde>Hypervisor]] (wie [[windows:Windows]]), betrieben werden. Diese laufen allerdings nicht ganz so schnell, da die Treiber nicht angepasst sind. Novell ([[http://www.novell.com/de-de/products/vmdriverpack/|Virtual Machine Driver Pack]]) und XenSource (XenSource Windows Tools) bieten jeweils angepasste Treiber, die jedoch nicht kostenlos sind. Zuerst sollte man sich ein Image erstellen (siehe oben: manuelle Erstellung) außerdem muss man eine Konfiguration anlegen: # WinXP sample config kernel = '/usr/lib/xen-3.0.3-1/boot/hvmloader' builder = 'hvm' memory = '384' name = 'winxp1' device_model= '/usr/lib/xen-3.0.3-1/bin/qemu-dm' boot ='d' disk = [ 'file:/domains/winxp/winxp.img,ioemu:hda,w', 'file:/domains/WinXP.ISO,hdc:cdrom,r' ] # # Networking # #dhcp = 'dhcp' vif = [ 'type=ioemu, bridge=xenbr0' ] vnc=1 vncpasswd='winxp' vnclisten='0.0.0.0' # # Behaviour # on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' Zu Erklärung: * Im Gegensatz zu den oben genannten Debian-Beispiel wird hier die komplette Hardware durch [[software:Qemu]] emuliert. Daher werden vorhande Images von vorhandenen physikalischen Systemen leider nicht reichen, da [[windows:Windows]] andere Hardware vorfindet und relativ sicher nicht starten wird. * ''/domains/winxp/winxp.img'' ist das oben angelegte Image auf das vom * CD-Image ''/domains/WinXP.ISO'' installiert wird. * Die Anzeige der grafischen Oberfläche wird mit VNC realisiert, auf das unter allen IP-Adressen (vnclisten='0.0.0.0') mit dem Passwort winxp zugegriffen werden kann. Dann kann man sich mit vncviewer DOM-0-HOSTNAME:0 dorthin verbinden. :!: **Nach der Installation** boot ='d' auf boot ='c' setzen. ==== Abänderungen ==== * Um ein **CD-ROM Laufwerk als Installationsquelle** zu benutzen: disk = [ 'file:/srv/xen/domains/lexware/lexware-c.img,ioemu:hda,w', 'phy:/dev/cdrom,hdc:cdrom,r' ] * **Feste IP**:vif = [ 'ip=192.168.0.13, type=ioemu, bridge=xenbr0' ] ==== Links ==== * [[http://www.trullala.de/technisches/windows-auf-xen/|Windows auf XEN / Howto]] * [[http://www.math.dartmouth.edu/~sarunas/xen_304_hvm_etch.html|Xen 3.0.4 HVM and Debian Etch]] * [[http://www.trullala.de/technisches/windows-auf-xen/|Windows auf XEN / Howto]] * [[http://www.pug.org/index.php/Xen-Installation-Seite-3#Xen_3.0.4_Bin.C3.A4r_Installation_unter_Debian_Etch_-_HVM_Windows_XP| Xen 3.0.4 Binär Installation unter Debian Etch - HVM Windows XP]] ===== manuelle Erstellung ===== Wenn die Xen-Tools nicht zur Verfügung stehen (oder man eine grundsätzliches Verständnis bekommen will) ist die manuelle Erstellung eine Alternative. Dazu - erzeugt man ein Image (die spätere Systempartition erstellen) mit dem Befehldd if=/dev/zero of=IMAGENAME.IMG count=0 bs=1024k seek=5000 hier wird also die Datei IMAGENAME.IMG mit 5 GB Speicher angelegt. Dieser wird allerdings noch nicht voll belegt, da hier eine [[wpde>Sparse-Datei]] angelegt wurde. Da die Datei bisher leer ist, werden wir - ein Dateisystem im Image anlegen:mkfs.ext3 IMAGENAME.IMG. FIXME (weiter) xt-install-image Install a new distribution. xt-customize-image Run a collection of hook scripts to customise the freshly installed system. xt-create-xen-config Create a configuration file in /etc/xen so that xm can create the new image. ===== Images vergrößern (resize) ===== :!: Vorher sollte das Gastsystem runtergefahren werden. Die Änderung ist schnell erledigt: Im ersten Schritt wird das Image durch anhängen von Nullen um 1GB vergrößert und anschließend auch das (ext3) Dateisystem. dd if=/dev/zero bs=1024000 count=1024 >> disk.img resize2fs -f disk.img Wer mehr oder weniger als 1GB vergrößern muss natürlich die Zahlen entsprechend (so dass die Multiplikation der Zahlen von bs und count die gewünschte Kapazität ergibt) anpassen. Anschließend ggf. [[linux:lvm#pv-vergrößern|das LVM anpassen]]. ===== Ubuntu ===== Für [[ubuntu:Ubuntu]] gibt es in Etch keine passenden Scripte von debootstrap. Zwar wird dapper als unterstützt angegeben, aber es ist trotzdem nix da. Also laden wir uns ein aktuelles debootstrap [[http://archive.ubuntulinux.org/ubuntu/pool/main/d/debootstrap/|von Ubuntu]]: wget http://archive.ubuntulinux.org/ubuntu/pool/main/d/debootstrap/debootstrap_1.0.8_all.deb dpkg -i debootstrap_1.0.8_all.deb We're trying to configure an installation of gutsy in /srv/xen - but there is no hook directory for us to use. This means we don't know how to configure this installation. We'd expect the hook directory to be : /usr/lib/xen-tools/gutsy.d Im Verzeichnis /usr/lib/xen-tools legt man also noch einen Verweis auf ''ubuntu.d'' an: ln -s ubuntu.d gutsy.d ===== Gentoo ===== * [[http://gentoo-wiki.com/HOWTO_Xen_and_Gentoo|HOWTO Xen and Gentoo]]