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.

VOCÊ
fonte

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.

SZ Quadri
fonte
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.

dyasny
fonte
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
Mohamed Elbahja
fonte