'dd' unidades brutas para lvm são ineficientes. Existe uma maneira melhor?

'dd' unidades brutas para lvm são ineficientes. Existe uma maneira melhor?

Eu tenho uma instalação do proxmox. Gostaria de importar um vmdk para um lvm e o procedimento é:

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

e então:

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

E isso funciona bem.

Mas há 8,8 GB de dados em uma unidade virtual de 127 GB:

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

E quando eu "adiciono" a unidade bruta, vejo 127 GB copiados quando apenas 8,8 G deles importam. E isso é meticulosamente lento.

Existe uma maneira melhor?

Responder1

Uma maneira mais rápida é não usardd

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

O mais rápido é usar catdiretamente

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

Sua invocação ddestava usando blocos de 512 bytes, o que resultaria em duas leituras de chamadas de sistema por KB, ou aproximadamente 2.000 por MB. Com catvocê provavelmente conseguirá um por MB.

Responder2

Eu estava migrando do XenServer para o Proxmox e descobri essa solução.

Primeiro, obtenha um arquivo qcow2 se ainda não o tiver (pode ser necessário usar um comando diferente aqui se o arquivo de origem não for uma imagem de disco bruta, o importante é obter um arquivo qcow2 como resultado)

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

Converta a imagem qcow2 em rawarquivo esparso:

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

Grave o arquivo esparso no thin lv da VM:

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

Responder3

O formato RAW suporta apenas pré-alocação, é por isso que você obteve um disco de tamanho normal ao converter em qemu-img.

Tente converter vmdko arquivo de imagem para qcow2o formato, que pode funcionar sem pré-alocação.

informação relacionada