Serwer Ubuntu: Konfigurowanie procesora graficznego przy użyciu funkcji DDA (Discrete Device Assignment) w maszynie wirtualnej z systemem Ubuntu
Summary: W tym artykule przedstawiono sposób konfigurowania procesora GPU przy użyciu dyskretnego przypisania urządzenia (DDA) na maszynie wirtualnej (VM) z systemem Ubuntu Server w wersji 1804 działającej w funkcji Hyper-V. ...
Instructions
Cel
Atrybucja DDA może służyć do przekazywania całego urządzenia PCIe, w tym przypadku procesora graficznego, do maszyny wirtualnej. Zapewnia to dostęp do urządzenia o wysokiej wydajności i możliwość korzystania z jego natywnych sterowników.
Środowisko w tym przykładzie
Server: PowerEdge R740xd z systemem Windows Server 2019
GPU: Maszyna wirtualna NVIDIA Tesla P100
: 4 procesory vCPU, 32 GB pamięci RAM z systemem Ubuntu ®18.04 LTS
Kroki
-
Zainstaluj system Windows Server 2019 na hoście i zaktualizuj system operacyjny. Zainstaluj najnowsze sterowniki urządzeń, takie jak sterowniki chipsetu i GPU.
-
Zainstaluj rolę Hyper-V.
-
Utwórz maszynę wirtualną generacji 2. Wyłącz funkcję Secure Boot w ustawieniach maszyny wirtualnej, a następnie zainstaluj na niej system Ubuntu ®18.04 LTS.
-
Zastosuj aktualizacje systemu Ubuntu. Aby to uczynić, uruchom następujące polecenia:
$ sudo apt-get update
$ sudo apt-get upgrade
-
Zamknij maszynę wirtualną.
-
Otwórz Menedżer urządzeń na hoście, rozwiń pozycję Karty graficzne i wybierz GPU, który ma być prezentowany maszynie wirtualnej.

Rysunek 1: Menedżer urządzeń z wybraną kartą graficzną -
Kliknij prawym przyciskiem myszy procesor GPU, który ma być używany w maszynie wirtualnej, a następnie wybierz polecenie Właściwości. Na karcie Szczegóły wybierz opcję Właściwość z listy rozwijanej Ścieżki lokalizacji. Skopiuj wartość zaczynającą się od PCIROOT do Notatnika.

Rysunek 2: Właściwości urządzenia w Menedżerze urządzeń — ścieżki lokalizacji -
Kliknij prawym przyciskiem myszy procesor graficzny w Menedżerze urządzeń i wyłącz go.

Rysunek 3: Wyłączanie GPU w Menedżerze urządzeń -
Skonfiguruj maszynę wirtualną na potrzeby atrybucji opartej na danych przy użyciu programu PowerShell. Otwórz program PowerShell jako administrator i uruchom następujące polecenia:
# 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" -
Uruchom maszynę wirtualną.
-
Uruchom następujące polecenia na maszynie wirtualnej, aby sprawdzić, czy zidentyfikowano procesor GPU:
$ lspci
$ sudo lshw -C Display

Rysunek 4: Dane wyjściowelspciilshwPolecenia -
Jeśli dane wyjściowe
sudo lshw -C Displayw kroku 11 wskazuje, że sterownik Nouveau jest zainstalowany (patrz Konfiguracja na rysunku 4 powyżej), należy go wyłączyć. Nouveau to darmowy sterownik kart graficznych NVIDIA o otwartym kodzie źródłowym napisany przez niezależnych inżynierów oprogramowania. Ten sterownik jest zainstalowany domyślnie i należy go wyłączyć, aby zainstalować sterownik NVIDIA. Uruchom następujące polecenia, aby wyłączyć sterownik 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
Rysunek 5. Dane wyjściowelspciilshwpolecenia po wyłączeniu sterownika Nouveau -
Pobierz sterownik
NVIDIA, a następnie zainstaluj go na maszynie wirtualnej 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 -
Aby sprawdzić, czy sterownik jest poprawnie zainstalowany, uruchom następujące polecenia:
$ lspci $ sudo lshw -C Display $ nvidia-smi

Rysunek 6: Dane wyjściowelspci,lshwinvidia-smipolecenia po zainstalowaniu sterownika NVIDIA
Additional Information
Wymiana procesora graficznego w serwerze PowerEdge R760
Czas trwania: 00:03:10 (gg:mm:ss)
Jeśli to możliwe, ustawienia języka napisów kodowanych można wybrać za pomocą ikony CC w tym odtwarzaczu wideo.