VMDK, VHDX, VDI: Virtuelle Disks konvertieren mit qemu-img für Windows


    Tags: , , , , ,

    Virtuelle Laufwerke konvertierenAuch wenn VMware und Microsoft die x86-Virtu­ali­sierung dominieren, so gibt es trotz­dem noch mehrere Formate für virtuelle Laufwerke. Sie muss man meist kon­ver­tieren, wenn man VMs auf einen anderen Hyper­visor über­tragen will. Das kosten­lose Qemu-img erledigt diesen Job.

    Die großen Hersteller bieten mächtige Migrations­werkzeuge, mit denen sich VMs im laufenden Betrieb auf andere Plattform migrieren lassen. Bei VMware ist der vCenter Converter dafür zuständig, und Microsoft sieht für diesen Zweck den Virtual Machine Converter vor (dessen Support jedoch im nächsten Jahr eingestellt wird).

    Nur mehr wenige Tools für V2V

    Häufig möchte man aber bloß virtuelle Harddisks von ausgeschalteten VMs in ein anderes Format konvertieren und diese dann in eine neue virtuelle Maschine auf dem Zielsystem einbinden. Dafür sind die beiden genannten Tools zu umständlich und zu wuchtig.

    Von den ehemals zahlreichen kommerziellen Konvertierungs­programmen ist nur der kostenlose Starwind Converter übriggeblieben. Unter Windows schließt nun eine Portierung des Open-Source-Programms qemu-img diese Lücke.

    Support für alle gängige vDisk-Formate

    Das Tool für die Kommandozeile unterstützt alle gängigen Formate für virtuelle Disks, darunter VHD und VHDX von Microsoft, VMDK von VMware und VDI von VirtualBox. Letztere unterstützt zwar ebenfalls mehrere Formate, kann bis dato aber keine VHDX nutzen. Qemu-img kürzt in diesem Fall den Umweg über VHD ab und wandelt VHDX direkt in VDI um.

    Der Parameter --help wirft eine lange Liste an Optionen aus, die qemu-img akzeptiert.

    Wie bei derartigen Programmen üblich, bietet es zahlreiche Befehle und Optionen. Einige davon dienen etwa der Prüfung (Befehl check) von virtuellen Laufwerken oder dem Ausgeben von Informationen (Befehl info) über dieselben. Der Aufruf mit dem Argument --help gibt eine vollständige Liste aus.

    Syntax für Konvertierung

    Die eigentliche Aufgabe des Tools, nämlich das Konvertieren von Images, lässt sich mit einem überschaubaren Aufwand erledigen. Dafür benötigt es die Namen der Quell- und der Zieldatei, Erstere verändert Qemu-img nicht. Sinnvoll ist die Angabe des Ausgangsformats, auch wenn das Tool dieses meistens korrekt erkennt:

    qemu-img.exe convert -f vhdx Nano2016.vhdx -O vmdk -o subformat=streamOptimized Nano2016.vmdk -p

    In diesem Beispiel startet der Befehl convert die Konvertierungs­funktion und der Parameter -f VHDX klärt das Tool über das Format der Quelldatei auf. Deren Name folgt im Anschluss, danach weist -O vmdk das Programm an, eine virtuelle Disk für VMware zu erstellen. Der Schalter -p bewirkt die Ausgabe einer Fortschritts­anzeige, was besonders bei großen Laufwerk hilfreich ist.

    Abhängig vom gewählten Zielformat stehen verschiedene Optionen für Subformat zur Verfügung. Dieses bestimmt den Typ der VMDK oder VHD(X), also bei Microsoft beispiels­weise fixed und dynamic. Wie die jeweiligen Subformate für ein Format lauten und was sie bedeuten, muss man der Dokumentation entnehmen.

    Verfügbarkeit

    Qemu-img ist Open-Source-Software und wurde von Cloudbase Solutions auf Windows portiert. Die Binaries können von der Website der Firma als ZIP-Archiv herunter­geladen werden. Das Tool erfordert keine Installation, sondern wird einfach in einen Ordner entpackt.

    Täglich Know-how für IT-Pros mit unserem Newsletter

    Wir ver­wenden Ihre Mail-Adresse nur für den Ver­sand der News­letter.
    Es erfolgt keine per­sonen­be­zogene Auswertung.

    Bild von Wolfgang Sommergut

    Wolfgang Sommergut hat lang­jährige Erfahrung als Fach­autor, Berater und Kon­ferenz­sprecher zu ver­schie­denen Themen der IT. Da­ne­ben war er als System­ad­mi­ni­stra­tor und Con­sultant tätig.
    // Kontakt: E-Mail, XING, LinkedIn //

    Verwandte Beiträge

    Weitere Links

    1 Kommentar

    Das funktioniert so nicht mehr. Der Dateiname des Ziels muss hinter das große "-O". Beispiel: .... -O vhdx Ziel.vhdx