Компания Proxmox Server Solutions недавно объявила о поддержке NVIDIA vGPU в своём гипервизоре Proxmox Virtual Environment (VE), что делает Proxmox vGPU реальностью для задач рендеринга, VDI, ИИ-вычислений и других применений. В этой статье мы рассмотрим новый набор функций, по шагам покажем, как ими воспользоваться, и оценим производительность решения.
Чем так важна поддержка vGPU?
Если вы не знакомы с программным обеспечением NVIDIA vGPU, оно позволяет «нарезать» вычислительные мощности и память видеокарты на несколько частей и распределять их между несколькими виртуальными машинами (ВМ). Это кардинально отличается от традиционного GPU pcie passthrough, когда вся видеокарта целиком передается одной виртуальной машине. В такой конфигурации ВМ поочерёдно используют вычислительные блоки GPU, а также получают выделенный сегмент видеопамяти под собственные нужды. Это более эффективно, чем классический GPU passthrough, при котором вся карта достается одной ВМ. Благодаря этому видеокарта остаётся максимально загруженной даже при разной интенсивности рабочих нагрузок внутри гостевых ВМ.

Прежде чем начать… (требования)
Как установить Proxmox можно посмотреть в пошаговом руководстве по установка гипервизора Proxmox VE.
Для развертывания среды виртуализации GPU в Proxmox VE (PVE) понадобится несколько вещей. В отличие от простого GPU passthrough, конфигурация vGPU требует специальных лицензий и драйверов. Как и многие «лакомства» дата-центра, программное обеспечение NVIDIA vGPU не бесплатное: придется приобрести лицензию либо оформить триал-доступ и создать учетную запись NVIDIA Enterprise. Затем необходимо выбрать видеокарту с поддержкой vGPU и скачать подходящие драйверы из лицензионного портала. Возьмите актуальные версии для Linux KVM — минимум следующие компоненты:
- vGPU Software: 18.0
- Host driver: 570.124.03
- Linux guest driver: 570.124.06
- Windows guest driver: 572.60
Здесь использовались видеокарта NVIDIA L40S и сервер Dell PowerEdge R760.
Дополнительно понадобится Dedicated Licensing Server (DLS) либо Cloud Licensing Server (CLS), чтобы активировать vGPU-функциональность в гостевых системах. Краткое руководство по развертыванию лицензирования можно найти на странице NVIDIA (vGPU Quick Start Guide).
Далее проверьте настройки UEFI (BIOS) сервера: должны быть включены VT-d / AMD-V, SR-IOV, Above 4G Decoding, Resizable BAR и ARI (Alternative Routing ID Interpretation). Также важно указать enable iommu в настройках системы для корректной работы виртуализации устройств.
Примечание: некоторые параметры могут отсутствовать в меню UEFI, если производитель их не вывел в интерфейс.
Наконец, убедитесь, что используется подходящая версия Proxmox VE: для vGPU требуется как минимум pve-manager 8.3.4 и ядро 6.18.12-8-pve или новее. Проверить версии на узле можно во вкладке Summary выбранного сервера.
Хост, который умеет всё (настройка vGPU на узле Proxmox)
Теперь, когда подготовка завершена, можно приступить к конфигурации сервера Proxmox VE. В веб-интерфейсе Proxmox нажмите имя нужного узла в левой панели и откройте вкладку Shell. В появившемся окне консоли введите следующую команду и нажмите Enter:
apt install pve-nvidia-vgpu-helper
Эта команда установит на сервер инструмент настройки vGPU, подготовив систему к поддержке vGPU в Proxmox. После завершения установки (или если пакет уже присутствует) выполните ещё одну команду, чтобы запустить утилиту.
pve-nvidia-vgpu-helper setup
Отвечайте «Y» на все вопросы скрипта и дождитесь его завершения, пока консоль снова не покажет приглашение ввода. Затем перезагрузите сервер: либо через кнопку Reboot во вкладке Summary, либо набрав команду reboot в консоли Shell и нажав Enter.
Далее нужно установить хост-драйвер NVIDIA vGPU. После перезагрузки скопируйте файл nvidia driver на узел с помощью SSH/SCP-клиента (например, WinSCP).
Примечание: Если вы скачали драйверы единственным архивом (.zip), распакуйте его и выберите файл .run из каталога Host_Drivers.
Поместите файл в каталог /home на сервере и выполните следующие команды:
cd /home
chown root NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run
chmod +x NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run
./NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run --dkms
Примечание: замените NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run на фактическое имя скачанного вами драйвера. Чтобы уточнить имя файла в каталоге /home, используйте команду ls.
Теперь, когда драйвер установлен, до завершения настройки vGPU-хоста Proxmox осталось всего несколько шагов. Прежде чем «разделить» GPU между виртуальными машинами, необходимо включить Single Root I/O Virtualization (SR-IOV). NVIDIA определяет SR-IOV как «технологию, позволяющую одному физическому устройству PCIe отображаться в системе несколько раз, создавая несколько виртуальных экземпляров с собственными ресурсами». Поскольку SR-IOV критически важен для работы vGPU на современных видеокартах, активируйте его и добавьте в автозапуск командой:
Наконец можно распределить ресурсы GPU между виртуальными машинами. В веб-интерфейсе Proxmox VE нажмите Datacenter в левом верхнем углу и прокрутите список до вкладки Resource Mappings.
Нажмите кнопку Add в разделе PCI Devices и во всплывающем окне введите в поле Name: понятное название настраиваемого GPU.
Далее отметьте флажок Use with Mediated Devices и убедитесь, что в выпадающем меню Mapping on Node выбран узел с нужной видеокартой. Прокрутите список устройств и проверьте, что во всех строках в столбце Vendor указано «NVIDIA Corporation». Если это так, установите чек-бокс в левом верхнем углу таблицы, чтобы выбрать все устройства; в противном случае отметьте только те, у которых вендор — «NVIDIA Corporation».
Примечание: если в системе несколько GPU, выполните команду lspci во вкладке Shell нужного сервера, чтобы определить идентификаторы, соответствующие каждой карте.
Закончив выбор, нажмите Create в правом нижнем углу окна, чтобы подтвердить. Ваша видеокарта NVIDIA готова к «нарезке» на vGPU для гостевых систем Proxmox VE.
Обслуживаем гостей (назначение vGPU виртуальным машинам)
Все предварительные шаги завершены, и теперь можно назначать vGPU proxmox конкретным ВМ. Создайте новую виртуальную машину — либо используйте уже существующую. В нашем примере это будет ВМ Windows Server 2025.
В веб-интерфейсе Proxmox VE выключите виртуальную машину удобным вам способом (noVNC, меню питания гостя и т. д.) и откройте у неё вкладку Hardware.
В выпадающем меню, которое появится после нажатия кнопки «Add», выберите пункт «PCI Device».
Во всплывающем окне «Add: PCI Device» выберите в поле «Device:» имя, которое вы задали для GPU при настройке сопоставления ресурсов.
Далее щёлкните по полю «MDev Type:» и посмотрите на список доступных типов виртуальных GPU-профилей. В каждой строке вы увидите числовое и буквенное обозначение:
- Число — объём видеопамяти, который получит гость (в гигабайтах).
- Буква определяет назначение профиля:
- Q — виртуальные рабочие станции с драйверами RTX Enterprise (нужна лицензия RTX vWS).
- B — виртуальные десктопы (нужна лицензия NVIDIA Virtual PC или RTX vWS).
- A — применения уровня приложений (нужна лицензия NVIDIA Virtual Applications).
Примечание: подробнее о профилях vGPU и требуемых лицензиях можно прочитать на сайте NVIDIA.
В этом примере мы выбрали профиль «NVIDIA L40S-12Q». После того как вы выберете нужный тип виртуального устройства, установите флажок «PCI-Express» и нажмите синюю кнопку «Add».
Теперь у виртуальной машины назначен vGPU, осталось установить гостевой драйвер и лиценз-токен. Запускайте ВМ и входите в систему.
После входа в систему скопируйте гостевой драйвер NVIDIA vGPU, заранее скачанный из лицензионного портала, на виртуальную машину любым удобным способом — SMB, SCP, прямой загрузкой и т. д. Если требуется развернуть сразу несколько ВМ с vGPU, можно создать ISO-образ с драйвером (например, через ImgBurn), загрузить его в хранилище PVE и подключать как виртуальный CD-привод.
Запустите установщик драйвера двойным щелчком по исполняемому файлу и следуйте инструкциям мастера установки.
Извлеките драйвер в директорию по умолчанию, указанную в поле «Extraction path:», и при появлении запроса выберите вариант установки «Express».
После завершения установки драйвера нажмите кнопку «CLOSE», чтобы закрыть окно.
Далее нужно активировать лицензию vGPU внутри гостевой системы. Конкретные шаги зависят от того, используется ли Dedicated Licensing Server (DLS) или Cloud Licensing Server (CLS) и от типа ОС. Подробную процедуру смотрите в License System Quick Start Guide и Client Licensing User Guide компании NVIDIA.
В нашем примере применялся CLS: мы получили лицензионный токен-файл, который следует поместить в гостевую ОС для активации. Скопируйте этот файл на виртуальную машину и перенесите его в каталог:
C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken
Затем необходимо перезагрузить гостевую систему, чтобы завершить процесс активации.
После всех описанных настроек хоста и гостевых систем можно запускать любые программы и приложения, требующие GPU-ускорения. Не забудьте включить RDP или установить любимое ПО для удалённого доступа, чтобы наслаждаться дистанционной работой с графикой после перезагрузки гостя.
Разгоняем двигатель (тестируем vGPU в Proxmox)
Теперь, когда у нас есть vGPU working Proxmox и виртуальные серверы с виртуальными видеокартами, пора проверить их в деле! Каждая ВМ получила фиксированные 8 vCPU Intel Xeon Platinum 8580 (4 физических ядра с Hyper-Threading), 32 ГБ регистровой DDR5-4800 МТ/с ECC-памяти и vGPU-профиль NVIDIA L40S-12Q (виртуальная рабочая станция) с 12 ГБ видеопамяти. Полную конфигурацию виртуальных машин смотрите ниже.
Cinebench 2024
Основанный на пакете 3D-моделирования и анимации Maxon Cinema 4D, Cinebench 2024 позволяет объективно оценить производительность рендеринга на vGPU. Сравним полные возможности L40S в профиле «48Q» (все 48 ГБ VRAM) для одной ВМ и четыре ВМ с профилем «12Q».
Хотя держать всю L40S в распоряжении одной виртуальной машины практически нецелесообразно, результат впечатляет — 21 147 баллов в однопроходном GPU-тесте. При разделении GPU на четыре части видно влияние тайм-слайсинга NVIDIA: индивидуальные результаты колеблются от 2 514 до 2 567 баллов, когда бенчмарк запускается одновременно на всех ВМ.
Повторный запуск теста на одной виртуальной машине с профилем «12Q» — при бездействующих остальных трёх ВМ — увеличивает результат до 15 133 баллов. Это, конечно, не уровень полного профиля «48Q», но всё же весьма достойно для разделённого vGPU.
Тесты Blender
Продолжаем рендер-бенчмарки в Blender. Как и в Cinebench 2024, разделение GPU на четыре части приводит к резкому падению общей производительности по сравнению с одной ВМ, выполняющей ту же сцену в том же профиле.
На примере сцены Monster видно: когда четыре ВМ делят вычислительную мощность, производительность отдельного рендера может составлять всего 8 % от результатов единственной ВМ с тем же профилем. При этом одна из машин иногда серьёзно опережает других — до 2,4 раза лучше худшего показателя.
Сцены Junkshop и Classroom рассказывают похожую историю: у трёх из четырёх ВМ наблюдается сильное проседание скорости, тогда как одна гостевая система получает заметно более высокий балл.
Любопытно, что время от времени одна ВМ получает приоритет и вырывается вперёд. Так, во время теста Classroom наша вторая ВМ Windows Server 2025 (WIN2025-2) показала производительность втрое выше, чем у «соседей», несмотря на одновременный запуск. Трудно сказать, связано ли это с планировщиком vGPU или особенностями самой карты, но подобные «скачки» характерны для тайм-слайсингового подхода NVIDIA к разделению ядра GPU.
Вывод
Настройка и поддержка ПО NVIDIA vGPU пока не так отполированы, как у некоторых конкурентов, однако это ценное дополнение для организаций и энтузиастов, уже использующих Proxmox VE. Несмотря на заметное снижение производительности при делении ресурсов, многие компании считают, что возможность «расшарить» GPU перевешивает этот минус по сравнению с традиционным GPU passthrough — подход, давно принятый гиперскейлерами и дата-центрами с ограниченным пространством.
Быстрый рост функциональности Proxmox — программно-определяемые сети, ядро Linux 6.11, собственная система DC-менеджмента и теперь Proxmox vGPU — доказывает, что платформа крепнет и становится серьёзным игроком на рынке гипервизоров. Будем следить за дальнейшими обновлениями и рассказывать о новых интересных инструментах, которые вскоре появятся в PVE!
Дмитрий Вавилов