xen:domus-bzw.-gäste-erstellen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
xen:domus-bzw.-gäste-erstellen [2008/03/23 21:42] stxen:domus-bzw.-gäste-erstellen [2011/12/05 03:42] (aktuell) – [Images vergrößern (resize)] st
Zeile 1: Zeile 1:
 +====== 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]]