Cómo Compartir Carpetas entre tu Host y tu Máquina Virtual con Virt-manager

En el desarrollo de software y la administración de sistemas, es muy común la necesidad de sincronizar archivos entre tu máquina anfitriona (host) y una máquina virtual (VM). Copiar y pegar manualmente, o depender de la red, puede ser ineficiente y tedioso. Afortunadamente, Virt-manager ofrece una solución elegante: compartir el sistema de archivos de tu host directamente con la VM.

En este artículo, te guiaré paso a paso para que puedas configurar esta función, permitiendo un flujo de trabajo más ágil y productivo.

Paso 1: Instala el Agente de QEMU en tu VM

El componente clave que hace posible la comunicación entre el host y el invitado es el QEMU Guest Agent (qemu-guest-agent). Este pequeño programa se ejecuta dentro de tu VM y permite que Virt-manager se comunique con ella para tareas como la compartición de archivos.

Para instalarlo en una VM con un sistema operativo basado en Debian o Ubuntu, abre una terminal y ejecuta el siguiente comando:

Bash

sudo apt update
sudo apt install qemu-guest-agent
sudo apt update
sudo apt install qemu-guest-agent

Una vez que la instalación esté completa, reinicia tu máquina virtual para que el servicio se inicie correctamente.

Paso 2: Agrega el Sistema de Archivos Compartido en Virt-manager

Ahora que el agente está activo, vamos a configurar el lado del host.

  1. Apaga completamente tu máquina virtual. Esto es esencial para realizar cambios de hardware sin riesgo.
  2. Abre Virt-manager y selecciona tu VM.
  3. Ve a los Detalles de hardware de la máquina virtual.
  4. En la esquina inferior izquierda, haz clic en el botón “Añadir hardware”.
  5. En la ventana emergente, selecciona “Sistema de archivos” y haz clic en “Finalizar”.

Paso 3: Configura la Carpeta Compartida

Ahora, debes especificar qué carpeta de tu host vas a compartir y cómo se llamará dentro de la VM.

  1. En el panel derecho, en “Modo de origen”, haz clic en “Browse” para navegar y seleccionar la carpeta de tu host que quieres compartir (por ejemplo, ~/Documentos o ~/Proyectos).
  2. En el campo “Modo de destino”, asigna un nombre simple y claro. Este es el nombre que la VM usará para identificar la carpeta. Por ejemplo, shared-folder.

Haz clic en “Aplicar” para guardar la configuración.

Paso 4: Monta la Carpeta dentro de la VM

El último paso es montar la carpeta compartida en un directorio dentro de tu máquina virtual.

  1. Enciende tu VM.
  2. Abre una terminal y crea un directorio donde montarás la carpeta, por ejemplo: Bash sudo mkdir /mnt/sharedsudo mkdir /mnt/shared
  3. Ahora, monta la carpeta con el siguiente comando, usando el nombre de destino que elegiste en el paso anterior: Bash sudo mount -t 9p -o trans=virtio,version=9p2000.L shared-folder /mnt/sharedsudo mount -t 9p -o trans=virtio,version=9p2000.L shared-folder /mnt/shared
    • Nota: El nombre shared-folder debe coincidir exactamente con el nombre que asignaste en Virt-manager.
  4. Para verificar que el montaje fue exitoso, usa el comando ls /mnt/shared. Deberías ver el contenido de la carpeta de tu host.

Si quieres que la carpeta se monte automáticamente cada vez que inicies tu VM, puedes agregar una línea al archivo /etc/fstab.

Conclusión: Un Flujo de Trabajo Más Inteligente

Compartir carpetas entre tu host y tu máquina virtual es una habilidad esencial que te permite trabajar de manera más fluida y eficiente. Te libera de las limitaciones de copiar archivos manualmente y te da un control directo sobre tu entorno de desarrollo. Con Virt-manager, este proceso es sencillo, dándote un gran impulso en tu productividad.