Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Xen 3.x

  1. #1
    Mod. FAQ/Howto/Emulation
    Registriert seit
    Sep 2000
    Beiträge
    17.397

    Xen 3.x

    1) Was ist Xen ?

    2) Links

    3) Xen mit Suse Linux nutzen

    4) Xen Verwaltung, Gäste installieren (voll-virtualisiert)

    5) Tipps & Tricks für vollvirtualisierte Gäste

    6) Tipps & Tricks für paravirtualisierte Gäste

    7) Installation von paravirtualisierten Gästen



    Hinweis: Xen ist ein Produkt für die Servervirtualisierung. Es erfordert eine intensive Einarbeitung. Wer einfach nur ein Windows nebenbei zum Linux in einer VM installieren will, sollte sich eher VMWARE oder VirtualBox ansehen. Diese Produkte sind für diesen Zweck intuitiver zu bedienen und auch leistungsfähiger.

    Entgegen vieler Gerüchte kann Xen (zumindest derzeit noch nicht) Grafikkarten zur Erzielung von 3D Effekten für Spiele an Windows Gäste weiterreichen.



    13.02.07: Erstellt
    22.04.08: Links überprüft, Xen/Suse(3)
    24.04.08: Xen/Nvidia (3.2)
    25.04.08: Windows Gast (4, 5)
    28.04.08: Übergangslose Maus (5)
    04.05.08: Klärung Para/Vollvirtualisierung, Wiki-Beschreibung aktualisiert, qemu-img Beispiele
    13.05.08: Paravirtualisierte Gäste (Tipps (6))
    25.05.08: Paravirtualisierte Gäste (Installation (7))
    09.06.08: HVM: Konsole, lokale Zeit
    02.07.08: Höhere Auflösung für paravirtualisierte Gäste
    20.12.08: Alternative nv/nvidia Konfiguration
    03.01.09: Tools "virt-manager" /"xm" hinzugefügt
    29.03.09: Links aktualisiert, Citrix&ProxMox hinzugefügt
    Geändert von stefan.becker (29.03.09 um 13:41 Uhr)

  2. #2
    Mod. FAQ/Howto/Emulation
    Registriert seit
    Sep 2000
    Beiträge
    17.397

    1) Was ist Xen ?

    1.1) Beschreibung aus Wikipedia

    Die Software Xen ist ein Virtuelle-Maschinen-Monitor (VMM), der unter der GNU General Public License (GPL) steht und an der Universität Cambridge entwickelt wird.

    Xen läuft direkt auf der Hardware (x86, IA-64, PowerPC). Diese wird für die darauf laufenden Systeme (Domains) paravirtualisiert. Dabei wird eine sehr hohe Performance erzielt, da die Hardware nicht emuliert wird, sondern diese den Gastsystemen mit einem sehr kleinen Overhead zur Verfügung gestellt wird.

    Die Gastsysteme (Domains) können unter anderem Linux und NetBSD sein. Auf der Brainshare 2005 stellte Novell eine Portierung von NetWare auf Xen vor. Seit der Version 3.0 können Betriebssysteme, wie z. B. Microsoft Windows, dank speziell dafür entwickelter Prozessorerweiterungen, wie etwa Intel VT oder AMD-V (auch AMD Pacifica genannt), ohne Modifikationen mit Xen genutzt werden. Andere Portierungen sind geplant.

    Xen setzt eine Ebene unter den normalen Betriebssystemkerneln an und zieht eine abstrahierende Schicht zwischen der Hardware und den Gastsystemen ein; es wacht als ein so genannter Hypervisor über die Verteilung der Ressourcen – wie CPU-Zeit, I/O-Zyklen u. a. – an die Gast-Systeme.

    Die zu beherbergenden Kernel müssen dabei an die Xen-Architektur angepasst werden, daher ist es zunächst einmal nur für quelloffene Systeme möglich, auf Xen portiert zu werden.

    Xen unterscheidet dabei privilegierte (sog. Domäne-0) und unprivilegierte Domänen, d. h. virtuelle Systeme. Die Domäne-0 hat die volle Kontrolle über das System und die anderen Gast-Domänen.

    Unter einer „normalen“ Distribution wird Xen installiert und eingerichtet. Das sind im wesentlichen der Kernel und ein paar Userland-Werkzeuge. Danach wird der Computer neu gestartet und der Xen-Kernel geladen. Anschließend wird Domain-0, die die anderen Domains steuert, gestartet. Mit den Xen-Tools werden andere Domains gestartet, die mit einem Xen-Kernel laufen. So können viele verschiedene Distributionen mit unverändertem Ring parallel laufen. Die Anzahl der laufenden Gastsysteme ist nur durch die Ressourcen (CPU, Arbeitsspeicher usw.) des Rechners beschränkt.

    Die einzelnen Gastsysteme werden voneinander sehr stark isoliert und laufen annähernd so schnell, als ob sie direkt auf der Hardware liefen. Diese Eigenschaft unterscheidet Xen von den anderen Verfahren wie UML, VMware-Workstation oder -GSX-Server usw. und entspricht in etwa dem kommerziellen Produkt VMware ESX-Server.

    Quelle: http://de.wikipedia.org/wiki/Xen


    1.2) Grundbegriffe Emulation, Hypervisor, Para-Virtualisierung (Linux Gast), Voll-Virtualisierung (Windows Gast)

    Im Serverbereich wird am häufigsten die Para-Virtualisierung verwendet. Dies erfordert für den Gast ein Betriebssystem mit einem angepassten Kernel. Hierüber ist dann über den Hypervisor im Host ein direkter Zugriff auf Hardware möglich. Para-Virtualisierung ist sehr performant. Para-Virtualisierung wird zumeist mit Linux-Gästen verwendet. Denkbar ist hier ein Szenario von mehreren Linux-Gästen mit jeweils einer speziellen Aufgabe in einer Xen-Domäne. Also z. B. Mailserver, Fileserver etc.

    Bei der Voll-Virtualisierung hingegen emuliert Xen mit Hilfe von Qemu-Komponenten einen vollständigen virtuellen PC. In diesem kann dann ein unmodifiziertes Gastbetriebssystem ablaufen.

    Die Voll-Virtualisierung benötigt außerdem einen modernen Prozessor mit Unterstützung von Virtualisierungstechniken (Intel VT, AMD Pacifica). Man spricht hier daher auch von HVM (Hardware Virtual Machine).

    Ob der Prozessor im eigenen PC dies kann, lässt sich so prüfen:
    Code:
    egrep '^flags.*(vmx|svm)' /proc/cpuinfo
    Falls der Prozessor ausreichend ist, gibt der Befehl eine Zeile aus wie:
    Code:
    flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow up pni cx16 lahf_lm svm cr8legacy ts fid vid ttp tm stc
    Die Voll-Virtualisierung wird z. B. für Windows Gäste verwendet, die mangels angepasstem Kernel nicht para-virtualisiert laufen können. Ebenso wird sie häufig für ältere Linux Distributionen ohne angepassten Xen Kernel verwendet.

    Die Voll-Virtualisierung ist nicht sehr performant. Ein direkter Hardwarezugriff ist ebenfalls nicht möglich.

    Xen ist also keine Lösung, um auf einem Linux Host mit einem Windows Gast 3D Spiele auszuführen.


    Zum Nachlesen einiger Grundbegriffe:
    http://www.heise.de/open/Die-Woche-D.../artikel/85019
    http://www.pug.org/mediawiki/index.php/Xen-Installation


    1.3) VMWARE/Qemu/VirtualBox auf einem Xen Host nutzen

    Kurze Antwort: Das geht gar nicht zusammen.

    Entweder lassen sich die Kernelmodule dieser Produkte nicht übersetzen (VMWARE, KVM, VirtualBox) oder es startet nicht (Qemu).

    Abhilfe: Auf dem Xen Host parallel einen Standard Kernel installieren (bei Suse "kernel-default". Bei Bedarf dann statt dem Xen Kernel den Standardkernel booten.
    Geändert von stefan.becker (29.03.09 um 12:17 Uhr)

  3. #3
    Mod. FAQ/Howto/Emulation
    Registriert seit
    Sep 2000
    Beiträge
    17.397
    Geändert von stefan.becker (18.11.10 um 18:46 Uhr)

  4. #4
    Mod. FAQ/Howto/Emulation
    Registriert seit
    Sep 2000
    Beiträge
    17.397

    3) Xen mit Suse Linux nutzen

    3.1) Xen Basisinstallation

    Suse kann Xen komfortabel über Yast2 installieren. Zunächst muss man das Paket "yast2-vm" installieren:
    Code:
    zypper install yast2-vm
    Danach ist in Yast2 der Menüpunkt "Virtualisierung" vorhanden. Die weitere Installation erledigt dann menügeführt die Funktion "Hypervisor und Werkzeuge installieren".

    Dadurch werden weitere Verwaltungswerkzeuge installiert:
    - Yast2 / Virtualisierung / Virtual Machine Manager
    - Yast2 / Virtualisierung / Virtuelle Computer erstellen

    Außerdem wird ein spezieller Xen-Kernel installiert.

    Nach der Installation muss der PC neu gestartet werden, wobei man im Bootmenü dann den Xen-Kernel wählen muss.


    3.2) Xen und Nvidia Grafikkarten

    3.2.1) Original Nvidia Treiber nutzen (Standard+Xen)

    Standardmäßig gehen der Nvidia Treiber und Xen nicht zusammen. Mit etwas Handarbeit kriegt man das ganze dennoch zum Laufen.

    Getestet mit:
    - Nvidia Treiber 1.0-173.08, Suse 10.3-64 Bit, Kernel 2.6.22.17-0.1
    - Nvidia Treiber 1.0-173.14.05, Suse 11.0-64 Bit, Kernel 2.6.25.4-8

    Zunächst muss der Nvidia Treiber in der Standardumgebung, also kein Xen-Kernel, normal installiert werden. Siehe dazu: http://www.linuxforen.de/forums/show...threadid=86435

    Wenn das läuft, wird der PC mit dem Xen-Kernel neu gestartet.

    Im folgenden ist die Kernelversion (hier "2.6.22.17-0.1") anzupassen. Bei 32-Bit Distributionen ist "x86_64" durch "i386" zu ersetzen. Alle Befehle im folgenden mit root-Berechtigung ausführen!

    Als nächstes einen eigenen Xen-Kernel-Source-Zweig anlegen anlegen
    Code:
    cp -r /usr/src/linux /usr/src/linux-xen
    Falls ein Kernel vor 2.6.24 eingesetzt wird, muss danach im Kernelsource-Verzeichnis ein zusätzliches Includeverzeichnis erstellt werden:
    Code:
    cd /usr/src/linux-xen
    mkdir include2
    cd include2
    ln -s /usr/src/linux-xen/include/asm-x86-64 asm
    Nun muss der Xen-Kernel konfiguriert werden:

    Suse 11.0/Kernel 2.6.25:
    Code:
    cd /usr/src/linux-xen
    cp arch/x86_64/defconfig.xen .config
    make oldconfig
    make scripts
    make prepare
    Suse 11.1/Kernel 2.6.27:
    Code:
    cd /usr/src/linux-xen
    cp /usr/src/linux-2.6.27*obj/x86_64/xen/.config .config
    cp /usr/src/linux-2.6.27*obj/x86_64/xen/Module.symvers Module.symvers
    make scripts
    make prepare
    Jetzt den Nvidia Treiber entpacken und in das entpackte Verzeichnis gehen:
    Code:
    sh N*173.08*run --extract-only
    cd NVIDIA*pkg2/usr/src/nv
    Dann kann das Kernelmodul des Treibers übersetzt werden:
    Code:
    export IGNORE_XEN_PRESENCE=1
    export SYSSRC=/usr/src/linux-xen
    make module
    Zuletzt das Modul umkopieren und testweise den X-Server starten:
    Code:
    cp nvidia.ko /lib/modules/2.6.22.17-0.1-xen/kernel/drivers/video
    depmod -a
    insmod ./nvidia.ko
    startx
    Wenn jetzt der X-Server startet, ist alles in Ordnung. Danach einfach den PC mit Xen-Kernel neu starten.

    Links:
    http://www.nvnews.net/vbulletin/showthread.php?t=106395
    http://en.opensuse.org/Use_Nvidia_driver_with_Xen


    3.2.2) In Xen den "nv" Treiber nutzen, sonst den Original Nvidia

    Mit der folgenden Lösung startet der PC bei Auswahl des Xen-Kernels mit dem nv-Treiber, sonst mit dem nvidia-Treiber.

    Dazu müssen zunächst 2 xorg.conf-Dateien vorhanden sein:
    - /etc/X11/xorg.conf.nvidia => nvidia-3D-Treiber
    - /etc/X11/xorg.conf.nv => nv-2D-Treiber

    Über den Autostart wird abhängig von einem Boot-Parameter ein Link "xorg.conf" auf die jeweilige Konfiguration gesetzt.
    Code:
    rm /etc/X11/xorg.conf
    
    if [[ ${X_DRIVER} != "nv" ]] ; then
      echo 'NVIDIA-3D-Treiber'
      ln -s /etc/X11/xorg.conf.nvidia /etc/X11/xorg.conf
    else
      echo 'NV-2D-Treiber'
      ln -s /etc/X11/xorg.conf.nv /etc/X11/xorg.conf
    fi
    Dieses Script bei Suse in die Datei "/etc/rc.d/boot.local" schreiben.

    Beim Start mit dem xen-Kernel muss der Bootparameter "X_DRIVER" gesetzt werden. Auszug aus der Datei "/boot/grub/menu.lst":
    Code:
    title Xen -- openSUSE 11.1 - 2.6.27.7-9
        root (hd0,1)
        kernel /boot/xen.gz 
        module /boot/vmlinuz-2.6.27.7-9-xen ... X_DRIVER=nv
        module /boot/initrd-2.6.27.7-9-xen
    Geändert von stefan.becker (01.01.09 um 20:41 Uhr)

  5. #5
    Mod. FAQ/Howto/Emulation
    Registriert seit
    Sep 2000
    Beiträge
    17.397

    4) Xen Verwaltung, Gäste installieren (voll-virtualisiert)

    ConVirt

    Im folgenden wird zur Konfiguration, Installation und Starten von Gästen das Programm ConVirt vorausgesetzt. Mit ConVirt lassen sich per GUI Gäste installieren und starten.

    Homepage: http://gnomefiles.org/app.php/ConVirt

    Zum Start des Programms eine Konsole öffnen, per "su" als root anmelden und dann "convirt" eingeben.

    Natürlich kann auch das Standard-Tool virt-manager verwendet werden (siehe 4.4).

    Weiterhin kann Xen über das Kommando xm an der Kommandozeile administriert werden.


    4.1) Neuinstallation eines Windows Gastes

    - Zunächst muss man unter "Image Store" den Punkt "Windows_CD_Install" markieren.
    - Über das Kontextmenü (rechte Maustaste) "Edit Settings wählen".
    - Im folgenden Dialog unter "Provisioning" den Parameter "VM_DISKS_DIR" anpassen.
    - Verzeichnis eingeben, wo die Images liefen sollen. Dann "OK".
    - Über das Kontextmenü dann "Provision" wählen.
    - Im folgenden Dialog "localhost" wählen.
    - Danach startet der Gast-Einstellungsdialog.
    - Hier folgende Einstellungen setzen/kontrollieren:
    Code:
       - General / VM Name => z. B. WinXP
       - General / Memory => bei Vista mindestens 768 MB, bei XP 512, bei 2 K 256
       - General / Connetced Disks => Kontrolle CDROM-Device (Standard /dev/cdrom)
       - Miscellaneous / acpi => bei Vista "1", bei XP / 2 K egal
       - Miscellaneous / apic => bei Vista "1", bei XP / 2 K egal
       - Miscellaneous / sdl   => "1" (siehe untern SDL <=> VNC)
       - Miscellaneous / vnc  => "0" (siehe untern SDL <=> VNC)
    - Im Anschluss wird der Gast mit einem leeren Image angelegt.
    - Dann die passende Windows CD einlegen und den "Start" Button drücken.

    Im Anschluss erfolgt eine Windows Installation analog zur echten Blechbüchse inkl. Neustart des Gastes zwischendurch.

    Nach Abschluss der Installation muss man den Gast noch so umstellen, dass von dem Image und nicht mehr der CD gebootet wird.

    - Gast markieren
    - "Change VM Settings" per Kontextmenü wählen
    - "Miscellaneous" / "boot" => "c" einstellen.


    4.2) Linux Gäste, voll virtualisiert

    Auch ein Linux Gast lässt sich mit Vollvirtualisierung installieren. Für ältere Distributionen ohne modifizierten Xen-Kernel ist dies sogar die einzige Möglichkeit.

    Der Ablauf ist analog zum Windows Gast, allerdings muss bei ConVirt/ImageStore der Punkt "Linux_CD_Install" gewählt werden.

    Bezüglich Sound/Maus siehe unten, Tipps&Tricks.


    4.3) Images übernehmen, Images verwalten

    Im folgenden wird ein parallel installiertes Qemu vorausgesetzt, um den Befehl "qemu-img" nutzen zu können. Im Paket "xen-tools" sind zwar auch entsprechende Kommandos enthalten (img2qcow, qcow-create, qcow2raw), allerdings bei weitem nicht so mächtig wie qemu-img.

    Tipps zu qemu-img siehe auch: http://www.linuxforen.de/forums/show...9&postcount=10


    4.3.1) Qemu-Images übernehmen

    Windows Gäste laufen wie bereits erwähnt in einem virtuellen PC aus Qemu Komponenten. Daher können Qemu-Gäste problemlos übernommen werden:

    - Zunächst wie zuvor einen Windows Gast anlegen
    - Hierbei wird ein leeres Image für den neuen Gast angelegt
    - Vor dem ersten Start einfach das vorhandene Qemu-Image über das neue drüberkopieren:
    Code:
    cp /home/qemu/images/winxp.img /home/xen/images/winxp.disk.xm
    - Dann die Gastkonfiguration ändern (Gast markieren, "Change VM Settings")
    - Im Reiter "Miscellaneous" zuletzt auf "boot-c" umstellen
    - Weitere Einstellungen siehe oben.


    4.3.2) qcow-Images

    Normalerweise legt convirt immer raw-Images an. Ein Image mit max. 20 GB belegt hier von Anfang an 20 GB. Allerdings kann auch das Qemu-Format "qcow" verwendet werden. Hier belegt das Image maximal so viel Platz wie der Gast aktuell belegt. Bei Bedarf wächst dieses Image bis zur Maximalgröße.

    Umwandlung eines raw-Images in ein qcow-Image:
    Code:
    qemu-img convert winxp_raw.disk.xm -O qcow winxp_qcow.disk.xm
    Anlegen eines 20 GB großen qcow Images:
    Code:
    qemu-img create -f qcow winxp_qcow.disk.xm 20G
    convirt legt als Standard immer raw-Images an. Will man lieber ein anderes Format oder auch eine andere Größe, müsste man entweder das Create-Script von convirt anpassen oder nach vorheriger Vorgehensweise nach Anlegen der Gastkonfiguration einfach ein mit qemu-img erzeugtes Image unterjubeln.

    In convirt muss man auch entsprechend beim Zuordnen des Images den Typ "qcow" auswählen. In der Gastkonfiguration sieht das z. B. so aus:
    Code:
    disk=['tap:qcow:/home/vms/xen/images/win2k.qcow,hda,w']

    4.3.3) VMWARE-Images übernehmen

    Unter der Voraussetzung, dass das VMWARE Image eine zusammenhängende Datei ist, kann man auch dieses übernehmen:

    - Mit Hilfe des VMWARE Tools "vmware-vdiskmanager" (Workstation, Server) lässt sich zunächst ein passendes VMWARE Image schaffen, wenn es nicht eine zusammenhängende Datei ist.
    - Umwandlung z. B.:
    Code:
    qemu-img convert -f vmdk winxp.vmdk -O raw winxp.disk.xm
    Weitere Anleitung: http://ian.blenke.com/vmware/vmdk/xen/hvm/qemu


    4.4) Virt-Manager

    Hinter "Yast2 / Virtualisierung / Virtual Machine Manager" verbirgt sich letztlich das Tool "virt-manager".

    Ab Version 0.60 kann das Tool auch neue Gäste anlegen inkl. Soundkarte. Daher sollte man sich zunächst eine neue Version installieren. Download und Installation z. B. über http://software.opensuse.org/search

    Xen erfordert Rootrechte. Damit man das Tool als User über sudo nutzen kann, ohne dauernd das Kennwort einzugeben, sind folgende Änderungen notwendig:

    - beim Hochfahren von Gnome/KDE im Autostart ein Script starten mit folgendem Befehl:
    Code:
    xhost + local:
    - die Datei "/etc/sudoers" erweitern/ergänzen (Fettdruck):
    Code:
    Defaults env_keep = "LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS XDG_SESSION_COOKIE DISPLAY"
    ...
    Username  ALL=NOPASSWD:/usr/bin/virt-manager
    - einen Starter auf den Desktop legen, Befehl "sudo virt-manager"

    Alternativen:
    - Start als Anwender, bei Bedarf wird dann das root-Kennwort abgefragt
    - Kommadozeile öffnen, Root-Login mit "su -"
    - grafisches-Login als root

    Nach dem Start der Anwendung zunächst einen Doppelklick auf die Zeile "localhost" machen, das baut die Verbindung zu Xen auf. Es werden dann alle bereits vorhanden Domänen angezeigt.

    Ein Doppelklick auf eine Domäne (DOM1-n) öffnet dann ein weiteres Fenster mit Eigenschaften (Hardware) und einer VNC-Konsole zur Anzeige.

    Um einen neuen Gast anzulegen, in der Zeile "localhost" über die rechte Maustaste das Kontextmenü öffnen, die Funktion "Neu" auswählen. Im folgenden Assistenten kann ein neuer Gast dialoggeführt "zusammengebaut" werden.

    Zum Anlegen eines neuen Gastes nach dem Start einen Doppelklick

    Homepage: http://virt-manager.et.redhat.com/


    4.5) "xm" in der Kommandozeile

    In einer Konsole mit Root-Login (xterm, su) kann über das Kommando "xm" Xen verwaltet werden.

    Durch Eingabe von "xm --help" erhält man eine Liste der Optionen. Eine ausführliche Hilfe zeigt das Kommando "man xm".
    Geändert von stefan.becker (29.03.09 um 12:14 Uhr)

  6. #6
    Mod. FAQ/Howto/Emulation
    Registriert seit
    Sep 2000
    Beiträge
    17.397

    5) Tipps & Tricks für vollvirtualisierte Gäste

    Erweiterung / Änderung der Gastkonfiguration

    Bei ConVirt dazu den Gast markieren und "Edit VM Config File" starten. Einige Einstellungen lassen sich auch mit der Funktion "Change VM Settings" ändern.

    Bei virt-manager muss das jeweilige Gastfenster geöffnet werden, die Änderungen erfolgen im Reiter "Hardware".


    Deutsche Tastaturbelegung

    Damit die Gäste eine deutsche Tastaturbelegung erhalten, muss in der Datei "/etc/xen/xend-config.sxp" folgende Zeile stehen:
    Code:
    (keymap 'de')
    Falls der Parameter "keymap" bereits mit einer anderen Belegung gesetzt ist, diese Zeile entsprechend abändern.

    Falls man "virt-manager" benutzt und obige Einstellung nicht hilft:
    - Gastfenster öffnen, Reiter "Hardware"
    - In der Liste "Anzeige" öffnen, entfernen
    - "Add Hardware", Hardware-Typ "Graphics Device"
    - Im folgenden Fenster bei Tastaturlayout: "Gleich wie Host" abwählen, bei "Andere" "de" eingeben


    SDL <=> VNC

    Normalerweise läuft ein Windows Gast in einem VNC-Fenster. Man kann wie auch bei Qemu den Gast in einem SDL-Fenster laufen lassen. Dazu müssen folgende Einstellungen in der Gastkonfiguration eingetragen bzw. geändert werden:
    Code:
    sdl=1
    vnc=0
    vncviewer=0
    Bei SDL startet der Gast in einem SDL Fenster. Mit Beendung des Fensters beendet sich auch der Gast. Außerdem kann der Gast dann nur bei laufendem X-Server starten.

    Bei VNC läuft der Gast im Hintergrund und auch ohne X-Server. Bei ConVirt kann man so zum Gast schalten:
    - Auswahl "localhost"
    - Gast markieren
    - Button "Console" drücken
    - Bei VNC läuft der Gast auch nach Beendigung des Fensters "Console" im Hintergrund weiter.


    Übergangslose Maus (SDL) bzw. Mauszeiger Host/Gast nicht synchron (VNC)

    Falls die Mauszeiger von Host und Gast nicht deckungsgleich übereinander liegen oder wenn man bei einem SDL-Fenster in Vollvirtualisierung eine übergangslose Maus haben will, hilft das Hinzufügen folgender Zeilen in die Gastkonfiguration:
    Code:
    # USB wird aktiviert
    usb = 1
    # als Maus wird Tablet genommen
    usbdevice = 'tablet'
    Bei einem Linux Gast muss noch der "evtouch"-Treiber installiert werden:

    http://stz-softwaretechnik.com/~ke/t...n/evtouch.html

    Danach muss man herausfinden, welches Event-Interface man nehmen muss (Kommandozeile im Gast, root):
    Code:
    cat /proc/bus/input/devices
    Das gewünschte Interface ist "... QEMU USB TABLET". Steht dort "event3", kann man einen Eintrag in die "xorg.conf" als Ersatz für die bisherige Maus vornehmen, bei "Option Device" die zuvor bestimmte Schnittstelle eintragen:
    Code:
    Section "InputDevice"
            Identifier "Mouse1"
            Driver "evtouch"
            Option "Protocol" "usb"
            Option "Device" "/dev/input/event3"
            Option "DeviceName" "touchscreen"
            Option "SendCoreEvents"
            Option "CorePointer"
            Option "MinX" "0"
            Option "MinY" "0"
            Option "MaxX" "32767"
            Option "MaxY" "32767"
            Option "ReportingMode" "Raw"
    EndSection
    Nach einem Neustart des X-Servers sollte die übergangslose Maus einwandfrei funktionieren.

    Bei einem Windows Gast ist nichts weiter einzurichten.


    Sound aktivieren

    Durch folgende Zeile in der Gastkonfiguration erhält der Gast eine es1370-Soundkarte:
    Code:
    soundhw = 'es1370'

    Gast im Fullscreen laufen lassen

    Hierzu einfach im laufenden Gast [Strg]-[Alt]-[F] drücken, zurück zur normalen Anzeige mit der gleichen Tastenkombination.


    Vista Gäste

    Bei Vista muss "acpi=1" und "apic=1" eingestellt werden ("Change VM Setiings" / "Miscellaneous").


    3D im Gast

    Über die Software vmgl wird im Gast 3D Funktionalität ermöglicht, ohne dem Gast eine eigene Grafikkarte zuzuweisen: http://www.cs.toronto.edu/~andreslc/vmgl/

    Das ganze allerdings nur für Linux/*BSD Host und Gast mit xorg bzw. x11-X-Server.

    Das Programm muss sowohl am Host als auch im Gast installiert werden. OpenGL Aufrufe werden dann von vmgl vom Gast an den Host weitergegeben und dort ausgeführt.


    Linux-CD-Installation sehr langsam bei Vollvirtualisierung

    Falls die Installation eines Linux bei Voll-Virtualisierung zu langsam ist, sollte man ACPI und APIC in der Gastkonfiguration deaktivieren (Wert "0") (Change VM Settings / Miscellaneous).

    Nach der Installation kann man beides wieder zuschalten (Wert "1").


    Windows Gast Tools für paravirtualisierten Zugriff

    Auch für Windows Gäste gibt es spezielle Gasttools, mit deren Hilfe der Netzwerk und Festplattenzugriff beschleunigt wird. Bedingung: Der Gast muss mit ACPI installiert sein.

    Links:
    http://wiki.xensource.com/xenwiki/XenWindowsGplPv
    http://wiki.xensource.com/xenwiki/Xe...lPv/Installing
    http://www.meadowcourt.org/downloads/


    Zeit vom Host übernehmen

    Damit der Gast die gleiche Uhrzeit hat wie der Host, einfach folgenden Parameter in die Gast-Konfigurationsdatei einfügen:
    Code:
    localtime=1

    HVM Konsole

    Wie bei Qemu kann man per [Strg]-[Alt]-[2] im Gastfenster zur Konsole wechseln. Dazu muss aber folgender Parameter in die Gast-Konfigurationsdatei eingefügt werden:
    Code:
    monitor=1
    Über [Strg]-[Alt]-[1] kann man wieder zum Gastfenster umschalten.
    Geändert von stefan.becker (03.01.09 um 16:42 Uhr)

  7. #7
    Mod. FAQ/Howto/Emulation
    Registriert seit
    Sep 2000
    Beiträge
    17.397

    6) Tipps & Tricks für paravirtualisierte Gäste

    Mauszeiger Host/Gast nicht synchron (Linux-Gast)

    Hier muss auf den evdev-Maustreiber umgestellt werden:
    Code:
    Section "InputDevice"
      ...
      Driver "evdev"
      Option "Device" "/dev/input/event1"
    ...
    EndSection
    Prüfung, welches Event-Interface man nehmen muss (Kommandozeile im Gast, root):
    Code:
    cat /proc/bus/input/devices

    Grafikauflösung bei Nutzung des xenfb-Framebufferdevices

    Aktuell kann der Gast bei Nutzung des Framebufferdevices nur bis zu einer Auflösung von 800x600 eingestellt werden. Höhere Auflösungen sind erst ab Xen 3.2 möglich.

    Hierzu muss in die Gast-Konfigurationsdatei folgende Zeile eingefügt werden (bzw. ergänzt, wenn "extra=" bereits vorhanden:
    Code:
    extra='xenfb.video=16,1024,900'
    Im Beispiel steht "16" für 16 MB Videospeicher, 1024x900 ist die gewählte Auflösung. Es lassen sich hier beliebige Werte eintragen.


    Sound

    Sound wäre nur über ein Durchreichen der Soundkarte als PC-Device möglich. Man kann jedoch auch per Netzwerk über den esd-Soundserver auf die Soundkarte des Hosts zugreifen.

    Im Host muss der Soundserver so gestartet werden (5001=TCP-Port für Soundweiterleitung):
    Code:
    esd -tcp -public -port 5001
    Im Gast muss man vor der Anmeldung folgende Systemvariable setzen (bei Suse z. B. in "/etc/bash.bashrc"):
    Code:
    export ESPEAKER=a.b.c.d:5001
    (a.b.c.d=IP-Adresse des Xen-Hosts)

    Programme, die mit dem esd-Soundserver zusammenarbeiten, können dann so Sound ausgeben.
    Geändert von stefan.becker (02.07.08 um 22:08 Uhr)

  8. #8
    Mod. FAQ/Howto/Emulation
    Registriert seit
    Sep 2000
    Beiträge
    17.397

    7) Installation von paravirtualisierten Gästen

    Xen ist sehr wählerisch, was das Zusammenspiel der Dom0 mit den DomUs anbelangt. Nicht jede beliebige Kombination Host / Gast bzw. Xen Host- / Xen Gastkernel lassen sich zum Laufen bewegen. Ebenso kann nicht jede CD/DVD zur Neuinstallation verwendet werden. Problematisch sind z. B. Live CDs.

    Ein paravirtualisierter Xen Gast kann sowohl in einem raw-Image als auch auf einer echten Partition angelegt werden.


    7.1) Installation eines Suse Gastes auf Suse Host bei gleicher Distributionsversion

    Sofern man die gleiche Distribution in der gleichen Version als Gast installieren will, ist die Installation bei Suse geradezu ein Kinderspiel.

    Hierzu folgende Vorgehensweise:
    - Yast2 / Virtualisierung / Virtuelle Computer erstellen
    - Option "Es muss ein Betriebssystem neu installiert werden" / Vor
    - SUSE / openSUSE
    - Platten: Plattengröße anpassen (falls inkl. X-Server, eher 10 GB wählen)
    - Platten: CDROM hinzufügen als Image oder das physikalische Laufwerk
    - "OK" startet dann die Installation

    Zunächst wird das Image angelegt, einige Minuten später startet die Installation.

    Getestet mit: Suse 10.3, Host 64 Bit, Gast 32 Bit, Xen 3.1x


    7.2) Vorhandene Images nutzen bzw. Vorbereitung der Installation als HVM-Gast

    Sobald Host / Gast bzw. Versionen voneinander abweichen, ist es in den meisten Fällen einfacher, zunächst eine lauffähige HVM-Version des Gastes (also vollvirtualisiert) zu erstellen.

    Später kann man dann die Verzeichnisstruktur eines so angelegten Gastes für einen neu angelegten Gast übernehmen.

    Grundlage kann also sein:
    - Eine VMWARE-Appliance, also eine fertige VMWARE Maschine (Umwandlung in ein raw-Image per "qemu-img", siehe oben)
    - Qemu Images (falls cow-Image, per "qemu-img" umwandeln, siehe oben)
    - Ein Xen-HVM-Gast

    Damit ein Gast überhaupt paravirtualisiert als DomU starten kann, sollte im Gast vorab noch folgendes installiert werden:
    - xen-Kernel
    - xen / xen-tools-domU

    Sobald das Gastimage als Basis komplett ist, wird ein neues Image angelegt, um den Dateibaum aus dem Basisimage in den künftigen Xen Gast zu übertragen.

    Die weitere Vorgehensweise als grober Ablauf:
    - Anlegen eines leeren Gastimages (inkl. partitionieren, formatieren, bootbar machen)
    - Verzeichnisbaum aus Basisimage umkopieren in neues Gastimage
    - Anpassung einer Konfigurationsdateien im neuen Gast (z. B. "/etc/fstab")
    - Anlegen eines swap-Images
    - Erstellung der Xen-Konfiguration

    Ausführliche Links hierzu:
    - Xen Handbuch: http://www.cl.cam.ac.uk/research/srg.../readmes/user/ (Kapitel A.3.2 Using disk image files)
    - http://www.linuxforen.de/forums/show...68&postcount=2


    7.3) Fertige Xen Images

    http://jailtime.org/
    http://wiki.computerwoche.de/doku.ph...ual-appliances
    Geändert von stefan.becker (31.05.08 um 16:52 Uhr)

Ähnliche Themen

  1. Bestehende Systeme nach XEN migrieren
    Von bla!zilla im Forum Virtuelle Maschinen und Emulatoren
    Antworten: 11
    Letzter Beitrag: 25.04.08, 15:31
  2. XEN erkennt nur 3,2 von 8GB Speicher auf 64Bit Debian
    Von drummermonkey im Forum Kompilieren von Kernel und Sourcen
    Antworten: 7
    Letzter Beitrag: 24.09.07, 10:40
  3. Xen rebootet beim Start ohne ersichtlichen Grund
    Von 3qualizer im Forum Virtuelle Maschinen und Emulatoren
    Antworten: 4
    Letzter Beitrag: 03.08.07, 23:01
  4. Xen auf SuSE10.1
    Von dnspics im Forum Virtuelle Maschinen und Emulatoren
    Antworten: 21
    Letzter Beitrag: 30.12.06, 21:11
  5. Xen: (Netzwerk!-)Leistung ???
    Von tobiasbeil im Forum Virtuelle Maschinen und Emulatoren
    Antworten: 3
    Letzter Beitrag: 13.06.05, 22:23

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •