Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    [Руководство] Как обойти промежуточные устройства и видеокарты Nvidia одновременно Привет!

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    [Руководство] Как обойти промежуточные устройства и видеокарты Nvidia одновременно Привет!, Proxmox Виртуальная Среда
     
    alpha754293
    Guest
    #1
    0
    02.07.2025 05:02:00
    Я решил поделиться своими заметками/руководством по развертыванию для передачи (passthrough) устройств, подключенных через посредника (например, Intel iGPU). Я использую 6700K, так что, теоретически, это должно работать для процессоров 6-го по 11-го поколения. Для процессоров 12-го по 14-го поколения, которые используют графику Intel Iris Xe вместо (U)HD <<номер>>, есть инструкции в интернете о том, как включить SR-IOV для Intel Iris Xe. На самом деле, это даже лучше, потому что вы можете поделиться этим iGPU между большим количеством ВМ, чем с моим посредническим устройством. В любом случае, это лучше, чем иметь возможность передавать HD 530 Graphics только одной ВМ одновременно (в то время как с посредническим устройством я могу запускать две ВМ, используя его), если кому-то это нужно или есть для этого сценарий использования. У меня также есть пара 3090, поэтому я провёл исследования и тестировал их на своей системе, чтобы они работали вместе (чтобы вы могли передавать 3090 для игр и/или локально размещаемых AI-рабочих нагрузок) и одновременно использовать HD 530 Graphics. Когда я пытался устранить свои недавние проблемы (которые в итоге не были связаны с моей настройкой), можно найти кое-какие материалы о посреднических устройствах и кое-какие материалы о передаче dGPU Nvidia, но никогда не в одном месте. Поэтому я делюсь своими заметками/руководством с сообществом, чтобы это было «однооконное решение» для тех, кому это может быть полезно. Без лишних слов:

    Установите базовую операционную систему, следуя подсказкам.
    Отключите корпоративные репозитории (если у вас нет платной подписки/лицензии) и добавьте репозиторий no-subscription через GUI Proxmox.
    Обновите систему:
    `# apt update && apt upgrade -y`
    `# apt install -y nfs-kernel-server lm-sensors pixz build-essential pve-headers-$(uname -r) wget curl gpg make`
    `# pveam update`
    Создайте вашу локальную группу pve и пользователей, а также системного пользователя (который аутентифицируется с использованием системной аутентификации, а не PVE PAM аутентификации).
    Обновите grub:
    Отредактируйте конфигурацию grub:
    `# vi /etc/default/grub`
    Измените эту строку:
    `GRUB_CMDLINE_LINUX_DEFAULT="quiet"`
    На
    `GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt i915.enable_gvt=1 systemd.unified_cgroup_hierarchy=0 disable_vga=1 vfio-pci.ids=10de:2204,10de:1aef video=vesafbff,efifbff initcall_blacklist=sysfb_init nofb pcie_acs_override=downstream"`
    Обратите внимание: Если вы включите nomodeset в параметры загрузки ядра, графический процессор Intel HD 530 Graphics не будет работать как посредническое устройство. Поэтому не включайте это в параметры загрузки ядра.
    `# update-grub; reboot`
    Проверьте, что IOMMU успешно включен.
    `# dmesg | grep -e DMAR -e IOMMU`

    [ 0.000000] Предупреждение: переопределения PCIe ACS включены; это может разрешить одноранговый DMA, не защищенный IOMMU.
    [ 0.007731] ACPI: DMAR 0x000000008EA3BFB8 000078 (v01 INTEL KBL 00000001 INTL 00000001)
    [ 0.007773] ACPI: Зарезервировано место в памяти таблицы DMAR [mem 0x8ea3bfb8-0x8ea3c02f]
    [ 0.090674] DMAR: IOMMU включен
    [ 0.220361] DMAR: Ширина адреса хоста 39
    [ 0.220362] DMAR: Базовый адрес DRHD: 0x000000fed90000 флаги: 0x1
    [ 0.220365] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap d2008c40660462 ecap f050da
    [ 0.220367] DMAR: Базовый адрес RMRR: 0x0000008d962000 конец: 0x0000008d981fff
    [ 0.220369] DMAR-IR: ID контроллера IOAPIC 2 под DRHD base 0xfed90000 IOMMU 0
    [ 0.220370] DMAR-IR: ID HPET 0 под DRHD base 0xfed90000
    [ 0.220370] DMAR-IR: Включено переключение недействительности по запросу для поддержки x2apic и Intr-remapping.
    [ 0.221718] DMAR-IR: Включено переключение IRQ в режиме x2apic
    [ 0.440174] DMAR: [Ошибка прошивки]: запись RMRR для устройства 03:00.0 повреждена — применяется обходной путь
    [ 0.440176] DMAR: Не найдено ATSR
    [ 0.440176] DMAR: Не найдено SATC
    [ 0.440178] DMAR: dmar0: Используется переключение по запросу
    [ 0.440333] DMAR: Intel® Виртуализация Technology для Directed I/O

    Вы можете использовать этот скрипт, который я нашёл, чтобы проверить группы IOMMU:
    `# vi check.sh`
    `#!/bin/bash`
    `shopt -s nullglob`
    `for g in /sys/kernel/iommu_groups/*; do`
    `echo "IOMMU Group ${g##*/}:"`
    `for d in $g/devices/*; do`
    `echo -e "\t$(lspci -nns ${d##*/})" `
    `done;`
    `done;`
    `save,quit`
    `# chmod +x check.sh`
    `# ./check.sh`
    Отредактируйте следующие файлы для подготовки к передаче GPU Nvidia:
    (Вы можете найти PCI ID своей Nvidia через `lspci -nn | grep -i nvidia`)
    `# vi /etc/modprobe.d/vfio.conf`
    `options vfio-pci ids=10de:2531,10de:228e disable_vga=1`
    `# vi /etc/modprobe.d/kvm.conf`
    `options kvm ignore_msrs=1`
    `# vi /etc/modprobe.d/iommu_unsafe_interrupts.conf`
    `options vfio_iommu_type1 allow_unsafe_interrupts=1`
    `# vi /etc/modprobe.d/pve-blacklist.conf`
    `blacklist nvidia`
    `blacklist nouveau`
    `blacklist radeon`
    `save,quit`
    `# vi /etc/modprobe.d/blacklist.conf`
    `blacklist nvidiafb`
    `blacklist nvidia`
    `blacklist nouveau`
    `blacklist radeon`
    `save,quit`
    `# vi /etc/modules`
    # Модули, необходимые для передачи PCI
    `vfio`
    `vfio_iommu_type1`
    `vfio_pci`
    `vfio_virqfd`
    # Модули, необходимые для GVT Intel
    `kvmgt`
    `exngt`
    `vfio-mdev`
    `save,quit`
    `# update-initramfs -u -k all; update-grub; reboot`
    Проверьте, что всё работает правильно. Если нет, просмотрите и/или повторите шаги соответствующего раздела, чтобы убедиться, что они были выполнены правильно.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры