Skip to content

Instantly share code, notes, and snippets.

@madkoding
Created December 28, 2023 17:17
Show Gist options
  • Save madkoding/0c8a2ff599dabfa51e7b98f30615cd13 to your computer and use it in GitHub Desktop.
Save madkoding/0c8a2ff599dabfa51e7b98f30615cd13 to your computer and use it in GitHub Desktop.
Instalación de Proxmox y Configuración de Passthrough de GPU para una Máquina Virtual de Windows

Instalación de Proxmox y Configuración de Passthrough de GPU para una Máquina Virtual de Windows

Paso 1: Instalación de Proxmox

  1. Descargar Proxmox: Ve a la página oficial de Proxmox y descarga la última ISO de Proxmox VE.

  2. Crear un medio de instalación: Usa un programa como Rufus para quemar la ISO en un USB.

  3. Instalación: Arranca tu servidor desde el USB y sigue las instrucciones en pantalla para instalar Proxmox.

  4. Primer inicio: Una vez instalado, inicia Proxmox. Podrás acceder a la interfaz web a través de la dirección IP mostrada en la pantalla del servidor.

Paso 2: Preparación para Passthrough de GPU

  1. Verificar la compatibilidad de IOMMU: Asegúrate de que tu hardware soporta IOMMU (VT-d para Intel, AMD-Vi para AMD) activándolo en la BIOS.

  2. Modificar el GRUB de Proxmox:

    nano /etc/default/grub

    Añade intel_iommu=on o amd_iommu=on (según tu CPU) a GRUB_CMDLINE_LINUX_DEFAULT. Luego actualiza GRUB:

    update-grub
  3. Reiniciar el servidor.

  4. Verificar la inicialización de IOMMU:

    dmesg | grep -e DMAR -e IOMMU

Paso 2.5: Obtener el ID de la GPU para Passthrough

Después de haber verificado y habilitado IOMMU en tu sistema, necesitas identificar el ID de hardware de tu GPU. Este ID se utiliza para asignar específicamente la GPU a la máquina virtual.

  1. Iniciar sesión en Proxmox: Conéctate a tu servidor Proxmox a través de SSH o usa la consola directamente.

  2. Ejecutar el comando lspci:

    lspci -nn

    Este comando lista todos los dispositivos PCI conectados a tu servidor. Las GPU suelen aparecer bajo las entradas "VGA compatible controller" o "Audio device" (para la parte de audio de las GPU modernas).

  3. Identificar la GPU: Busca las entradas correspondientes a tu tarjeta gráfica.

  4. Anotar el ID de la GPU: El ID aparecerá en un formato similar a xxxx:yyyy (donde xxxx es el ID del vendedor y yyyy el ID del dispositivo), y se encuentra dentro de corchetes cuadrados []. Por ejemplo, puede verse algo así: [10de:1b06].

  5. Anotar también el ID del dispositivo de audio asociado con la GPU: Si tu GPU soporta audio a través de HDMI o DisplayPort, también deberías anotar el ID del controlador de audio asociado, que suele estar listado justo después de la GPU.

Aquí tienes un ejemplo de cómo podría verse esta información:

02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] [10de:1b06] (rev a1)
02:00.1 Audio device [0403]: NVIDIA Corporation GP102 HDMI Audio Controller [10de:10ef] (rev a1)

En este ejemplo, 10de:1b06 sería el ID de la GPU y 10de:10ef el del dispositivo de audio asociado.

Paso 3: Configuración del Passthrough de GPU

  1. Identificar la GPU:

    lspci -v

    Anota el ID de la GPU y su audio asociado (si es necesario).

  2. Añadir la GPU al grupo de aislamiento:

    nano /etc/modprobe.d/vfio.conf

    Añade options vfio-pci ids=xxxx:yyyy donde xxxx:yyyy es el ID de tu GPU.

  3. Actualizar las configuraciones:

    update-initramfs -u
  4. Reiniciar el servidor.

Paso 4: Instalación de Windows en Proxmox

  1. Crear una máquina virtual: En la interfaz web de Proxmox, crea una nueva VM con Windows como sistema operativo.

  2. Montar la imagen ISO de Windows: Sube la imagen ISO a Proxmox y selecciónala como medio de arranque para la instalación.

  3. Configurar la máquina virtual: Asegúrate de asignar recursos suficientes (CPU, RAM, almacenamiento).

  4. Instalar Windows: Sigue el proceso de instalación de Windows en la VM.

Paso 5: Configurar el Passthrough de GPU en la VM

  1. Detener la VM.

  2. Editar la configuración de la VM:

    nano /etc/pve/qemu-server/<vmid>.conf

    Añade las líneas para el passthrough de GPU, usando el ID de la GPU.

  3. Iniciar la VM y verificar el passthrough.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment