Saltar al contenido principal

Configuración de VM

Setting up a VM on Unraid is a flexible way to run full operating systems - such as Windows, Linux, or other platforms - alongside your containers and native apps. Whether you want to test new software, run legacy applications, host a desktop environment, or utilize hardware passthrough for gaming or creative work, Unraid's VM Manager makes the process approachable for all skill levels.

New en Unraid 7.0

Unraid 7.x brings significant enhancements to VMs, including:

  • Clones de VM y instantáneas
  • Plantillas de VM creadas por el usuario
  • Edición/visualización de XML en línea
  • Características avanzadas de compartición de GPU y paso a través

Consulte la sección de características del administrador de VM para más detalles.

Con su sistema preparado y preferencias configuradas, puede crear una nueva máquina virtual (VM) utilizando el WebGUI.

Creando sus propias máquinas virtuales

With your system prepared and preferences set, you can create a new VM using the WebGUI.

Before comienza
  • Haga clic en Agregar VM en la página de Máquinas Virtuales.
  • Suba su ISO de instalación del sistema operativo y, para VMs de Windows, los controladores VirtIO más recientes al compartido isos.
  • Decide si usarás GPU passthrough o VNC para gráficos.

Para crear una VM básica:

  1. Haga clic en Agregar VM en la página de Máquinas Virtuales.
  2. Establezca la Plantilla en Personalizada, o seleccione una plantilla de SO predefinida para distribuciones comunes.
  3. Ingrese un Nombre y, opcionalmente, una Descripción para su VM.
  4. Activa Inicio automático si desea que la VM se inicie automáticamente con el array.
  5. Selecciona el tipo de Sistema Operativo. Esto también ajustará el icono VM.
  6. Asigna núcleos de CPU a la VM. Puedes asignar hasta el número de núcleos físicos disponibles en tu anfitrión.
  7. Especifica la Memoria Inicial (RAM) para la VM. Consulta la documentación de tu sistema operativo invitado para obtener valores recomendados.
  8. Elija el ISO de instalación del SO desde su compartido isos.
  9. Configure el vDisco primario (ubicación, tamaño y tipo).
    • El vDisco primario almacena el sistema operativo de la VM.
    • Agregue vDiscos vDisks adicionales según sea necesario utilizando el signo de suma.
  10. Seleccione una Tarjeta gráfica:
    • Elija VNC para acceso remoto o seleccione una GPU física para paso a través.
    • Asigne un teclado/ratón USB si usa una GPU física.
    • Configure una contraseña de VNC si lo desea.
  11. Asigne una Tarjeta de sonido (opcional, pero necesario para audio HDMI a través de GPU).
  12. Asigne Dispositivos USB según sea necesario.
    • Los dispositivos deben estar conectados antes de iniciar la VM (el enchufe caliente USB no es compatible).
    • El dispositivo flash USB de Unraid no está disponible para asignación.
  13. Haz clic en Crear VM. La VM se iniciará automáticamente a menos que desmarques Iniciar VM después de la creación.

Plantillas de VM de usuario

Unraid 7.1+ introduce plantillas de usuario VM, facilitando el guardado y reutilización de tus configuraciones personalizadas de VM. Las plantillas de usuario agilizan el despliegue de VM y aseguran la consistencia en las configuraciones.

Para crear una plantilla de usuario:

  1. Edite la VM que desea convertir en plantilla.
  2. Seleccione Crear/Modificar plantilla e ingrese un nombre.
  3. Su plantilla ahora estará disponible en el área de plantillas de usuario en la pantalla Agregar VM.

Para usar una plantilla de usuario:

  • On the VMs page, click Add VM and select your template from the User Templates section.

Importar/exportar:

  • Pase el cursor sobre una plantilla de usuario y haga clic en la flecha para exportarla a su servidor o descargarla.
  • En otro sistema Unraid, use Importar desde archivo o Cargar para añadir la plantilla.

Nuevo en Unraid 7.x: Administrador de VM

Unraid 7.x introduces a range of powerful enhancements to the VM Manager, streamlining the process of running and managing VMs. These features cater to beginners and advanced users, making deploying, customizing, and optimizing your VMs simpler.

:::tip[Highlights]

  • Ahorre tiempo con los clones, instantáneas y plantillas reutilizables de VM
  • Ajuste el rendimiento y la compatibilidad con opciones avanzadas de paso y almacenamiento
  • Disfrute de una mejor visibilidad y control con estadísticas de uso y edición de XML en línea

:::

Gráficos mejorados y compartición de GPU
  • VM clones & snapshots: Duplicate VMs or quickly save/restore their state for testing or backup.
  • User VM templates: Save your custom VM configurations and deploy new VMs with just a few clicks.
  • Vista/edición de XML en línea: Vea o copie instantáneamente el XML generado por el WebGUI; cambie al modo XML para ediciones avanzadas.
  • Desactivación del inicio automático: Elija qué VMs se inician automáticamente con su array.
  • Opciones de configuración de temporizador/desplazamiento
Mejoras del flujo de trabajo
  • Multifunción PCI/otros: Asigne dispositivos PCI complejos o grupos para escenarios avanzados de paso directo.
  • Comando de paso QEMU en línea: Agregue argumentos QEMU personalizados para ajuste experto de VM.
  • Sobrescribir almacenamiento: Especifique la ubicación de almacenamiento para cada disco virtual de la VM.
  • Bandera SSD y unmap: Optimice el rendimiento de vDisco para SSD y habilite el soporte discard/unmap.
  • SR-IOV para Intel iGPU: Comparta gráficos integrados de Intel entre múltiples VMs.
  • Validación de nombres de VM para ZFS: Evite el uso de caracteres no compatibles en los nombres de VM para pools ZFS.
Opciones avanzadas de hardware y almacenamiento
  • VirGL y QXL GPUs virtuales: Comparta GPUs Intel/AMD entre múltiples VMs de Linux o utilice QXL para opciones de multi-pantalla/memoria.
  • %%CPU encajamiento | cpu-pinning%% opcional: Permite que Unraid gestione la asignación de CPU automáticamente o ponga núcleos manualmente según sea necesario.
Gráficos mejorados y compartición de GPU
  • View all graphics cards and VM-assigned IP addresses in the VM tab
  • Soporte para objetivo ppc64 de QEMU y qemu:override
  • Soporte de hiper-reloj para VMs de Windows
  • "Migratable" activado/desactivado para la CPU emulada
  • Opciones de configuración de temporizador/desplazamiento
  • No hay opciones de keymap/nogpu disponibles para casos de uso específicos
  • Mejorada la selección y edición de iconos de VM
  • Advertencias al asignar la GPU primaria como paso a través (puede requerir vBIOS)
  • Inicie las VMs de Unraid en modo GUI con el controlador de video QXL
  • Varias correcciones para problemas de ruta e icono en la vista XML

VM snapshots

VM snapshots allow you to save the current state of your VM at a specific point in time. You can revert to that state if something goes wrong or use snapshots to test changes safely. This is particularly useful before installing new software, making configuration changes, or performing system updates.

How VM snapshots work

When you create a snapshot, Unraid generates an "overlay file" that captures all changes made to your VM after that point. You can think of it like this:

  • Original VM disk: This represents your VM's current state (similar to a photograph).
  • Snapshot overlay: This is a separate file that records all changes made after the snapshot (like a list of edits).
  • VM continues running: Your VM uses both the original disk and the overlay file together.

This setup allows you to create multiple snapshots, with each one generating its own overlay file. This means you can easily revert to any previous state.

Example scenario:

  1. You create a snapshot called "Clean Windows Install."
  2. You install some software and make changes.
  3. You create another snapshot called "After Software Install."
  4. You can now revert to either the clean install or the state after the software installation.
  5. You can also use Block Commit or Block Pull to make changes permanent.

To create a snapshot of your VM:

  1. Go to the VMs page in the WebGUI.
  2. Click on the VM name to expand its details.
  3. Look for the Snapshots section and click Create Snapshot.
  4. Enter a descriptive name for your snapshot (for example, "Before Windows Update" or "Clean Install State").
  5. Memory dump option: In current Unraid builds, the "Memory dump" checkbox is not preselected by default. Checking it includes the VM's RAM for a full memory-backed snapshot (captures the live running state, but is larger and slower to create/restore). Leaving it unchecked creates a disk-only, crash-consistent snapshot (smaller and faster, but any unsaved in-memory data will be lost). Choose based on whether you need full live state preservation or just disk recovery.
  6. Click Create to save the snapshot.
Best prácticas
  • Create snapshots before making significant changes to your VM.
  • Use descriptive names that help you remember what the snapshot contains.
  • Choose Memory dump based on your needs: enable it for full live state preservation, or leave it off for faster disk-only recovery.
  • Keep snapshots for important milestones, but delete old ones to save storage space.

Snapshot storage

Snapshots use storage space on your system. Each snapshot saves only the differences between the current state and the snapshot state; however, these differences can still accumulate over time.

Here are some points to consider:

  • QCOW2 disks support snapshots and work well with this feature.
  • Storage location: Snapshots are stored with your VM files, so make sure you have enough space on your cache pools or array.

Snapshot storage location:

  • Snapshot metadata is stored in /etc/libvirt/qemu/snapshotdb/VM_name/.
  • Actual snapshot data is stored alongside your VM files on cache pools or array.
Advanced snapshot concepts

For more detailed technical information about how VM snapshots work, including block diagrams and advanced scenarios with multiple snapshots, see the QEMU snapshots documentation.

Common use cases
  • Before system updates: Create a snapshot before installing Windows updates or Linux package updates. If something goes wrong, you can quickly revert to a previous version.
  • Testing software: Install new applications or make configuration changes. If you're not satisfied with the results, revert to your clean VM snapshots from before the changes.
  • Development work: Create snapshots at different stages of your project. This lets you experiment freely and return to known good states.
  • Backup strategy: While not a replacement for proper backups, snapshots provide quick recovery for recent changes.

Uso de GPUs virtuales y compartición de GPU

Unraid ahora admite el compartimiento avanzado de GPU a través de VirGL y QXL para VMs de Linux (y algunas GPUs Nvidia con el controlador Nouveau).

  • Para usar VirGL: establezca Tarjeta Gráfica en Virtual y Controlador de video de la consola VM en VirtIO(3D).
  • Para usar QXL: establezca Tarjeta Gráfica en Virtual y Controlador de video de la consola VM en QXL (mejor).
  • VirGL no se emite a un monitor físico y no es compatible con VMs de Windows o complementos estándar de Nvidia.
  • QXL admite multi-pantalla y memoria de video configurable.

Opciones avanzadas

Expanda esta sección para ver la orientación sobre las opciones más avanzadas

Cambie a Vista avanzada en la página Agregar VM para acceder a configuraciones adicionales.

Aquí están las opciones avanzadas más importantes, divididas en secciones enfocadas:

Modo CPU:

  • Paso a través del anfitrión: Expone todas las funciones del CPU anfitrión a la VM para un rendimiento máximo.
  • Emulado: Usa un modelo de CPU genérico, reduciendo problemas de compatibilidad pero limitando el rendimiento.

Inflado de memoria:

  • Establezca un valor de Memoria Máxima para habilitar la asignación dinámica de memoria (memory ballooning).
  • No disponible para VMs con dispositivos PCI asignados (por ejemplo, GPU passthrough).

Tipo de máquina:

  • i440fx: Default for Windows VMs. Change only if you have GPU passthrough issues.
  • Q35: Predeterminado para Linux VMs y recomendado para la mayoría de los sistemas operativos modernos, especialmente con GPU passthrough.

Tipo de BIOS:

  • SeaBIOS: BIOS tradicional para SOs heredados.
  • OVMF: Se requiere BIOS UEFI para Windows 8+, la mayoría de las distribuciones modernas de Linux, y GPU passthrough.
nota

El tipo de BIOS solo se puede configurar al crear una nueva VM.

Extensiones Hyper-V:

  • Para VMs de Windows, active las extensiones de Hyper-V para mejorar la compatibilidad y el rendimiento.

ISO de controladores VirtIO:

  • Anule el ISO VirtIO predeterminado si es necesario, especialmente para probar o usar controladores más nuevos.

Tipo de vDisco:

  • RAW: Mejor rendimiento, pero menos flexible para instantáneas.
  • QCOW2: Soporta instantáneas pero ofrece un rendimiento ligeramente inferior.

Mapeos VirtFS (VMs de Linux):

  • Agregue mapeos VirtFS (9p) múltiples para integrar el sistema de archivos entre el anfitrión e invitado.
  • Consulte la documentación QEMU 9p para obtener detalles.

Configuraciones de red:

  • Modifique la dirección MAC de Red o seleccione un Puente de Red alternativo.
  • Haga clic en el símbolo de refrescar para generar automáticamente una nueva dirección MAC.
  • Agregue interfaces de red virtuales adicionales según sea necesario.
Troubleshooting consejos
  • Si su VM no se inicia, verifique dos veces sus rutas de ISO y vDisco.
  • Para GPU passthrough, asegúrate de que tu hardware y configuraciones de BIOS soporten IOMMU/VT-d/AMD-Vi.
  • Algunos dispositivos USB pueden no funcionar de manera confiable con el paso a través: pruebe y consulte los foros de Unraid para obtener consejos específicos de dispositivos.

Binding de dispositivos PCI para paso a través

Before you can assign a GPU or any PCI device to a VM, it's important to "bind" the device to the vfio-pci driver. This process hides the device from Unraid and dedicates it solely to your VM.

Para vincular un dispositivo PCI (GPU, controlador USB, NVMe, etc.) para la transferencia directa:

  1. Navegue a Herramientas → Dispositivos del Sistema en el WebGUI.
  2. Revise la lista de dispositivos PCI detectados y sus grupos IOMMU.
  3. Marque la casilla junto a cada dispositivo que desee vincular a vfio-pci (para ocultarlo de Unraid).
    • Tenga en cuenta que los dispositivos ya en uso por Unraid (como controladores de disco y tarjetas de red) no pueden ser seleccionados.
    • Si selecciona una GPU, seleccione el dispositivo de sonido asociado.
  4. Haga clic en Vincular seleccionados a VFIO al inicio para guardar sus cambios.
  5. Reinicie su servidor para que el enlace surta efecto.
precaución

GPU passthrough allows you to assign a physical graphics card directly to a virtual machine (VM), providing near-native performance for gaming, creative work, or machine learning.

Después de vincular, los dispositivos vinculados aparecerán en el desplegable Otros Dispositivos PCI al editar o crear una VM.

Solucionar problemas
  • Si ha utilizado anteriormente el complemento VFIO-PCI Config, desinstálelo; esta funcionalidad ahora está integrada.
  • Para restablecer todos los enlaces, elimine /boot/config/vfio-pci.cfg y reinicie el sistema.
  • Después de reiniciar, utilice el botón Ver Registro VFIO-PCI en la página de Dispositivos del Sistema para solucionar problemas avanzados.
  • Recuerda que si vinculas tu única GPU, Unraid puede no iniciarse en la GUI. Asegúrate de planificar esto.
  • Para más información, consulta la guía oficial en los foros de Unraid.

Passthrough de GPU para máquinas virtuales

GPU passthrough allows you to assign a physical graphics card directly to a VM, providing near-native performance for gaming, creative work, or machine learning.

Why ¿usar paso de GPU?
  • Rendimiento: acceso directo al hardware para aplicaciones exigentes.
  • Compatibilidad: Ejecute cargas de trabajo intensivas en gráficos que requieren una GPU dedicada.
  • Flexibilidad: Transforma tu servidor Unraid en una estación de trabajo multiusos.

Prerequisitos

Hardware:

  • CPU con soporte Intel VT-d o AMD-Vi (IOMMU habilitado en BIOS).
  • GPU compatible con passthrough (ver hardware probado por la comunidad).
  • Una placa madre que aísle correctamente los dispositivos PCIe.

Para inyectar un ROM:

  • Unraid 6.9+ con virtualización habilitada.
  • OVMF (UEFI) BIOS para VMs (recomendado sobre SeaBIOS).

To set up GPU passthrough:

  1. Asegúrate de que tu hardware soporte IOMMU y esté habilitado en tu BIOS.
  2. Habilita las características de virtualización en BIOS (Intel VT-x/VT-d o AMD-v/AMD-vi).
  3. Actualiza Unraid a la última versión estable.
  4. Asigna la GPU a la VM en la pantalla de creación o edición de VM bajo la sección de tarjeta gráfica.
  5. Asigna un teclado y un ratón USB a la VM si usas GPU passthrough.
  6. Usa BIOS OVMF para la VM para mejor compatibilidad con GPU passthrough.
  7. Inicia la VM y verifica que la GPU haya sido pasada correctamente.
nota

Algunas GPUs pueden requerir configuración adicional o inyección de ROM para un passthrough adecuado.

Atrapado en shell UEFI

Algunas GPU, especialmente ciertos modelos de NVIDIA, requieren un archivo ROM para ser proporcionado manualmente a la VM para que se inicialice correctamente. Esto es a menudo necesario cuando el firmware a bordo de la GPU no se transfiere correctamente por defecto, causando problemas como pantallas negras o fallos de arranque. La inyección manual de ROM es un último recurso después de probar ajustes de BIOS y configuraciones de VM.

Para inyectar un ROM:

  1. Descargar GPU ROM:

    • Visita el TechPowerUp VGA BIOS database.
    • Busca tu modelo de GPU y descarga el archivo ROM correcto.
    • Guarda el rom en tu compartido de Unraid isos o domains.
  2. Editar XML de VM:

    • Detén la VM y abre su configuración XML (Editar XML desde el menú contextual de la VM).

    • Ubica el bloque <hostdev> de la GPU y añade la etiqueta <rom>:


      <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
      <address domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
      </source>
      <rom file='/mnt/user/isos/gpu_roms/your_gpu.rom'/> <!-- Update path -->
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
      </hostdev>
  3. Guardar y probar: Haz clic en Actualizar e inicia la VM.


Problemas comunes

This section covers advanced topics and solutions for common issues when managing VMs on Unraid. Expand the sections below for step-by-step instructions and troubleshooting tips.

Expandir un vDisk

Haga clic para expandir/contraer

If your VM is running low on disk space, you can increase the size of its vDisk directly from the WebGUI.

Para expandir un vDisk:

  1. Ve a la pestaña VMs en el WebGUI.
  2. Asegúrate de que la VM esté detenida.
  3. Haz clic en el nombre de la VM para expandir sus detalles.
  4. Localiza el vDisk que deseas expandir. Haz clic en el valor en el campo Capacidad para hacerlo editable.
  5. Introduce el nuevo tamaño deseado (ej., 100G para 100 gigabytes) y presiona Enter.
  6. La nueva capacidad ya está establecida.
nota

No puedes reducir un vDisk desde la interfaz de Unraid; solo se admite la expansión.

Ampliar la partición en el sistema operativo del huésped

Después de cambiar el tamaño del vDisk, inicia tu VM. Debes expandir la partición dentro del sistema operativo del huésped para utilizar el nuevo espacio:

  • Windows: Usa la herramienta de administración de discos incorporada para extender tu partición.

  • Linux (LVM): Use herramientas como fdisk, pvresize, lvextend y resize2fs para expandir particiones y volúmenes lógicos.

    Ejemplo:

    sudo fdisk /dev/vda
    sudo pvresize /dev/vda3
    sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
    sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

    Ajusta los nombres de los dispositivos según sea necesario para tu configuración.

consejo

Siempre realiza una copia de seguridad de tu VM antes de hacer cambios en el disco.

Atrapado en shell UEFI

Haga clic para expandir/contraer

Si tu VM inicia un shell UEFI en lugar de tu sistema operativo, puedes iniciar manualmente el proceso de arranque:

En el indicador de shell UEFI, introduce:

fs0:
cd efi/boot
bootx64.efi

La VM ahora debería continuar iniciando tu sistema operativo.

consejo

Si esto ocurre con frecuencia, verifica el orden de arranque de tu VM y asegúrate de que el vDisk o ISO correcto esté configurado como el dispositivo de arranque principal en la configuración de la VM.

Pantalla en negro después de iniciar la VM

Haga clic para expandir/contraer

Si tu VM inicia pero la pantalla permanece en blanco:

  1. Verifica la configuración de BIOS:

    • Configura el gráfico primario en la GPU integrada (iGPU), no en la GPU passthrough.
    • Actualiza la BIOS de la motherboard y GPU a las versiones más recientes.
  2. Ajustar configuración de VM:

    • Cambia de SeaBIOS a OVMF (UEFI) en la configuración de VM.
    • Cambia el Tipo de Máquina de i440fx a Q35.
  3. Inyección manual de ROM (ultimo recurso): Inyectar ROM de GPU manualmente.

Error: "No se pudo establecer IOMMU para el contenedor: operación no permitida"

Haga clic para expandir/contraer

Este error generalmente indica conflictos de grupo IOMMU o remapitaje de interrupción faltante:

  1. Habilitar anulación de PCIe ACS:

    • Vaya a Configuración → VM Manager.
    • Configura anulación de PCIe ACS en Descendente o Ambos.
    • Reinicia Unraid.
  2. Permitir interrupciones no seguras (avanzado):

    • Edita syslinux.cfg en tu memoria flash de Unraid:

      append vfio_iommu_type1.allow_unsafe_interrupts=1 initrd=/bzroot
    • Utiliza esto solo si confías completamente en tus invitados VM.

nota

Para explicaciones detalladas de los grupos IOMMU, recomendamos revisar el blog de Alex Williamson.