- Пример использования nVidia Grid
- Описание
- Проверка возможности добавления в ВМ виртуальных графических адаптеров на базе nVidia Tesla
- Установка драйвера NVIDIA GRID на хост
- Установка nVidia GRID на ВМ
- Linux
- Saved searches
- Use saved searches to filter your results more quickly
- NVIDIA GRID vGPU driver #7
- NVIDIA GRID vGPU driver #7
- Comments
Пример использования nVidia Grid
Графическое ускорение на этих vGPU не поддерживается, только вычислительные задачи.
Поддерживаются только 64-битные гостевые ОС. Более подробные примечания и сведения об актуальных версиях ПО содержатся по адресу https://docs.nvidia.com/grid/#hypervisor-software-versions.
Описание
Использование видеокарт NVIDIA GRID требует драйверов на Узле (Node) SpaceVM и ВМ SpaceVM, на которые распределены vGPU этого видеоадаптера.
Не следует использовать драйверы, предлагающиеся пакетным менеджером ВМ!
Драйверы для хоста и ВМ должны быть согласованы по версии. Следует устанавливать драйверы из пакета, скачанного с сайта nVidia, и лучшим решением будет устанавливать драйверы для ВМ из того же пакета, из которого устанавливался драйвер для хоста.
Адрес для загрузки ПО: https://nvid.nvidia.com/dashboard/ (требуется регистрация). Выбираем драйверы для Linux KVM 8.1 (на 04.2020 года).
Архив содержит документацию, драйверы под Linux хост, Linux ВМ и Windows ВМ.
архив ПО: NVIDIA-GRID-Linux-KVM-440.43-441.66.zip .
В нём содержится:
— драйвер для хоста: NVIDIA-Linux-x86_64-440.43-vgpu-kvm.run ;
— драйвер для ВМ Windows 7, 8, Win server 2008R2, 2012R2: 441.66_grid_win7_win8_server2008R2_server2012R2_64bit_international.exe ;
— драйвер для ВМ Windows 10, Win server 2016, Win server 2019: 441.66_grid_win10_server2016_server2019_64bit_international.exe ;
— драйвер для Linux ВМ: NVIDIA-Linux-x86_64-440.43-grid.run .
Проверка возможности добавления в ВМ виртуальных графических адаптеров на базе nVidia Tesla
Перед проверкой необходимо иметь:
- установленную на вычислительном узле видеокарту nVidia GRID, подключенную к сигнальным и силовым интерфейсам согласно документации на данную карту;
- установленные на данном узле драйверы к видеокарте;
- образ LiveCD с ОС семейства Linux для загрузки ВМ и проверки наличия vGPU среди PCI устройств ВМ. Данный образ должен позволять запуск консоли и содержать команду lspci. В частности, подходит и обладает сравнительно малым размером образ сборки Clonezilla (https://clonezilla.org/downloads/download.php?branch=stable). Этот или любой подходящий образ следует скопировать в пул данных вычислительного узла с видеокартой Nvidia.
Необходимо убедиться, что драйверы для видеокарты установлены и корректно опознают видеокарту. Для этого в CLI узла необходимо ввести команду nvidia status . Должна быть выведена таблица с параметрами имеющихся на узле адаптеров Nvidia.
- В случае, если выводится сообщение об ошибке »’Unable to find nvidia-smi utility. Is NVIDIA driver installed?»’, необходимо произвести установку драйверов видеокарты согласно Nvidia Grid How-to. При этом файл пакета драйвера не обязательно брать с сайта NVIDIA, возможно использовать файл.
- Если выводится иное сообщение об ошибке, следует проверить правильность подключения к шине PCI-E и интерфейсов питания, настроек BIOS согласно Nvidia Grid How-to и исправность видеокарты.
Для проверки следует создать ВМ, подключить к ней устройство vGPU, загрузить ВМ и проконтролировать наличие устройства vGPU среди PCI устройств ВМ:
- переходим в пункт меню Virtual machines, нажимаем кнопку Create;
- выбираем вручную узел, на котором установлена видеокарта nVidia GRID;
- размер ОЗУ указываем примерно 1000 Мбайт для избежания проблем при запуске LiveCD;
- тип ОС выбираем Linux;
- подтип ОС выбираем согласно нашему LiveCD или Other Linux (32/64 бит согласно разрядности ОС LiveCD);
- имя ВМ произвольно, прочие параметры оставляем по умолчанию;
- создание виртуального диска пропускаем;
- к виртуальному CD-ROM подключаем образ нашего LiveCD;
- виртуальные интерфейсы пропускаем;
- завершаем мастер создания ВМ, питание ВМ не включаем.
Переходим в свойства нашей созданной ВМ:
- переходим в пункт меню Mediated devices;
- нажимаем кнопку Attach;
- выбираем тип Mediated Device так, чтобы во второй строке формы был хотя бы один PCI контроллер с ненулевым количеством Mediated Devices такого типа;
- выбираем любой из доступных PCI контроллеров;
- устанавливаем параметры: Display = ‘on‘, Ramfb = ‘off‘; сохраняем изменения кнопкой OK.
- в пункте меню ВМ Information выбираем тип видеоадаптера VGA;
- включаем питание ВМ.
После включения ВМ выполняем команду nvidia status на узле и убеждаемся, что её вывод теперь содержит строку в разделе таблицы Processes: с именем процесса, равным vgpu. Далее:
- подключаемся к экрану нашей ВМ через SPICE HTML5 клиент Space, ожидаем загрузки LiveCD;
- запускаем терминал в ВМ, выполняем команду lspci и убеждаемся, что вывод команды содержит строку с VGA адаптером NVIDIA.
Установка драйвера NVIDIA GRID на хост
- копируем файл драйвера на хост через ssh;
- заходим в shell;
- выполняем следующие команды: apt install build-essential linux-headers-amd64
modprobe -r nouveau
sh ./NVIDIA-Linux-x86_64-440.43-vgpu-kvm.run —disable-nouveau
mkdir /usr/lib64
ln -s /usr/lib/x86_64-linux-gnu/libnvidia-vgpu.so /usr/lib64
ln -s /usr/lib/x86_64-linux-gnu/libnvidia-vgxcfg.so /usr/lib64
ln -s /usr/lib/x86_64-linux-gnu/libnvidia-ml.so /usr/lib64
ln -s /usr/lib/x86_64-linux-gnu/libnvidia-cfg.so /usr/lib64
Примечание В процессе установки инсталлятор предложит установить драйверы через DKMS, следует отказаться.
Если установка драйвера завершится с ошибкой про невозможность установить nvidia.ko, а в логе установщика будет предупреждение на 64-bit BAR или нулевой размер BAR, то нужно в setup включить поддержку (это звучит как Above 4G Decoding=Enabled, на T-platform ещё и PCI 64-Bit Resource Allocation=Enabled).
Установка nVidia GRID на ВМ
Общие необходимые условия:
- Модель vCPU. Нужно установить host-model или, если необходимо, host-passthrough, с процессором по умолчанию видеодрайвер не запустится.
- Совместимость версии драйверов на ВМ и на хосте. Иначе видеодрайвер не запустится.
- Заголовки ядра (на Debian-based системах ставятся при помощи apt install linux-headers-$(uname -r) ).
Linux
Установка:
На данный момент пока нет устоявшегося решения со spice-streaming-agent, изображение с ВМ отдаётся через обычный Spice протокол.
Полезно иметь запущенный сервис ssh на ВМ на этапе настройки.
По умолчанию SpaceVM при подключении mediated device видеоадаптера делает его единственным, после установки драйверов это должно быть достаточно для работы аппаратно ускоренной графики в ВМ.
Устанавливаем драйвер видеоадаптера ( sudo sh /path/NVIDIA-Linux-x86_64-xxx.xx-grid.run ). Это должен быть .run файл из того же пакета, что и драйвер для хоста. При установке можно указать ключ —no-x-check , в этом случае установщик не станет ругаться на запущенную сессию X, если запуск из-под неё. Вопросы в процессе установки:
- Install NVIDIA’s 32-bit compatibility libraries? — NO
- An incomplete installation of libglvnd was found. Don’t install
- Unable to determine the path to install the libglvnd EGL vendor library config files. — OK
- Would you like to run the nvidia-xconfig utility . — Yes
После установки перезагружаем ВМ.
Если установлено более одного видеоадаптера (например, qxl + nvidia) или, если проблемы с получением изображения после перезагрузки, то через SSH указываем драйверу PCI адрес видеоадаптера Nvidia: ищем наш видеоадаптер в выводе команды lspci и идём править /etc/X11/xorg.conf . Там в секции Device прописываем строку, например, если PCI адрес MDEV равен 00:000a:00.0,
# не забываем перевести hex в dec!
BusID «PCI:0:10:0»
Перезагружаем машину, изображение должно быть.
Лицензирование
Настройки лицензирования находятся в файле /etc/nvidia/gridd.conf , при установке он отсутствует, но имеется gridd.conf.template в том же каталоге. Этот файл gridd.conf.template следует скопировать в файл gridd.conf , после чего ввести в строках ServerAddress= и ServerPort= адрес и порт сервера лицензий.
Далее следует перезапустить службу клиента лицензий на ВМ:
sudo systemctl restart nvidia-gridd.service
После этого, если сервер доступен и имеет доступные лицензии, лицензионные ограничения снимаются сразу.
При желании можно управлять лицензиями через графическое приложение nVidia, для этого следует сделать все манипуляции с файлами конфигурации, но в файле gridd.conf раскомментировать строку EnableUI=True , после чего перезапустить службу nvidia-gridd.service .
Общие замечания о лицензировании
Тип лицензии получаемой ВМ зависит от выделенной ей конфигурации vGPU. Например, если сервер лицензий в состоянии отдать лицензию Quadro vDWS, а vGPU выделена лишь в конфигурации -xB, то лицензия будет получена на virtual PC. Если на такой лицензии сервера конфигурацию VGPU клиента сделать -xQ, то тогда и лицензия будет выдана на Quadro vDWS. При этом в обоих случаях сервер будет рапортовать о выданных лицензиях Quadro vDWS.
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NVIDIA GRID vGPU driver #7
NVIDIA GRID vGPU driver #7
Comments
Thanks for the work you did on this! I’m personally a bit confused as to which driver I need to be using here. Is this publicly available for download?
The text was updated successfully, but these errors were encountered:
Use the driver download page and change «Product Type» to «GRID»: https://www.nvidia.com/Download/index.aspx
@kwibjo Thanks for your link. But that only has VMware and Citrix drivers? What am I missing?
EDIT: You actually have to sign up for the trial.
After some digging I found Google hosts downloads of the most up to date drivers here: https://cloud.google.com/compute/docs/gpus/grid-drivers-table
Those are the incorrect drivers unfortunately. You have to sign up for the nvidia license
I was wondering where you got NVIDIA-Linux-x86_64-460.32.04-vgpu-kvm.run from?
I found it on an open directory by searching the file name with google. It will be in an archive called NVIDIA-GRID-Linux-KVM-460.32.04-460.32.03-461.33.zip , although searching the filename of the zip doesn’t return any meaningful results.
Since I don’t have the original, I can’t be 100% certain that it hasn’t been tampered with, but the SHA256 of NVIDIA-Linux-x86_64-460.32.03-grid.run file in the archive matches the one hosted by google, so I am inclined to trust it.
Edit: The windows files are nvidia signed too.
Caution: The drivers provided on this page are for use with Compute Engine only. If you need drivers for other platforms, see the NVIDIA® Driver Download page.
Nvidia certifies Red Hat Enterprise Linux KVM for use with their vGPU technology, but they also provide a Linux KVM package which we will be covering here.
it seems that Red Hat Enterprise provide their own drivers,so we don’t need to grab them from the nvidia 90 days trial application ? Is just enough to grab the Red Hat Enterprise Linux distro ?
I didn’t understand this :
Nvidia certifies Red Hat Enterprise Linux KVM for use with their vGPU technology, but they also provide a Linux KVM package which we will be covering here.
it seems that Red Hat Enterprise provide their own drivers,so we don’t need to grab them from the nvidia 90 days trial application ? Is just enough to grab the Red Hat Enterprise Linux distro ?