qemu-kvm & libvirtHauptseite | Über | Hilfe | FAQ | Spezialseiten | Anmelden

Druckversion | Impressum | Datenschutz

To Do

(Link zu dieser Seite als [[QEMU-KVM-Buch/ To Do]])


Inhaltsverzeichnis

[bearbeiten] Allgemein

Für die Emulation der Soundkarte Gravis Ultrasound (GUS) wird GUSemu (http://www.deinmeister.de/gusemu/) verwendet. Per Default nutzt GUS den IRQ7. Dieser IRQ wird auch von parallelen Ports beansprucht. Zur Vermeidung von Konflikten deaktiviert man die parallelen Ports.

Host ~$ qemu Platte.img -soundhw gus -parallel none

Alternativ stellt man den GUS-IRQ um.

Host ~$ qemu Platte.img -device gus,irq=5

[bearbeiten] qemu

-drive [file=file][,if=type][,bus=n][,unit=m][,media=d][,index=i] \
     [,cyls=c,heads=h,secs=s[,trans=t]][,snapshot=on|off]         \
     [,cache=writethrough|writeback|unsafe|none][,format=f]       \
     [,serial=s][,addr=A][,id=name][,aio=threads|native]          \
     [,readonly=on|off]
     cache=none|writethrough|writeback|unsafe
Die Option cache kann auf none, writeback, writethrough (Default) oder unsafe gesetzt werden. Sie steuert die Nutzung des Cache für das angegebene Laufwerk. Mit dem Setzten des Parameters writethrough wird der Host-Cache für Lese- und Schreibzugriffe verwendet. Die Bestätigung des Schreibvorganges wird dem Gast-System erst gesendet, wenn das Storage-Subsystem den Schreibvorgang bestätigt hat. Bei der Option writeback wird bereits die Schreibbestätigung gesendet, wenn die Daten im Cache des Hosts gespeichert sind. Stürzt der Host ab, kann es zu Datenverlusten kommen. Mit unsafe wird der Cache-Inhalt nie auf die Festplatte geschrieben. Bei Problemen mit dem Host droht dabei Datenverlust. Bei der Startoption -snapshot wird unsafe als Default eingestellt. Bei der Option none wird der Host-Cache nicht verwendet. QEMU und KVM können intern die Daten cachen. Die Performance kann bei bestimmten Treibern in Kombination mit der Option writethrough und dem Image-Format qcow2 geringer sein. Wird mehr Wert auf Geschwindigkeit als auf Sicherheit gelegt, ist hier die Option writeback anzuwenden.
-device driver[,prop[=value][,...]]

Fügt das Device driver hinzu. Mit -device ? erhält man eine Liste möglicher Devices.

     prop=value
Definiert die Eigenschaften des Devices. Mit -device driver,? erhält man eine Liste möglicher Eigenschaften für das angegebene Device.

[bearbeiten] Dateisystem-Optionen

Ab QEMU 0.13 werden die Optionen -fsdev und -virtfs unterstützt.

[bearbeiten] Dateisystem-Devices

Die allgemeine Syntax zur Definition von Dateisystem-Devices ist -fsdev fstype ,id=id [,options]. Jedem Device muss mit id eine Zeichenkette zugeordnet werden. Diese dient zur eindeutigen Identifizierung. Je nach Art des Devices (fstype) sind bestimmte Optionen anzuwenden.

-fsdev local ,id=id ,path=path ,security_model=security_model

Legt ein Device für ein lokales Dateisystem an.

     local
Das Dateisystem local ist nur unter Linux verfügbar.
     path
Definiert den zu exportierenden Pfad. Diese Angabe ist zwingend.
     security_model
Definiert das zu verwendende Sicherheitsmodell. Diese Angabe ist zwingend.

[bearbeiten] Virtuell exportierte Dateisysteme

Die allgemeine Syntax zum Exportieren von Dateisystemen als virtuelle Dateisysteme ist -virtfs fstype [,options]. Je nach Art des Devices (fstype) sind bestimmte Optionen anzuwenden.

-virtfs local ,path=path ,mount_tag=mount_tag ,security_model=security_model

Exportiert ein lokales Dateisystem als virtuelles Dateisystem.

     local
Das Dateisystem local ist nur unter Linux verfügbar.
     path
Definiert den zu exportierenden Pfad. Diese Angabe ist zwingend.
     security_model
Definiert das zu verwendende Sicherheitsmodell. Diese Angabe ist zwingend.
     mount_tag
Definiert den tag mit dem das exportierte Dateisystem gemountet wird. Diese Angabe ist zwingend.

[bearbeiten] Display-Optionen

-vnc display[,option[,option[,...]]]
     lossy
Ermöglicht eine verlustbehaftete Kompressionsmethode (gradient, JPEG, ...). Wird diese Option aktiviert, kann es zu verlustbehafteten Aktualisierungen des Bildschirmaufbaus kommen. Es wird dabei eine wesentlich geringere Bandbreite benötigt.

[bearbeiten] Netzwerk-Optionen

-net nic[,vlan=n][,macaddr=mac][,model=type] [,name=name][,addr=addr][,vectors=v]

virtio, i82551, i82557b, i82559er, ne2k_pci (Default für x86-PC bei älteren QEMU-Versionen), ne2k_isa, pcnet, rtl8139, e1000 (Default für x86-PC), smc91c111, lance und mcf_fec.

-net tap[,vlan=n][,name=str][,fd=h][,ifname=name] 
[,script=file][,downscript=dfile][,sndbuf=nbytes]
[,vnet_hdr=on|off][,vhost=on|off][,vhostfd=h]
     vhost=on
Aktiviert den experimentellen Kernel-Beschleuniger.
     vhostfd=h
Stellt eine Verbindung zu einem bereits geöffneten Netzwerk-Device her.

[bearbeiten] Character-Device-Optionen

-chardev null,id=id[,mux=on|off]
-chardev socket,id=id[,host=host],port=host[,to=to][,ipv4][,ipv6][,nodelay]
        [,server][,nowait][,telnet][,mux=on|off] (tcp)
-chardev socket,id=id,path=path[,server][,nowait][,telnet],[mux=on|off] (unix)
-chardev udp,id=id[,host=host],port=port[,localaddr=localaddr]
        [,localport=localport][,ipv4][,ipv6][,mux=on|off]
-chardev msmouse,id=id[,mux=on|off]
-chardev vc,id=id[[,width=width][,height=height]][[,cols=cols][,rows=rows]]
        [,mux=on|off]
-chardev file,id=id,path=path[,mux=on|off]
-chardev pipe,id=id,path=path[,mux=on|off]
-chardev pty,id=id[,mux=on|off]
-chardev stdio,id=id[,mux=on|off][,signal=on|off]
-chardev braille,id=id[,mux=on|off]
-chardev tty,id=id,path=path[,mux=on|off]
-chardev parport,id=id,path=path[,mux=on|off]
     mux=on|off
Mit mux=on wird der Multiplexing-Mode aktiviert. Damit kann das Character-Device von mehreren Front-Ends verwendet werden. Mit der Tastenkombination [Strg] +[A] und [C] wird der Eingabe-Fokus zwischen den angeschlossenen Front-End gewechselt.

[bearbeiten] Debug/Expert options:

-serial dev
telnet:host:port[,server][,nowait][,nodelay]

Es wird das Telnet-Protokoll verwendet. Die Optionen haben die gleiche Funktionen wie bei -serial tcp. Der Unterschied ist, dass die Verbindung über dem Port ähnlich wie beim Telnet-Protokoll funktioniert. Damit ist es möglich, die MAGIC_SYSRQ-Sequenz zu verwenden. Unter Unix-Telnet-Clients wird diese Sequenz mit der Tastenkombination [Strg]+[]] eingeleitet und mit dem Befehl send break und [Enter] durchgeführt.

-qmp dev

Entspricht der Option -monitor control,.... . Die QMP-Kommunikation wird zur Gerätedatei dev umgeleitet. QMP (QEMU Machine Protocol) ist ein auf JASON (http://www.json.org) basierendes Management Interface, welches Applikationen die Kommunikation mit der QEMU-Instanz ermöglicht (siehe http://www.linux-kvm.org/page/MonitorProtocol).

-debugcon dev   

Leitet die Ausgaben der Debug-Konsole zur Gerätedatei dev um. Die Debug-Konsole ist ein I/O-Port. Es wird typischerweise das Port 0xe9 verwendet. Die möglichen Gerätedateien entsprechen denen von -serial dev. Der Default ist vc im grafischen Modus und stdio im Text-Modus.

-s

Wartet auf eine GDB-Verbindung auf Port 1234. Dies entspricht der Option -gdb tcp::1234.

-virtioconsole c

Setzt die Virtio-Konsole. Diese Option wird durch -device virtconsole ersetzt und dient zur Abwärtskompatibilität.

-old-param

Für die ARM-Architektur wird ein Modus mit den alten Parametern aktiviert.

-nodefconfig

Beim Start von QEMU werden normalerweise die Einstellungen der Konfigurationsdateien sysconfdir/qemu.conf und sysconfdir/target-ARCH.conf verwendet. Die Option -nodefconfig unterdrückt dies.

[bearbeiten] Tastaturkürzel

[Strg]+[Alt], [U] Stellt die ursprüngliche Fenstergröße wieder her.


[bearbeiten] QEMU-Monitor

(qemu) netdev_add [user|tap|socket],id=str[,prop=value][,...] 

Fügt ein Netzwerk-Device hinzu. Die Optionen entsprechen denen der Option -netdev.

(qemu) netdev_del id 

Löscht ein Netzwerk-Device.

(qemu) qmp_capabilities

Aktiviert QMP-Fähigkeiten. QMP (QEMU Machine Protocol) ist ein auf JASON (http://www.json.org) basierendes Management Interface, welches Applikationen die Kommunikation mit der QEMU-Instanz ermöglicht (siehe http://www.linux-kvm.org/page/MonitorProtocol).

[bearbeiten] qemu-img

[bearbeiten] create

Ab QEMU 0.13 wird folgende Syntax unterstützt:

Host ~$ qemu-img create [-f fmt] [-o options] filename [size] 

Die bisherigen Optionen -e, -6, -F und -b werden als entsprechende Angaben hinter der Option -o verwendet. Diese Angaben sind abhängig vom verwendeten Image-Format. In diesem Beispiel wird eine Overlay-Datei angelegt.

Host ~$ qemu-img create -f qcow2 -o backing_file=Basis-Platte.img Platte.img 1G

[bearbeiten] convert

Ab QEMU 0.13 wird folgende Syntax unterstützt:

Host ~$ qemu-img convert [-c] [-f fmt] [-O output_fmt] [-o options] \ 
        filename [filename2 [...]] output_filename '''

Die bisherigen Optionen -e, -6 und -B werden als entsprechende Angaben hinter der Option -o verwendet. Die Angaben sind abhängig von den verwendeten Image-Formaten (siehe unten).

[bearbeiten] rebase

Host ~$ qemu-img rebase [-f fmt] [-u] -b backing_file [-F backing_fmt] filename 

Ab QEMU 0.13 wird der Befehl rebase unterstützt. Damit wird der Overlay-Datei ein neues Basis-Image zugewiesen. Per Default müssen das aktuelle und das neue Basis-Image existieren. Das neue Basis-Images wird mit dem alten Basis-Image verglichen. Werden Unterschiede festgestellt, werden die Daten vom alten Basis-Image auf das neue Basis-Image übertragen.

-f fmt 

Gibt das Format des alten Basis-Image an. In der Regel erkennt qemu-img das Format. Deshalb ist diese Angabe oft nicht notwendig.

-u

Aktiviert ein unsicheres Rebasing. Es wird davon ausgegangen, dass das alte und das neue Basis-Image exakt übereinstimmen. Dies ist sinnvoll bei der Umbenennung oder Verschiebung des Basis-Images.

-b backing_file

Hiermit wird das neue Basis-Image angegeben.

-F base_fmt

Gibt das Format der Basis-Datei an. Normalerweise ist diese Option nicht notwendig, da qemu-img das Format in der Regel erkennt.

filename 

Mit filename wird die Overlay-Datei angegeben, der das neue Basis-Image zugeordnet werden soll.

[bearbeiten] resize

Host ~$ qemu-img resize filename [+ | -]size

Ab QEMU 0.13 wird der Befehl resize unterstützt. Mit resize wird das Fassungsvermögen einer virtuellen Festplatte im raw-Format geändert. Bevor man ein Image verkleinert, muss in der virtuellen Maschine ein entsprechend großer Bereich am Ende der virtuellen Festplatte freigegeben werden. Ansonsten droht Datenverlust. Wird eine Image vergrößert, so ist im Gast-System dieser neue Speicherbereich zu partitionieren und zu formatieren.

filename 

Mit filename wird das zu skalierende Image angegeben.

size

Definiert die neue Größe beziehungsweise die Größenänderung in Kilobyte. Optional können die Suffixes M (Megabyte=1024*1024), G (Gigabyte=1024*1024*1024) oder T (Terrabyte=1024*1024*1024*1024) angegeben werden.

[bearbeiten] Unterstützte Image-Formate

host_device

Bei Block- oder anderen Devices, die keine effektive Verwaltung von unbelegten Blöcken in Dateien unterstützen, ist das Format host_device anzuwenden.

qcow2

Es werden folgende Optionen von qemu-img (-o) unterstützt:

     backing_file=filename
Dateiname des Basis-Image (siehe qemu-img create).
     backing_fmt=fmt
Image-Format des Basis-Image (siehe qemu-img create).
     encryption=on|off
Verschlüsselt das Image. Die Verschlüsselung erfolgt mit AES (128 Bit Schlüssel) und ist dadurch sehr sicher. Für maximale Sicherheit ist ein Passwort mit 16 Zeichen zu verwenden.
     cluster_size=alue
Ändert die Voreinstellung der Cluster-Größe (512 Byte). Es sind Werte zwischen 512 und 2MByte möglich. Kleinere Werte optimieren die Dateigröße. Größere Werte bewirken eine bessere Performance.
     preallocation= off|metadata
Ein Image mit zugewiesenen Meta-Daten ist anfangs größer, besitzt aber eine bessere Performance beim Vergrößern.
qcow

Es werden folgende Optionen von qemu-img (-o) unterstützt:

     backing_file
Siehe qcow2.
     encryption
Siehe qcow2.
vmdk

Es werden folgende Optionen von qemu-img (-o) unterstützt:

     backing_fmt
Siehe qcow2.
     compat6
Erzwingt beim vmdk-Format den Kompatibilitäts-Level 6 für die Ziel-Imagedatei.
blkdebug 
sheepdog 
host_cdrom 
host_floppy 
file 
tftp, ftps, ftp, https, http


[bearbeiten] qemu-io

[bearbeiten] multiwrite

Führt mehrere Schreibanforderungen in die geöffnete Datei mit einem Befehl durch. Für jede Schreibanforderung wird jeweils die Anzahl von Bytes, der Offset und der Puffer vorgegeben. Dabei wird ein Byte-Muster (Default = 0xcdcdcdcd) verwendet.

qemu-io> multiwrite [-Cq] [-P pattern ] off len [len..] [; off len [len..]..]
     -P
Es werden unterschiedliche Muster zum Füllen der Datei verwendet.
     -C
Gibt Report-Statistiken in maschinenlesbarer Form aus.
     -q
Es werden keine I/O-Statistiken angezeigt (Quite-Mode).

Beispiel:

qemu-io> multiwrite 512 1k 1k ; 4k 1k

In diesem Beispiel werden 2 kByte ab einem Offset von 512 Bytes und 1 kByte ab einem Offset von 4 kByte in die geöffnete Datei geschrieben.


Von „http://qemu-buch.de/de/index.php/QEMU-KVM-Buch/_To_Do

Diese Seite wurde bisher 1.536 mal abgerufen. Diese Seite wurde zuletzt am 26. August 2010 um 07:37 Uhr geändert. Inhalt ist verfügbar unter der GNU Free Documentation License 1.2.


Finden

Blättern

News

Deutsch
Weitersagen
Bestellen
Tipps für Autoren
Autoren
Impressum


English
Order
Recommendation
The Authors
Contact



Letzte Änderungen
Twitter


Ändern
Seite bearbeiten
Bearbeitungshilfe
Seitenoptionen
Diskussion
Kommentar hinzufügen
Druckversion
Seitendaten
Versionen
Links auf diese Seite
Änderungen an verlinkten Seiten
Meine Seiten
Anmelden
Spezialseiten
Neue Seiten
Dateiliste
Statistik
Kontakt
Mehr …