GPU passthrough в Proxmox VE: полное руководство с решением типичных проблем
Меня зовут Семёнов Евгений Сергеевич, директор АйТи Фреш. Проброс видеокарт в виртуалки я настраиваю с 2018 года — от простых кейсов «пусть у бухгалтера будет аппаратное ускорение в RDP» до сложных сборок для видеомонтажа и AI-воркстейшенов. Расскажу, что у нас на практике работает стабильно, а какие грабли я собирал лично.
Что такое GPU passthrough и зачем он нужен
Passthrough — передача PCI-устройства полностью в виртуальную машину, минуя гипервизор. ОС внутри ВМ видит реальную видеокарту, ставит родной драйвер, работает с нативной производительностью. Типичные сценарии: рабочие места архитекторов, видеомонтажёров, CAD-инженеров на одном мощном сервере вместо парка тяжёлых рабочих станций.
Требования к железу
| Компонент | Требование |
|---|---|
| CPU | Intel VT-d или AMD-Vi |
| Материнская плата | Поддержка IOMMU, разрешена в BIOS |
| GPU | Любая NVIDIA/AMD с UEFI vBIOS |
| Вторая GPU | Желательна для хоста, иначе консоль теряется |
Включение IOMMU
# /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"
# Для AMD
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"
update-grub && reboot
# Проверка после перезагрузки
dmesg | grep -e DMAR -e IOMMU
Модули vfio и blacklist стандартных драйверов
# /etc/modules
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
# /etc/modprobe.d/blacklist.conf
blacklist nouveau
blacklist nvidia
blacklist nvidiafb
blacklist radeon
blacklist amdgpu
Привязка GPU к vfio-pci
# Определяем PCI-адрес и device ID
lspci -nn | grep -i nvidia
# 01:00.0 VGA [0300]: NVIDIA Corporation GA102 [GeForce RTX 3080] [10de:2206]
# 01:00.1 Audio [0403]: NVIDIA Corporation GA102 HD Audio [10de:1aef]
# /etc/modprobe.d/vfio.conf
options vfio-pci ids=10de:2206,10de:1aef disable_vga=1
update-initramfs -u -k all && reboot
Проверка IOMMU-групп
for d in /sys/kernel/iommu_groups/*/devices/*; do
n=${d#*/iommu_groups/*}; n=${n%%/*}
printf 'IOMMU Group %s ' "$n"; lspci -nns "${d##*/}"
done | sort -V
Видеокарта и её HDMI-аудио должны быть в одной группе и без других устройств. Если есть «соседи» — поможет патч ACS override или придётся переставить карту в другой слот.
Настройка ВМ
# /etc/pve/qemu-server/100.conf
bios: ovmf
machine: q35
cpu: host,hidden=1,flags=+pcid
args: -cpu 'host,kvm=off,hv_vendor_id=null'
hostpci0: 0000:01:00,pcie=1,x-vga=1
Мини-кейс: виртуальная AI-воркстейшн
Январь 2026, клиент — дизайн-студия в Москве. На сервере Dell R7525 с двумя Xeon Platinum 8280, 512 ГБ ECC RAM и четырьмя RTX A6000 развернул четыре Windows 11 ВМ с индивидуальным GPU passthrough. Пользователи подключаются через Parsec, latency 6-9 мс внутри офиса. DaVinci Resolve Studio и Blender работают на нативной скорости. Сервер в дата-центре МТС, 40G Mellanox до офиса. Стоимость железа — 3,8 млн руб., внедрение — 180 000 руб., срок — 4 дня.
Типичные ошибки
- Code 43 — NVIDIA detects ВМ. Решается hv_vendor_id=null и kvm=off.
- Boot hangs после vfio — забыли update-initramfs.
- VGA reset bug на AMD — нужен vendor-reset патч ядра.
- IOMMU группа с соседями — ACS override или смена PCIe-слота.
- Чёрный экран в ВМ — отсутствует UEFI vBIOS, нужен dump через GPU-Z и ROMfile.
Настроим GPU passthrough за один рабочий день
Подбор видеокарты под задачу, сборка сервера, настройка IOMMU и vfio, тестирование производительности. Видеомонтаж, CAD, AI-воркстейшены, игровые стенды.
Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш
FAQ — частые вопросы
- Какой процессор нужен для GPU passthrough?
- Любой с поддержкой VT-d (Intel) или AMD-Vi. На серверных Xeon и EPYC работает сразу, на десктопных i5/i7 нужно проверять и включать в BIOS.
- Почему драйвер NVIDIA выдаёт Code 43?
- NVIDIA на consumer-картах блокирует работу в ВМ. Решается параметром hypervisor=off в args машины и изменением vendor_id.
- Можно ли пробросить GPU в контейнер LXC?
- Да, через cgroup и bind mount /dev/nvidia*. Это не полноценный passthrough, но для CUDA-вычислений работает хорошо.
- Что такое IOMMU-группа?
- Набор устройств, которые изолируются вместе. Если GPU в одной группе с контроллером USB — пробрасывать придётся обе, иначе не получится.
- Работает ли vGPU на бесплатном Proxmox?
- vGPU требует лицензии NVIDIA vGPU Enterprise. Для бесплатных сценариев есть патчи vgpu_unlock, но это grey-зона и не для продакшна.