¿Hay alguna forma de reducir la imagen qcow2 sin convertirla en bruto?

Respuestas:

17

La conversión de noop (qcow2-to-qcow2) elimina el espacio escaso:

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

También puede intentar agregar compresión ( -c) a la imagen de salida:

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

Antes de ejecutar el comando anterior, asegúrese de apagar la VM. Una vez que esté satisfecho con el resultado, puede cambiar el nombre de shrunk.qcow2 al nombre original que desee para la configuración de su VM.

SZ Quadri
fuente
3
El indicador -c en qemu-img convert -c -O es para compresión, no para reducir ... y puede disminuir la velocidad del disco ...
Anton Anikin
Sin embargo, esto crea un segundo archivo, por lo que necesita el doble de espacio libre que la imagen. ¿Hay alguna manera de reducirlo en el lugar?
endolito
6

Intente virt-sparsify: rellenará con ceros los bloques no utilizados en la imagen y luego deduplicará los ceros.

dyasny
fuente
Gracias por su respuesta, pero virt-sparsify dijo que no puede cambiar el tamaño de las imágenes de disco y encontré virt-resize de eso, pero parece que todavía necesito asignar espacios para expandir (que no tengo suficientes espacios en mi disco duro). De todos modos, muchas gracias por tu información.
2
@YOU Las versiones actuales de virt-sparsify pueden funcionar in situ sin asignar espacio para una copia completa de la imagen del disco.
Michael Hampton
0

Yo uso virt-sparsify:

virt-sparsify /path/to/source.qcow2 --compress /path/to/output.qcow2
Mohamed Elbahja
fuente