Existe alguma maneira de reduzir a imagem qcow2 sem convertê-la crua?


12

Existe alguma maneira de reduzir a imagem qcow2 sem convertê-la crua?

Não consigo convertê-lo em bruto, porque não tenho espaço em disco suficiente para a imagem bruta.

Respostas:


17

A conversão de Noop (qcow2-para-qcow2) remove o espaço esparso:

qemu-img convert -O qcow2 source.qcow2 shrunk.qcow2

Você também pode tentar adicionar compressão ( -c) à imagem de saída:

qemu-img convert -c -O qcow2 source.qcow2 shrunk.qcow2

Antes de executar o comando acima, desligue a VM. Depois de ficar satisfeito com o resultado, você pode renomear shrunk.qcow2 para o nome original que sua configuração de VM deseja.


3
a opção -c no convertido qemu-img -c -O é para a compressão, não encolher ... e ele pode diminuir a velocidade do disco ...
Anton Anikin

Isso cria um segundo arquivo, portanto, você precisa do dobro do espaço livre da imagem? Existe uma maneira de reduzi-lo no lugar?
endolith

6

Experimente virt-sparsify- ele preencherá os blocos não utilizados da imagem e desduplicará os zeros.


Obrigado pela resposta, mas o virt-sparsify disse que não pode redimensionar imagens de disco e achei o virt-redimensionar disso, mas parece que ainda preciso alocar espaços para expandir (que não tenho espaço suficiente no disco rígido). De qualquer forma, muito obrigado por você informações.
VOCÊ

2
As versões atuais do virt-sparsify podem funcionar no local sem alocar espaço para uma cópia completa da imagem do disco.
Michael Hampton

0

Eu uso virt-sparsify:

virt-sparsify /path/to/source.qcow2 --compress /path/to/output.qcow2
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.