Servidor Ubuntu: Cómo configurar una GPU mediante la asignación de dispositivos discretos (DDA) en una máquina virtual Ubuntu
Resumen: En este artículo, se muestra cómo configurar una GPU mediante la asignación de dispositivos discretos (DDA) en una máquina virtual (VM) de Ubuntu Server versión 1804 que se ejecuta en Hyper-V. ...
Instrucciones
Objetivo
DDA se puede utilizar para pasar un dispositivo PCIe completo, en este caso una GPU, a una VM. Esto permite un acceso de alto rendimiento al dispositivo y la capacidad de aprovechar sus controladores nativos.
Entorno en este ejemplo
Servidor: PowerEdge R740xd con Windows Server 2019
GPU: Máquina virtual NVIDIA Tesla P100
: 4 vCPU, 32 GB de RAM con Ubuntu ®18.04 LTS en ejecución
Pasos
-
Instale Windows Server 2019 en el host y actualice el SO. Instale los controladores de dispositivo más recientes, como los controladores de chipset y GPU.
-
Instale la función Hyper-V.
-
Cree una VM de 2.ª generación. Deshabilite el arranque seguro en los ajustes de la VM y, a continuación, instale Ubuntu ®18.04 LTS en ella.
-
Aplicar las actualizaciones de Ubuntu. Para ello, ejecute los siguientes comandos:
$ sudo apt-get update
$ sudo apt-get upgrade
-
Apague la VM.
-
Abra el Administrador de dispositivos en el host, expanda Adaptadores de pantalla y seleccione la GPU que se presentará a la máquina virtual.

Figura 1: Administrador de dispositivos con la GPU seleccionada -
Haga clic con el botón secundario en la GPU que se utilizará en la máquina virtual y seleccione Propiedades. En la pestaña Detalles , seleccione Propiedad en la lista desplegable Rutas de ubicación. Copie el valor que comienza con PCIROOT en el Bloc de notas.

Figura 2: Propiedades del dispositivo del Administrador de dispositivos: rutas de ubicación -
Haga clic con el botón secundario en la GPU en el Administrador de dispositivos y deshabilítela.

Figura 3: Deshabilitación de la GPU en el Administrador de dispositivos -
Configure la VM para DDA mediante PowerShell. Abra PowerShell como administrador y ejecute los siguientes comandos:
# Configure the "Automatic Stop Action" of a VM to TurnOff. Set-VM -Name VMName -AutomaticStopAction TurnOff # Enable Write-Combining on the CPU. Set-VM -VMName VMName -GuestControlledCacheTypes $true # Configure the 32-bit MMIO space. Set-VM -VMName VMName -LowMemoryMappedIoSpace 128Mb # Configure greater than 32-bit MMIO space. Set-VM -VMName VMame -HighMemoryMappedIoSpace 18000Mb # Dismount the device. Dismount-VMHostAssignableDevice -force -LocationPath "step 7 location path goes here" # Assign the device to the VM. Add-VMAssignableDevice -VMName VMName -LocationPath "step 7 location path goes here" -
Inicie la máquina virtual.
-
Ejecute los siguientes comandos dentro de la VM para verificar que haya identificado la GPU:
$ lspci
$ sudo lshw -C Display

Figura 4: La salida dellspciylshwComandos -
Si la salida del comando
sudo lshw -C Displayen el paso 11 indica que el controlador Nouveau está instalado (consulte Configuración en la Figura 4 anterior), debe estar deshabilitado. Nouveau es un controlador gratuito y de código abierto para tarjetas de video NVIDIA escrito por ingenieros de software independientes. Este controlador se instala de manera predeterminada y se debe deshabilitar para instalar el controlador NVIDIA. Ejecute los siguientes comandos para deshabilitar el controlador Nouveau.# Create a file at /etc/modprobe.d/blacklist-nouveau.conf. $ sudo nano /etc/modprobe.d/blacklist-nouveau.conf # Add the following to the newly created file, then save the file. blacklist nouveau options nouveau modeset=0 # Regenerate the kernel initramfs, then reboot. $ sudo update-initramfs -u $ reboot
Figura 5: La salida dellspciylshwdespués de que se haya desactivado el controlador Nouveau -
Descargue el controlador
NVIDIA y, a continuación, instálelo en la VM con Ubuntu.
# Run these commands after the file has been copied to the VM. $ sudo dpkg -i nvidia-driver-local-repo-ubuntu1804-440.33.01_1.0-1_amd64.deb $ sudo apt-key add /var/nvidia-driver-local-repo-440.33.01/7fa2af80.pub $ sudo apt-get update $ sudo apt-get install cuda-drivers {Install all the dependencies $ sudo reboot -
Para verificar que el controlador esté instalado correctamente, ejecute los siguientes comandos:
$ lspci $ sudo lshw -C Display $ nvidia-smi

Figura 6: La salida dellspci,lshwynvidia-smidespués de instalar el controlador NVIDIA
Información adicional
Cómo reemplazar la GPU para PowerEdge R760
Duración: 00:03:10 (hh:mm:ss)
Cuando esté disponible, se puede elegir la configuración de idioma de los subtítulos cerrados (subtítulos) mediante el ícono CC en este reproductor de video.