Saltar a contenido

07.-Compresión de imágenes

¿Qué es virt-sparsify?

virt-sparsify es una herramienta de la suite de virtualización libguestfs en Linux que se utiliza para reducir el tamaño de las imágenes de disco virtual, como las imágenes en formato QCOW2 o RAW. Esto se hace eliminando los bloques vacíos o no utilizados en el disco, optimizando así el espacio que ocupa la imagen en almacenamiento.


¿Por qué usar virt-sparsify?

En entornos de virtualización, las imágenes de disco pueden contener bloques vacíos debido a archivos eliminados o a la expansión del sistema de archivos. Estos bloques vacíos ocupan espacio en el almacenamiento físico. virt-sparsify permite optimizar las imágenes eliminando estos bloques y creando una imagen "esparcida" que ocupa menos espacio en disco.


Instalación

Puedes instalar virt-sparsify, una herramienta de la suite libguestfs, mediante el paquete libguestfs-tools mediante:

sudo apt install libguestfs-tools

o bien en Arch con

sudo pacman -S guestfs-tools

Uso Básico

La sintaxis básica del comando virt-sparsify es:

virt-sparsify <imagen-entrada> <imagen-salida>
  • <imagen-entrada>: La imagen original del disco virtual.
  • <imagen-salida>: La imagen optimizada (se recomienda especificar una nueva imagen para evitar sobrescribir la original).

Ejemplo Básico

virt-sparsify disk.qcow2 disk-sparse.qcow2

En este ejemplo, virt-sparsify toma disk.qcow2 como imagen de entrada y crea una nueva imagen optimizada llamada disk-sparse.qcow2 que ocupa menos espacio.


Opciones Útiles

  1. --compress
  2. Comprime la imagen de salida. Esto es útil si deseas reducir aún más el tamaño del archivo.

bash virt-sparsify --compress disk.qcow2 disk-sparse.qcow2

  1. --check-tmpdir
  2. Permite especificar un directorio temporal (en lugar del predeterminado /tmp). Esto es útil si no tienes suficiente espacio en /tmp.

bash virt-sparsify --tmp /ruta/a/tmpdir disk.qcow2 disk-sparse.qcow2

  1. --in-place
  2. Realiza la optimización en la misma imagen sin crear una nueva imagen de salida. Nota: Usar esta opción puede ser riesgoso, ya que modifica la imagen original.

bash virt-sparsify --in-place disk.qcow2

  1. --format
  2. Especifica el formato de la imagen de salida, útil si virt-sparsify no detecta correctamente el formato.

bash virt-sparsify --format qcow2 disk.qcow2 disk-sparse.qcow2


Consideraciones Importantes

  • Requisitos de Espacio Temporal: virt-sparsify necesita espacio adicional para procesar el archivo. Si tu sistema carece de suficiente espacio en /tmp, usa la opción --check-tmpdir para especificar otra ubicación.

  • Soporte de Formato: Este comando funciona con muchos formatos de disco virtual, como QCOW2, RAW, VMDK, entre otros. Sin embargo, revisa la compatibilidad con tu sistema de virtualización.

  • Acceso de Root: Para utilizar virt-sparsify, generalmente necesitas permisos de administrador.


Ejemplo Completo de Uso

Imaginemos que tienes una imagen de disco vm-disk.qcow2 que quieres optimizar:

virt-sparsify --compress --format qcow2 vm-disk.qcow2 vm-disk-sparse.qcow2

Este comando creará una imagen optimizada y comprimida en formato QCOW2, que debería ocupar menos espacio en disco.


Resumen

  • virt-sparsify es ideal para reducir el tamaño de las imágenes de disco eliminando bloques vacíos.
  • Se recomienda hacer una copia de la imagen de entrada y usar una imagen de salida separada.
  • Usa opciones como --compress para reducir aún más el tamaño o --in-place para realizar cambios directamente en la imagen.

Este comando es útil para liberar espacio en el almacenamiento sin afectar el contenido o la funcionalidad de la imagen de disco virtual.