Установка GRID-драйвера на ECS с GPU
Инструкция описывает установку и настройку рабочего стола Linux и GRID-драйвера для виртуальной машины с GPU-ускорением.
Для работы драйвера предварительно необходимо развернуть и настроить сервер лицензий.
Следующие шаги
Создание виртуальной машины
Создайте виртуальную машину со следующими параметрами:
Тип GPU-accelerated в блоке Specifications.
Образ Ubuntu 16.04 server 64bit with Tesla Driver 450.51.06 and CUDA 11.0 в блоке Image.
ПримечаниеВерсия драйверов Tesla® и CUDA® может отличаться на момент создания ECS.
Убедитесь, что правила группы безопасности разрешают подключение ВМ к интернету.
Обновление операционной системы
Обновите списки пакетов:
sudo apt update && sudo apt upgrade -yПерезапустите ВМ после обновления списка пакетов:
sudo rebootПодключитесь к ВМ после перезапуска.
Обновите версию ОС:
sudo do -release-upgradeПерезапустите ВМ после прохождения всех шагов обновления. Версия ОС изменится на Ubuntu LTS 18.04.
Подготовка к установке драйвера
Выполните команду:
lspciЗапишите ID — идентификатор PCI карты. Это значение пригодится в следующих шагах.
ПримечаниеID записан в шестнадцатиричном формате и находится в выводе команды lspci в начале строки с информацией о карте.
Пример: 21:01:0 3D controller: NVIDIA Corporation GV100GL [Tesla V100 PCIe 32GB] (rev a1)
В этом примере ID PCI карты равен 21:01:0.
Установка рабочего стола и утилит для установки драйвера
Отключите драйвер nouveau:
sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"Проверьте, что драйвер nouveau появился в черном списке. Запустите команду:
cat /etc/modprobe.d/blacklist-nvidia-nouveau.confУбедитесь, что в ответе команды содержится следующие строки:
blacklist nouveauoptions nouveau modeset = 0Обновите initramfs-образы — выполните команду:
sudo update-initramfs -uПосле выполнения предыдущей команды перезапустите ВМ:
sudo reboot nowУстановите дополнительное программное обеспечение:
mesa-utils — набор утилит для теста графики;
pkg-config — вспомогательный пакет, который потребуется позже при установке драйвера;
libglvnd-dev — набор библиотек для драйвера;
dkms — утилита для сборки модуля ядра;
gcc и build-essential — наборы полезных утилит для сборки.
Для установки выполните команду:
sudo apt install mesa-utils pkg-config libglvnd-dev dkms gcc build-essentialУстановите рабочий стол — выполните команду:
sudo apt install lightdmПримечаниеРекомендуем устанавливать рабочий стол «lightdm». С другими рабочими столами драйвер GRID по этой инструкции может не установиться.
Установка драйвера NVIDIA GRID
Скачайте драйвер NVIDIA GRID с официального сайта NVIDIA.
Загрузите файл драйвера на ВМ.
Добавьте права на выполнение файла:
chmod +x NVIDIA-Linux-x86_64-***-grid.runЗапустите установку драйвера:
./NVIDIA-Linux-x86_64-***-grid.run
Настройка драйвера
Перейдите в каталог /etc/nvidia:
cd /etc/nvidiaОтредактируйте конфигурационные файлы:
sudo cp gridd.conf.template gridd.confsudo nano gridd.confИзмените следующие строки:
ServerAddress = 10 .250.10.200 # вместо 10.250.10.200 укажите адрес вашего сервера лицензийServerPort = 7070 # вместо 7070 укажите порт вашего сервера лицензийFeatureType = 2 # включите режим виртуализации картыEnableUI = TRUE # включите возможность открыть настройки карты с помощью графического интерфейсаСохраните изменения.
Перезапустите ВМ:
sudo reboot now
На этом настройка и установка драйвера завершена.
Настройка запуска рабочего стола
Выполните команду:
sudo nvidia-xconfig -a --allow-empty-initial-configuration --virtual = 1920x1200 --busid PCI:33:1:0ПримечаниеВ качестве идентификатора PCI укажите ID, записанный на этапе Подготовка к установке драйвера.
Каждое число в идентификаторе предварительно преобразуйте из шестнадцатиричного формата в десятеричный. В примере выше идентификатор до преобразования был «21:01:0», а после преобразования стал «33:1:0».
Отредактируйте файл /etc/X11/xorg.conf:
sudo nano /etc/X11/xorg.confВ секции «Device» допишите параметр Option "HardDPMS" "false" и сохраните файл конфигурации.
Загрузите .deb-пакет virtualgl на ВМ.
Установите пакет virtualgl:
sudo dpkg -i virtualgl**.debВыполните настройку пакета. Запустите команду:
/opt/VirtualGL/bin/vglserver_configЗадайте параметры:
«Configure server for use with VirtualGL» — «1»;
«Restrict 3D X server access to vglusers group (recommended)?» — «n»;
«Restrict framebuffer device access to vglusers group (recommended)?» — «n»;
«Disable XTEST extension (recommended)?» — «Y».
Загрузите .deb-пакет TurboVNC на ВМ.
Установите пакет turbovnc:
sudo dpkg -i turbovnc***.debПерезапустите ВМ, чтобы применить конфигурацию рабочего стола:
sudo reboot nowПодключитесь к ВМ по SSH. В фоновом режиме должен запуститься рабочий стол.
Выполните команду:
startxВ консоли появится вывод команды:
root@grid:/opt/VirtualGL/bin# startxX.Org X Server 1 .19.6Release Date: 2017 -12-20X Protocol Version 11 , Revision 0Build Operating System: Linux 4 .15.0-140-generic x86_64 UbuntuCurrent Operating System: Linux ecs-gpu-keep-it 4 .15.0-142-generic #146-Ubuntu SMP Tue Apr 13 01:11:19 UTC 2021 x86_64Kernel command line: BOOT_IMAGE = /boot/vmlinuz-4.15.0-142-generic root = UUID = 42149824 -7843-457f-8560-066302a3b7fd ro net.ifnames = 0 nospectre_v2 nopti noibrs noibpbBuild Date: 08 April 2021 01 :57:21PMxorg-server 2 :1.19.6-1ubuntu4.9 ( For technical support please see http://www.ubuntu.com/support )Current version of pixman: 0 .34.0Before reporting problems, check http://wiki.x.orgto make sure that you have the latest version.Markers: ( -- ) probed, ( ** ) from config file, (==) default setting,( ++ ) from command line, ( !! ) notice, ( II ) informational,( WW ) warning, ( EE ) error, ( NI ) not implemented, ( ?? ) unknown.(==) Log file: "/var/log/Xorg.0.log" , Time: Thu Apr 29 09 :39:06 2021(==) Using config file: "/etc/X11/xorg.conf"(==) Using system config directory "/usr/share/X11/xorg.conf.d"Откройте новое SSH-подключение к ВМ и запустите VNC:
/opt/TurboVNC/bin/vncserverVNC попросит настроить пароль для подключения. После настройки пароля вы увидите лог команды:
Desktop 'TurboVNC: grid:1 (root)' started on display grid:1Starting applications specified in /root/.vnc/xstartup.turbovncLog file is /root/.vnc/grid:1.logОткройте порт 5901 к ВМ.
См.такжеУправление портами с помощью правил группы безопасности.
Управление портами с помощью правил группы безопасности.
Установите на свой компьютер VNC-клиент. Рекомендуем использовать VNC Viewer от RealVNC.
С помощью установленного VNC-клиента подключитесь к ВМ по IP-адресу и порту. Если виден курсор мыши и рабочий стол, настройка прошла успешна.
Тестирование работы драйвера
Откройте терминал с помощью интерфейса Linux.
В терминале выполните команду тестового приложения «vglrun glxgears».
vglrun glxgearsВы увидите, как начнут крутиться шестеренки.
Чтобы проверить, что отрисовка происходит ресурсами карты, а не процессора, в терминале Linux запустите команду:
nvidia-smiУбедитесь, что есть процессы, которые обрабатываются через карту.
Все следующие процессы запускайте с помощью команды:
vglrun <название приложения>
- Создание виртуальной машины
- Обновление операционной системы
- Подготовка к установке драйвера
- Установка рабочего стола и утилит для установки драйвера
- Установка драйвера NVIDIA GRID
- Настройка драйвера
- Настройка запуска рабочего стола
- Тестирование работы драйвера