Das „dd“ von RAW-Laufwerken zu LVM ist ineffizient. Gibt es einen besseren Weg?

Das „dd“ von RAW-Laufwerken zu LVM ist ineffizient. Gibt es einen besseren Weg?

Ich habe eine Proxmox-Installation. Ich möchte eine VMDK in eine LVM importieren und das Verfahren ist:

$ qemu-img convert -p -f vmdk "IE11 - Win7-disk1.vmdk" -O raw "IE11 - Win7-disk1.raw"

und dann:

$ dd if="IE11 - Win7-disk1.raw" bs=1M|pv| dd of=/dev/mapper/pve-vm--103--disk--1

Und das funktioniert gut.

Auf einem 127 GB großen virtuellen Laufwerk befinden sich jedoch 8,8 GB Daten:

$ qemu-img info "IE11 - Win7-disk1.raw"
image: IE11 - Win7-disk1.raw
file format: raw
virtual size: 127G (136365211648 bytes)
disk size: 8.8G

Und wenn ich das RAW-Laufwerk mit „dd“ ausführe, sehe ich, dass 127 GB kopiert wurden, obwohl nur 8,8 GB davon von Bedeutung sind. Und das ist quälend langsam.

Gibt es einen besseren Weg?

Antwort1

Ein schnellerer Weg ist, nicht zu verwendendd

pv < "IE11 - Win7-disk1.raw" > /dev/mapper/pve-vm--103--disk--1

Am schnellsten geht es über catdie direkte

cat "IE11 - Win7-disk1.raw" > /dev/mapper/pve-vm--103--disk--1

Ihr Aufruf von ddverwendete 512-Byte-Blöcke, was zu zwei Systemaufrufen pro KB oder ~2000 pro MB führen würde. Mit catkommen Sie wahrscheinlich mit einem pro MB aus.

Antwort2

Ich habe von XenServer zu Proxmox migriert und diese Lösung gefunden.

Holen Sie sich zunächst eine qcow2-Datei, falls Sie diese noch nicht haben (möglicherweise müssen Sie hier einen anderen Befehl verwenden, wenn Ihre Quelldatei kein Raw-Disk-Image ist. Wichtig ist, dass Sie als Ergebnis eine qcow2-Datei erhalten).

qemu-img convert rawimage.img -O qcow2 thinimage.qcow2

Konvertieren Sie das qcow2-Bild in RAWSparse-Datei:

qemu-img convert -p -f qcow2 -O raw -t none -T none thinimage.qcow2 rawsparce.raw

Schreiben Sie die Sparse-Datei in das Thin-Level der VM:

dd if=rawsparce.raw of=/dev/mapper/pve-vm--100--disk--1 bs=8M conv=sparse status=progress

Antwort3

Das RAW-Format unterstützt nur die Vorabzuweisung, deshalb erhalten Sie bei der Konvertierung per die Festplatte in voller Größe qemu-img.

Versuchen Sie, vmdkdie Bilddatei in qcow2ein Format zu konvertieren, das ohne Vorzuweisung funktioniert.

verwandte Informationen