| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
| xen:domus-bzw.-gäste-erstellen [2009/03/01 17:05] – st | xen:domus-bzw.-gäste-erstellen [2011/12/05 03:42] (aktuell) – [Images vergrößern (resize)] st |
|---|
| | ====== 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: <code>xen-create-image --hostname debian --dhcp --dir /srv/xen</code>Das 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: |
| | <code>xen-create-image --hostname debian --ip 192.168.0.1 --dir /srv/xen</code> |
| | |
| | :!: bei <nowiki>--dir</nowiki> sollte in der Pfadangabe hinten kein Slash (/) am Pfadnamen stehen. |
| | |
| | <file> |
| | # |
| | # 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' |
| | </file> |
| | |
| | |
| | ===== 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: |
| | |
| | <file> |
| | # 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' |
| | </file> |
| | 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 <code>vncviewer DOM-0-HOSTNAME:0</code> dorthin verbinden. |
| | |
| | :!: **Nach der Installation** |
| | boot ='d' |
| | auf |
| | boot ='c' |
| | setzen. |
| | |
| | ==== Abänderungen ==== |
| | * Um ein **CD-ROM Laufwerk als Installationsquelle** zu benutzen: <file>disk = [ 'file:/srv/xen/domains/lexware/lexware-c.img,ioemu:hda,w', 'phy:/dev/cdrom,hdc:cdrom,r' ]</file> |
| | * **Feste IP**:<file>vif = [ 'ip=192.168.0.13, type=ioemu, bridge=xenbr0' ]</file> |
| | |
| | ==== 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 Befehl<code>dd if=/dev/zero of=IMAGENAME.IMG count=0 bs=1024k seek=5000</code> |
| | 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:<code>mkfs.ext3 IMAGENAME.IMG</code>. |
| | |
| | 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. |
| | <code> |
| | dd if=/dev/zero bs=1024000 count=1024 >> disk.img |
| | resize2fs -f disk.img |
| | </code> |
| | 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]]: |
| | <code> |
| | wget http://archive.ubuntulinux.org/ubuntu/pool/main/d/debootstrap/debootstrap_1.0.8_all.deb |
| | dpkg -i debootstrap_1.0.8_all.deb |
| | </code> |
| | |
| | |
| | <file> |
| | 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 |
| | </file> |
| | Im Verzeichnis /usr/lib/xen-tools legt man also noch einen Verweis auf ''ubuntu.d'' an: |
| | <code> |
| | ln -s ubuntu.d gutsy.d |
| | </code> |
| | |
| | ===== Gentoo ===== |
| | |
| | * [[http://gentoo-wiki.com/HOWTO_Xen_and_Gentoo|HOWTO Xen and Gentoo]] |
| |