vGPU (виртуальный графический процессор) — это программная эмуляция физического GPU (графического процессора). vGPU позволяет распределить ресурсы графического процессора и памяти видеокарты между несколькими виртуальными машинами (ВМ). ВМ поочерёдно используют мощность графического процессора и выделяют под свои нужды часть видеопамяти. При выключении или приостановке ВМ ресурсы vGPU освобождаются. Подробнее о технологии см. в документации Nvidia.
Технология vGPU в VMmanager позволяет:
- пользователям — создавать ВМ с GPU для ускорения графических вычислений (например, для приложений в виртуальных рабочих столах);
- администраторам — распределять ресурсы одного GPU-устройства между несколькими ВМ.
Если на узле кластера установлено несколько GPU-устройств, часть из них может использоваться для проброса GPU, а остальные — для создания ВМ с поддержкой vGPU.
Ресурсы GPU распределяются между ВМ с помощью специальных конфигураций — профилей vGPU. Профили позволяют выделить определённый объём ресурсов для каждой ВМ.
Ограничения функции
vGPU — это проприетарная технология компании Nvidia. Для использования технологии vGPU без ограничений на ВМ должна быть установлена лицензия vGPU. Если лицензия отсутствует, то драйвер Nvidia ограничит распределение ресурсов GPU и снизит частоту кадров до 3 кадров/c.
По вопросам приобретения лицензии обратитесь в компанию Nvidia или к её партнёрам.
Технология vGPU поддерживается только для некоторых GPU-устройств Nvidia. Список поддерживаемых устройств см. в документации Nvidia.
В текущей версии платформы использование vGPU не поддерживается на узлах кластера с ОС Astra Linux.
Не поддерживается совместная работа vGPU и следующих функций платформы:
- включение отказоустойчивости в кластере, если ВМ с vGPU находится в списке ВМ для восстановления;
- включение балансировщика в кластере;
- эвакуация ВМ с vGPU в режиме обслуживания узла кластера;
Чтобы перевести узел, на котором есть ВМ с vGPU, в режим обслуживания, вы можете:
- не выполнять эвакуацию этих ВМ;
- отключить использование vGPU в тонких настройках этих ВМ.
- создание снимков ВМ;
- миграция ВМ.
Подготовка
Настройка BIOS
Для корректной работы vGPU включите в настройках BIOS на узлах кластера поддержку IOMMU (Input/Output Memory Management Unit) и SR-IOV (Single Root I/O Virtualization).
Проверка устройств
Перед настройкой проброса убедитесь, что GPU-устройства корректно определяются системой:
- Подключитесь к узлу кластера по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
- Выполните команду:
lspci | grep -iE "vga|3d"
- Изучите вывод команды. Пример вывода
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (rev 0c) 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480] 02:00.0 VGA compatible controller: NVIDIA Corporation TU106 [GeForce RTX 2060 SUPER] (rev a1)
- Если вывод команды не содержит сведения об устройстве, убедитесь, что:
- Устройство правильно установлено в сервере.
- Устройство активно в BIOS (UEFI) сервера.
Настройка IOMMU
IOMMU (Input/Output Memory Management Unit) — технология управления памятью для устройств ввода-вывода. IOMMU обеспечивает виртуализацию физических адресов памяти, используемых устройствами PCI, и изолирует ресурсы между гостевыми операционными системами.
Для корректной работы GPU-устройств включите IOMMU в настройках загрузчика GRUB:
- Подключитесь к узлу кластера по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
- В файле /etc/default/grub добавьте в конец переменной GRUB_CMDLINE_LINUX_DEFAULT параметры IOMMU. Имена параметров зависят от типа процессора, установленного в сервере:
- Intel —
iommu=on
,intel_iommu=on
;Пример переменнойGRUB_CMDLINE_LINUX_DEFAULT="quiet splash iommu=on intel_iommu=on"
- AMD —
iommu=on
,amd_iommu=on
;Пример переменнойGRUB_CMDLINE_LINUX_DEFAULT="quiet splash iommu=on amd_iommu=on"
- Intel —
- Обновите конфигурацию GRUB: AlmaLinux
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Astra Linux, Ubuntusudo update-grub
- Перезагрузите сервер:
sudo reboot
Повторное подключение узла
Если вы повторно подключаете узел кластера, на котором уже был настроен проброс GPU или vGPU, перезагрузите сервер узла перед подключением.
Установка драйвера Nvidia
Установите драйвер Nvidia для vGPU на узлах кластера по инструкции из официальной документации.
Установка mdevctl
Установите на узлах кластера mdevctl — утилиту для управления vGPU:
sudo dnf -y install mdevctl
sudo apt -y install mdevctl
Управление vGPU
Информация о GPU-устройствах в кластере
Чтобы получить информацию о GPU-устройствах в кластере, перейдите в Кластеры → выберите кластер → кнопка Параметры → вкладка PCI-устройства.

Выбор устройства
Чтобы выбрать устройства, для которых будет использоваться vGPU:
- Перейдите в Узлы → выберите узел → кнопка Параметры → раздел PCI-устройства → вкладка PCI-устройства.
- Для каждого устройства в столбце Использование нажмите значок
→ выберите vGPU.
- Если какие-либо устройства на узле до этого использовались для проброса GPU, перезагрузите узел кластера.
Чтобы отключить использование vGPU для устройства:
- Отключите vGPU в тонких настройках ВМ, которые используют это устройство.
- Перейдите в Узлы → выберите узел → кнопка Параметры → раздел PCI-устройства → вкладка PCI-устройства.
- В столбце Использование нажмите значок
→ выберите Не используется.
При выполнении этих действий профили vGPU будут удалены из платформы и конфигураций ВМ.

Информация о профилях
Чтобы просмотреть профили vGPU, перейдите в Узлы → выберите узел → кнопка Параметры → раздел PCI-устройства → вкладка vGPU профили. При включении режима vGPU на вкладке появляется список профилей.
Чтобы актуализировать информацию о профилях, нажмите кнопку Обновить список профилей.
Таблица профилей содержит следующую информацию:
- название PCI-устройства;
- номер устройства;
- название профиля;
- количество дисплеев;
- частота кадров;
- буфер кадров;
- максимальное разрешение;
- количество ВМ, использующих профиль.

Настройка vGPU на ВМ
Чтобы ВМ могли использовать vGPU, при создании конфигурации в разделе Параметры виртуализации:
- В параметре Использование видеокарты (GPU) выберите vGPU.
- Выберите vGPU профиль из списка. В списке отображаются все профили устройства, включая временно недоступные.
Вы можете изменить эти параметры в тонких настройках ВМ. При изменении параметров ВМ будет перезагружена. В период перезагрузки ВМ изменение параметра будет недоступно.
