Server Ubuntu: Come configurare una GPU utilizzando Discrete Device Assignment (DDA) su una macchina virtuale Ubuntu
Summary: Questo articolo illustra come configurare una GPU usando DDA (Discrete Device Assignment) su una macchina virtuale (VM) di Ubuntu Server versione 1804 in esecuzione in Hyper-V.
Instructions
Obiettivo
DDA può essere utilizzato per trasferire un intero dispositivo PCIe, in questo caso una GPU, a una VM. Ciò consente l'accesso ad alte prestazioni al dispositivo e la possibilità di sfruttare i suoi driver nativi.
Ambiente in questo esempio
Server: PowerEdge R740xd con GPU Windows Server 2019
: NVIDIA Tesla P100
VM: 4 vCPU, 32 GB di RAM con Ubuntu ®18.04 LTS
Procedura
-
Installare Windows Server 2019 sull'host e aggiornare il sistema operativo. Installare i driver del dispositivo più recenti, come i driver del chipset e della GPU.
-
Installare il ruolo Hyper-V.
-
Creare una VM di 2a generazione. Disabilitare Secure Boot nelle impostazioni della macchina virtuale, quindi installare Ubuntu ®18.04 LTS su di essa.
-
Applicare gli aggiornamenti di Ubuntu. A tale scopo, eseguire i seguenti comandi:
$ sudo apt-get update
$ sudo apt-get upgrade
-
Arrestare la macchina virtuale.
-
Aprire Gestione dispositivi sull host, espandere Schede video e selezionare la GPU che verrà presentata alla macchina virtuale.

Figura 1: Gestione dispositivi con la GPU selezionata -
Cliccare con il pulsante destro del mouse sulla GPU da utilizzare nella VM e selezionare Properties. Nella scheda Dettagli , selezionare Proprietà dall'elenco a discesa Percorsi di posizione. Copiare il valore che inizia con PCIROOT in Blocco note.

Figura 2: Proprietà dei dispositivi di Gestione dispositivi - Percorsi di posizione -
Cliccare con il pulsante destro del mouse sulla GPU in Gestione dispositivi e disabilitarla.

Figura 3: Disabilitazione della GPU in Gestione dispositivi -
Configurare la VM per DDA utilizzando PowerShell. Aprire PowerShell come amministratore ed eseguire i seguenti comandi:
# 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" -
Avviare la macchina virtuale.
-
Eseguire i seguenti comandi all'interno della macchina virtuale per verificare che abbia identificato la GPU:
$ lspci
$ sudo lshw -C Display

Figura 4. Output dilspcielshwComandi -
Se l'output di
sudo lshw -C Displaycomando nel passaggio 11 indica che il driver Nouveau è installato (vedere la configurazione nella Figura 4 sopra), deve essere disabilitato. Nouveau è un driver gratuito e open-source per schede video NVIDIA scritto da ingegneri software indipendenti. Questo driver è installato per impostazione predefinita e deve essere disabilitato per installare il driver NVIDIA. Eseguire i seguenti comandi per disabilitare il driver 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. Output dilspcielshwcomandi dopo che il driver Nouveau è stato disabilitato -
Scaricare il driver
NVIDIA, quindi installarlo sulla VM 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 -
Per verificare che il driver sia installato correttamente, eseguire i seguenti comandi:
$ lspci $ sudo lshw -C Display $ nvidia-smi

Figura 6. Output dilspci,lshwenvidia-smicomandi dopo l'installazione del driver NVIDIA
Additional Information
Come sostituire la GPU per PowerEdge R760
Durata: 00:03:10 (hh:mm:ss)
Se disponibile, è possibile scegliere le impostazioni della lingua dei sottotitoli (sottotitoli) utilizzando l'icona CC su questo lettore video.