Сервер Ubuntu: Как настроить графический процессор с помощью функции Discrete Device Assignment (DDA) на виртуальной машине Ubuntu
Summary: В этой статье показано, как настроить графический процессор с помощью Discrete Device Assignment (DDA) на виртуальной машине (ВМ) Ubuntu Server версии 1804, работающей в Hyper-V.
Instructions
Цель
DDA можно использовать для передачи всего устройства PCIe, в данном случае графического процессора, в виртуальную машину. Это обеспечивает высокопроизводительный доступ к устройству и возможность использовать его встроенные драйверы.
Среда в данном примере
Сервер: PowerEdge R740xd под управлением Windows Server 2019
с графическим процессором: ВМ NVIDIA Tesla P100
: 4 виртуальных ЦП, 32 Гбайт ОЗУ Под управлением Ubuntu ®18.04 LTS
Действия
-
Установите Windows Server 2019 на хосте и обновите ОС. Установите последние версии драйверов устройств, например драйверы набора микросхем и графического процессора.
-
Установите роль Hyper-V.
-
Создайте виртуальную машину 2-го поколения. Отключите безопасную загрузку в настройках виртуальной машины, затем установите на нее Ubuntu ®18.04 LTS.
-
Примените обновления Ubuntu. Для этого выполните следующие команды:
$ sudo apt-get update
$ sudo apt-get upgrade
-
Завершите работу виртуальной машины.
-
Откройте диспетчер устройств на хосте, разверните Видеоадаптеры и выберите графический процессор, который будет представлен для виртуальной машины.

Рисунок 1: Диспетчер устройств с выбранным графическим процессором -
Нажмите правой кнопкой мыши графический процессор, который будет использоваться в виртуальной машине, и выберите Свойства. На вкладке Сведения выберите Свойство в раскрывающемся списке Пути расположения. Скопируйте значение, начинающееся с PCIROOT, в Блокнот.

Рисунок 2. Свойства устройства в диспетчере устройств — пути к расположению -
Нажмите правой кнопкой мыши на графическом процессоре в Диспетчере устройств и отключите его.

Рисунок 3: Отключение графического процессора в Диспетчере устройств -
Настройте виртуальную машину для DDA с помощью PowerShell. Откройте PowerShell от имени администратора и выполните следующие команды:
# 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" -
Запустите виртуальную машину.
-
Выполните следующие команды на виртуальной машине, чтобы убедиться, что она идентифицировала графический процессор:
$ lspci
$ sudo lshw -C Display

Рис. 4. Выходные данныеlspciиlshwКоманды -
Если вывод команды
sudo lshw -C Displayна шаге 11 указывает, что драйвер Nouveau установлен (см. Конфигурация на рис. 4 выше), он должен быть отключен. Nouveau — это бесплатный драйвер с открытым исходным кодом для видеокарт NVIDIA, написанный независимыми инженерами-программистами. Этот драйвер установлен по умолчанию, и его необходимо отключить для установки драйвера NVIDIA. Выполните следующие команды, чтобы отключить драйвер 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
Рис. 5. Выходные данныеlspciиlshwпосле того, как драйвер Nouveau был отключен -
Скачайте драйвер
NVIDIA и установите его на виртуальную машину 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 -
Чтобы убедиться, что драйвер установлен правильно, выполните следующие команды:
$ lspci $ sudo lshw -C Display $ nvidia-smi

Рис. 6. Выходные данныеlspci,lshwиnvidia-smiпосле установки драйвера NVIDIA
Additional Information
Замена графического процессора для PowerEdge R760
Продолжительность: 00:03:10 (чч:мм:сс)При
наличии языковых настроек для скрытых субтитров можно выбрать с помощью значка CC в этом видеопроигрывателе.