qemu, kvm, xen & libvirtHauptseite | Über | Hilfe | FAQ | Spezialseiten | Anmelden

Druckversion | Impressum | Datenschutz

qemu-img convert create commit info qcow2 vmdk, sparse file, sheepdog, qed

(Link zu dieser Seite als [[QEMU-KVM-Buch/ Anhang/ qemu-img]])

<<<|###| >>> | English


Inhaltsverzeichnis

[bearbeiten] qemu-img

qemu-img ist ein Tool zum Generieren und Konvertieren von Image-Dateien.

Host ~$ qemu-img command [options]
-h

Zeigt eine Hilfestellung an.

Für command können folgende Befehle mit den entsprechenden Optionen verwendet werden.

[bearbeiten] check

Host ~$ qemu-img check [-f fmt] filename

Überprüft eine Image-Datei (filename). Optional kann das Format mit -f angegeben werden. Derzeit werden nur die Formate qcow2, qed und vdi unterstützt.

[bearbeiten] create

Host ~$ qemu-img create [-e] [-6] [-F base_fmt] [-b base_image] \ 
        [-f fmt] [-o options] filename [size]

Generiert ein Image mit dem Dateinamen filename und der Größe size.

filename

Name der zu generierenden Image-Datei.

size

Definiert die Größe der Image-Datei 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. Wird die Größe der Image-Datei mit der Option -o vorgegeben, entfällt die Größenangabe mit size.

-f fmt

Definiert das Format der Image-Datei.

-e

Verschlüsselt das Image. Dies ist nur beim qcow- und qcow2-Format möglich. 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.

-6 

Erzwingt beim vmdk-Format den Kompatibilitäts-Level 6 für die Ziel-Imagedatei.

-b base_image

Wird mit base_image eine vorhandene Image-Datei angegeben, dann speichert das generierte Image nur die Unterschiede zu dieser vorhandenen Image-Datei. Das generierte Image nennt man Overlay-Datei. Eine Größenangabe ist für die Overlay-Datei nicht erforderlich. Das Basis-Image (base_image) wird nicht verändert, solange kein commit eingegeben wurde.

-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.

-o options

Ermöglicht die Angabe von weiteren Optionen. Das Format ist name=value. Mehrere Optionen werden mit Kommas getrennt. Mit -o ? erhält man eine Liste der unterstützten Optionen.

Host ~$ qemu-img create -o ? 
Supported options:
size             Virtual disk size

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.

[bearbeiten] convert

Host ~$ convert [-c] [-e] [-6] [-f fmt] [-O output_fmt] [-o options]  \'''
        [-B output_base_image] filename [filename2 [...]] output_filename '''

Kopiert ein Image in ein neues Image mit einem anderen Format.

filename

Name der Quell-Datei.

output_filename

Name der zu generierenden Image-Datei.

-f fmt 

Gibt das Format der Quell-Datei an. In der Regel erkennt qemu-img das Format. Deshalb ist diese Angabe oft nicht notwendig.

-O output_fmt

Definiert das Ziel-Format.

-B output_base_image

Es ist möglich ein Base-Image mit dem identischen Inhalt in das Image output_base_image zu kopieren. Der Pfad, das Image-Format und anderes können in der Datei base_image gegenüber dem Original geändert werden.

-c

Ermöglicht Kompression beim qcow- und qcow2-Format. Werden nach dem Komprimieren Sektoren neu geschrieben, sind diese nicht komprimiert.

-e

Ermöglicht Verschlüsselung beim qcow- und qcow2-Format. 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.

-6 

Erzwingt beim vmdk-Format den Kompatibilitäts-Level 6 für die Ziel-Imagedatei.

-o options

Ermöglicht die Angabe von weiteren Optionen. Das Format ist name=value. Mehrere Optionen werden mit Kommas getrennt. Mit -o ? erhält man eine Liste der unterstützten Optionen.

Host ~$ qemu-img convert -o ? Datei.img KonvertierteDatei.img
Supported options:
size             Virtual disk size

Ab QEMU 1.0 wird folgende Syntax unterstützt:

Host ~$ qemu-img convert [-c] [-p] [-f fmt] [-t cache] [-O output_fmt] [-o options] \ 
        [-s snapshot_name] [-S sparse_size] 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).

-p

Zeigt Fortschritte in Prozent an.

-t none|writethrough|writeback|directsync|unsafe

Die Option -t kann auf none, writeback (Default), writethrough 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. 'directsync entspricht writethrough mit dem Unterschied, dass der Host-Page-Cache vermieden wird. Schreibbestätigungen werden direkt zum Gast-System gesendet. 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 kann 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.

-S size

Enthält eine Image-Datei fortlaufende Blöcke, die nur Nullen enthalten, kann es in eine Sparse-Datei konvertiert werden. Hinter -S ist dazu eine Mindestgröße für die Null-Blöcke in Bytes anzugeben. Dieser Wert wird auf das nächste Vielfache von 512 Byte gerundet. Optional können die Suffixes, wie zum Beispiel k für kByte, angegeben werden.

snapshot_name

Definiert den Namen des Snapshots. Dieser kann angelegt, zugewiesen oder gelöscht werden.

[bearbeiten] commit

Host ~$ commit [-f fmt] [-t cache] filename

Speichert Änderungen in das Base-Image.

-f fmt 

Gibt das Format des Images an.

-t none|writethrough|writeback|unsafe

Die Option -t kann auf none, writeback (Default), writethrough 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 kann 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.

filename

Name der Image-Datei.

[bearbeiten] snapshot

Host ~$ snapshot [-l | -a snapshot | -c snapshot | -d snapshot] filename

Verwaltet VM-Snapshots.

snapshot

Ist der Name des VM-Snapshots.

-a snapshot

Den Zustand des angegebenen VM-Snapshot snapshot wiederherstellen.

-c snapshot

Anlegen eines VM-Snapshots mit dem Namen snapshot.

-d snapshot

Löschen des VM-Snapshots mit den Namen snapshot.

-l

Auflisten aller VM-Snapshots eines Images.

filename

Name der Image-Datei.

[bearbeiten] info

Host ~$ info [-f fmt] filename

Zeigt Informationen (Größe, VM-Snapshots, ...) zu einem Image an.

-f fmt 

Gibt das Format des Images an.

filename

Name der Image-Datei.

[bearbeiten] rebase

Host ~$ qemu-img rebase [-f fmt] [-t cache] [-p] [-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. Dies ist nur mit den Image-Formaten qcow2 und qed möglich. Per Default muss 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.

-t none|writethrough|writeback|unsafe

Die Option -t kann auf none, writeback (Default), writethrough 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 kann 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.

-p

Zeigt Fortschritte in Prozent an.

-u

Es gibt zwei Modi, den abgesicherten Modus (Safe) und den unsicheren Modus (Unsafe). Der abgesicherte Modus ist der Standard-Modus und führt ein echtes rebase durch. Dabei kann sich das alte vom neuen Image unterscheiden. Dem Gast-System werden die gleichen Inhalte wie vor dem rebase zur Verfügung gestellt. Um dies sicherzustellen werden alle unterschiedlichen Cluster des alten und neuen Image zusammengefügt. Diese Operationen sind sehr zeitintensiv.
Der unsichere Modus wird mit -u aktiviert. Dabei wird davon ausgegangen, dass das alte und das neue Basis-Image exakt übereinstimmen. Die Image-Dateien werden dabei nicht überprüft. Die alte Image-Datei braucht bei diesem Modus nicht zur Verfügung zu stehen. Der unsichere Modus ist bei der Umbenennung oder Verschiebung des Basis-Images sinnvoll.

-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 ein 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 und Protokolle

[bearbeiten] raw

Das raw-Format ist das Default-Format. Es ist einfach aufgebaut und lässt sich leicht konvertieren. Wird ein neues, leeres Image im raw-Format in einer bestimmten Größe, zum Beispiel 10 GByte erzeugt, belegt es bei älteren Dateisystemen genau diese Größe (hier 10 GByte). Neuere Dateisysteme unterstützen eine effektivere Verwaltung von Dateien, die unbelegte Blöcke enthalten. Solche Dateien belegen in diesen Dateisystemen etwa nur den Platz, den sie an Blöcken belegen. Eine Datei mit unbelegten Blöcken heißt Sparse-Datei. Images im Format raw können als Sparse-Dateien angelegt werden. Es werden folgende Optionen von qemu-img (-o) unterstützt:

     size=value
Definiert die Größe der Image-Datei in Kilobyte.

[bearbeiten] qed

Mit QEMU 0.14 wurde das QEMU Enhanced Disk Format (qed) eingeführt. Es bietet weniger Funktionen als qcow2, aber ermöglicht aber wesentlich schnellere Zugriffe und sorgt für bessere Datenintegrität. Wie qcow2 unterstützt qed Overlay-Dateien und Sparse-Images. Verschlüsselung und Kompression sind nicht vorgesehen. Es werden folgende Optionen von qemu-img (-o) unterstützt:

     size
Definiert die virtuelle Größe der Image-Datei in Byte.
     backing_file=filename
Dateiname des Basis-Image (siehe qemu-img create).
     backing_fmt=fmt
Image-Format des Basis-Image (siehe qemu-img create).
     cluster_size=value
Ä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.
     table_size=value
Größe der L1/L2-Tabelle in Clustern.

[bearbeiten] qcow2

Das Format qcow2 ist das vielseitigste Format und löst das alte Format qcow ab. Images im qcow2-Format sind dynamisch. Ihre Größe hängt von ihrem Füllstand ab. Beim Format qcow2 ist die Dateigröße unabhängig davon, ob das Dateisystem eine effiziente Verwaltung von Sparse-Dateien unterstützt. qcow2 unterstützt das mehrfache Abspeichern von Systemzuständen der virtuellen Maschine (VM-Snapshots). Außerdem ist Verschlüsselung (AES) und Kompression (zlib) möglich. Bei qcow2 wird der Inhalt in Clustern gespeichert. Jedes Cluster enthält eine Anzahl von 512 Byte großen Sektoren. Es werden folgende Optionen von qemu-img (-o) unterstützt:

     size=value
Definiert die Größe der Image-Datei in Kilobyte.
     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
encryption=on 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=value
Ä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.

[bearbeiten] qcow

qcow ist das alte QEMU-Image-Format. Images im qcow-Format sind dynamisch. Ihre Größen hängen von deren Füllstand ab. Bei qcow hängt die Dateigröße nicht davon ab, ob das Dateisystem eine effiziente Verwaltung von Sparse-Dateien erlaubt. Weiterhin unterstützt qcow Verschlüsselung und Kompression. Es werden folgende Optionen von qemu-img (-o) unterstützt:

     size=value
Definiert die Größe der Image-Datei in Kilobyte.
     backing_file=filename
Siehe qcow2.
     encryption=on|off
Siehe qcow2.

[bearbeiten] cow

Das alte Format Copy-on-Write ist nur noch aufgrund der Kompatibilität mit älteren QEMU-Versionen vorhanden. Es funktioniert nicht unter Microsoft Windows. Es werden folgende Optionen von qemu-img (-o) unterstützt:

     size=value
Definiert die Größe der Image-Datei in Kilobyte.
     backing_file=filename
Dateiname des Basis-Image (siehe qemu-img create).

[bearbeiten] vmdk

vmdk ist das Standardformat von VMware Workstation. Es werden folgende Optionen von qemu-img (-o) unterstützt:

     size=value
Definiert die Größe der Image-Datei in Kilobyte.
     backing_fmt=fmt
Siehe qcow2.
     compat6=on|off
compat6=on erzwingt beim vmdk-Format den Kompatibilitäts-Level 6 für die Ziel-Imagedatei. Per Default ist dies 4.

[bearbeiten] vdi

vdi ist das Standardformat von VirtualBox. Es werden folgende Optionen von qemu-img (-o) unterstützt:

     size=value
Definiert die Größe der Image-Datei in Kilobyte.
     static=on|off
Mit static=on wird ein statisches (pre-allocated) VDI-Image generiert. === nbd ===

Mit dem NBD-Protokoll (Network Block Device) werden Images über das Netzwerk bereitgestellt (siehe http://qemu-buch.de/d/Speichermedien/_Network_Block_Devices).

[bearbeiten] parallels

parallels ist das Standardformat der Virtualisierungslösungen der Firma Parallels, Inc.

[bearbeiten] vpc

vpc ist das Standardformat für Images von Microsoft Virtual PC. Es werden folgende Optionen von qemu-img (-o) unterstützt:

     size=value
Definiert die Größe der Image-Datei in Kilobyte.

[bearbeiten] bochs

bochs ist das Format des freien x86- und AMD64-Emulators Bochs.

[bearbeiten] cloop

Das Format Compressed Loop wird für komprimierte CD-ROM-Images verwendet, beispielsweise für Knoppix-CD/DVD-ROMs.

[bearbeiten] dmg

dmg ist ein Speicherabbild-Datenformat unter Mac OS X und dient meist zur Verteilung von Software über das Internet. Diese Images können unkomprimiert oder komprimiert sein. Unkomprimierte dmg-Dateien können direkt von qemu-img gelesen werden. Komprimierte dmg-Dateien können mit dem Tool dmg2img entpackt werden.

[bearbeiten] file

Entspricht dem raw-Format. Es werden folgende Optionen von qemu-img (-o) unterstützt:

     size=value
Definiert die Größe der Image-Datei in Kilobyte.

[bearbeiten] vvfat

Mit vvfat sind virtuelle FAT-Festplatten gemeint.

[bearbeiten] 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.

[bearbeiten] host_cdrom

Für CD/DVDs im Host-System, ist das Format host_cdrom anzuwenden.

[bearbeiten] host_floppy

Für Disketten im Host-System, ist das Format host_floppy anzuwenden.

[bearbeiten] tftp, ftps, ftp, https, http

Diese Formate werden bei Images angewendet, die über ein Internet-Protokoll bereit gestellt werden.

[bearbeiten] sheepdog

Sheepdog (http://qemu-buch.de/d/Speichermedien/_Sheepdog) ist ein Distributed Storage System für QEMU. Es bietet hochverfügbare Storage-Volumen auf Blockebene für virtuelle Maschinen unter QEMU. Das heißt, der Speicherplatz für die virtuellen Festplatten wird auf mehrere Sheepdog-Server (Nodes) gespiegelt. Sheepdog skaliert bis zu hunderten Nodes und unterstützt erweiterte Volumen-Management-Funktionen wie Snapshots, Cloning und Thin Provisioning. Die allgemeine Syntax für das Anlegen von Images ist folgende:

Host ~$ qemu-img create sheepdog:hostname:port:image size

Hier die Syntax für das Starten eines Gast-Systems von einem Sheepdog-Image:

Host ~$ qemu sheepdog:hostname:port:image

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

     size=value
Definiert die Größe der Image-Datei in Kilobyte.
     backing_file=filename
Dateiname des Basis-Image (siehe qemu-img create).

[bearbeiten] blkdebug

blkdebug ist ein Block-Treiber und ein Protokoll für I/O-Fehler-Injektionen.

[bearbeiten] blkverify

blkverify ist ein Protokoll zum Testen von Block-Treibern. Das Problem beim Debuggen ist, das durch Lesefehler des Block-Treibers dieser selbst beeinträchtig wird. blkverify löst dieses Problem in dem die Lesefehler innerhalb von QEMU abgefangen und die entsprechenden Sektoren als korrupt gemeldet werden. Das Protokoll blkverify besitzt dazu zwei Child-Block-Devices. Zum einen ist es das Test-Device und zum anderen das Raw-Device. Lese- und Schreibvorgänge werden parallel auf beiden Devices ausgeführt und die Ergebnisse verglichen. Das Raw-Image verarbeitet die Lese- und Schreibvorgänge korrekt und dient als Referenz für das Test-Image. Nach jedem Lese- und Schreibvorgang vergleicht blkverify die Daten und meldet Abweichungen als korrupte Daten.

<<<|###| >>> http://qemu-buch.de

Von „http://qemu-buch.de/de/index.php?title=QEMU-KVM-Buch/_Anhang/_qemu-img

Diese Seite wurde bisher 63.192 mal abgerufen. Diese Seite wurde zuletzt am 21. November 2011 um 19:04 Uhr geändert. Inhalt ist verfügbar unter der GNU Free Documentation License 1.2.


Finden

Blättern

News

Deutsch
Weitersagen
Tipps für Autoren
Autoren
Impressum


English
Recommendation
The Authors
Contact



Letzte Änderungen


Ä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 …