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

1

Eu tenho uma instalação 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 depois:

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

E isso funciona bem.

Mas existem 8,8 GB de dados em um disco 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 "dd" a unidade raw vejo 127GB copiados quando apenas 8.8G deles importam. E isso é meticulosamente lento.

Existe uma maneira melhor?

    
por mist 13.10.2016 / 23:42

3 respostas

3

Uma maneira mais rápida é não usar dd

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

O mais rápido é usar cat diretamente

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

Sua chamada de dd estava usando blocos de 512 bytes, o que resultaria em duas leituras de sistema por KB ou ~ 2000 por MB. Com cat você provavelmente conseguirá um com MB.

    
por 14.10.2016 / 00:08
1

O formato RAW é compatível apenas com pré-alocação, por isso você adquiriu um disco de tamanho integral quando converteu qemu-img .

Tente converter o arquivo de imagem vmdk em qcow2 format, que pode funcionar sem pré-alocação.

    
por 14.10.2016 / 17:41
1

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

Primeiro, pegue um arquivo qcow2 se você ainda não o tiver (Você pode precisar usar um comando diferente aqui se o seu 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

Esconda a imagem qcow2 para o arquivo esparso :

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

Grave o arquivo esparso no lv fino da VM:

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

Tags