Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    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 Виртуальная Среда
    GPU PCI passthrough для Nvidia RTX 4070 на Intel i7 13700

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    GPU PCI passthrough для Nvidia RTX 4070 на Intel i7 13700, Proxmox Виртуальная Среда
     
    murgo
    Guest
    #1
    0
    11.03.2024 23:21:00
    Привет всем!

    Недавно купил ZOTAC MagnusOne с процессором 13-го поколения Intel® Core™ i7-13700 (1 Socket) и видеокартой NVIDIA RTX 4070. Решил попробовать Proxmox, поэтому установил Proxmox VE 8.1 с ядром Linux 6.5.13-1-pve и попытался настроить передачу PCI устройств через GPU passthrough. Я следовал процедуре, описанной в официальной документации для текущей версии Proxmox VE (https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qm_pci_passthrough), и сделал следующее:

    1.  Я изменил файл `/etc/default/grub` и добавил следующую строку: `GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt initcall_blacklist=sysfb_init"`
    2.  Я изменил файл `/etc/modules` следующим образом:

       ```
       vfio
       vfio_iommu_type1
       vfio_pci
       ```
    3.  Я обновил систему и перезагрузил её: `update-initramfs -u -k all reboot`
    4.  Я проверил, всё ли в порядке с помощью команды `lsmod | grep vfio`, и получил следующее:

       ```
       vfio_pci               16384  0
       vfio_pci_core          86016  1 vfio_pci
       vfio_pci_core          86016  1
       vfio_pci irqbypass              12288  2 vfio_pci_core,kvm
       vfio_iommu_type1       49152  0
       vfio                   57344  3 vfio_pci_core,vfio_iommu_type1,vfio_pci
       iommufd                77824  1 vfio
       ```
    5.  Затем я использовал команду `dmesg | grep -e DMAR -e IOMMU -e AMD-Vi` и получил следующий результат:

       ```
       [ 0.012839] ACPI: DMAR 0x0000000044CA1000 000088 (v02 INTEL EDK2 00000002 01000013)
       [ 0.012864] ACPI: Reserving DMAR table memory at [mem 0x44ca1000-0x44ca1087]
       [ 0.155636] DMAR: Host address width 39
       [ 0.155637] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
       [ 0.155640] DMAR: dmar0: reg_base_addr fed90000 ver 4:0 cap 1c0000c40660462 ecap 29a00f0505e
       [ 0.155641] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
       [ 0.155645] DMAR: dmar1: reg_base_addr fed91000 ver 5:0 cap d2008c40660462 ecap f050da
       [ 0.155646] DMAR: RMRR base: 0x0000004e000000 end: 0x000000523fffff
       [ 0.155648] DMAR-IR: IOAPIC id 2 under DRHD base 0xfed91000 IOMMU 1
       [ 0.155648] DMAR-IR: HPET id 0 under DRHD base 0xfed91000
       [ 0.155649] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
       [ 0.156512] DMAR-IR: Enabled IRQ remapping in x2apic mode
       [ 0.340822] pci 0000:00:02.0: DMAR: Skip IOMMU disabling for graphics
       [ 0.406829] DMAR: Intel® Virtualization Technology for Directed I/O
       ```

    Документация говорит, что лучше проверить, включён ли DMAR IOMMU. Тогда я запустил команду `grep ‘remapping’` и получил:

    ```
    [ 0.155649] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
    [ 0.156512] DMAR-IR: Enabled IRQ remapping in x2apic mode
    ```

    Таким образом, кажется, что DMAR IOMMU не включён. Поэтому я добавил это: `echo "options vfio-iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf`

    Затем я запустил `pvesh get /nodes/{nodename}/hardware/pci --pci-class-blacklist “"`, чтобы проверить, находятся ли устройства в отдельных группах IOMMU, и получил:

    ```
    0x030000 │ 0x2786 │ 0000:01:00.0 │         17 │ 0x10de │ AD104 [GeForce RTX 4070] │ │ 0x2714 │ 0x040300 │ 0x22bc │ 0000:01:00.1 │ 17 │ 0x10de │ │ │ 0x2714 │ 6
    ```

    Теперь мне нужно зачеркнуть драйверы. Поэтому я делаю следующее:

    ```
    echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
    echo "blacklist nvidia*" >> /etc/modprobe.d/blacklist.conf
    ```

    и перезагружаю систему.

    Затем я использую команду `lspci -k | grep -A 3 “VGA”`, и получаю:

    ```
    01:00.0 VGA compatible controller: NVIDIA Corporation AD104 [GeForce RTX 4070] (rev a1)
    Subsystem: ZOTAC International (MCO) Ltd. AD104 [GeForce RTX 4070]
    Kernel modules: nvidiafb, nouveau
    01:00.1 Audio device: NVIDIA Corporation Device 22bc (rev a1)
    ```

    Кажется, что зачеркивание драйверов не работает. Таким образом, основываясь на официальной документации, я проверил ROM с помощью анализатора ROM и получил:

    ```
    Valid ROM signature found @0h, PCIR offset 170h
    PCIR: type 0 (x86 PC-AT), vendor: 10de, device: 2786, class: 030000
    PCIR: revision 0, vendor revision: 1
    Valid ROM signature found @fc00h, PCIR offset 1ch
    PCIR: type 3 (EFI), vendor: 10de, device: 2786, class: 000000
    PCIR: revision 3, vendor revision: 0
    EFI: Signature Valid, Subsystem: Boot, Machine: X64
    Last image
    ```

    Затем я вернулся и использовал команду `lspci -k | grep -A 3 “VGA”`, но снова получил:

    ```
    01:00.0 VGA compatible controller: NVIDIA Corporation AD104 [GeForce RTX 4070] (rev a1)
    Subsystem: ZOTAC International (MCO) Ltd. AD104 [GeForce RTX 4070]
    Kernel modules: nvidiafb, nouveau
    01:00.1 Audio device: NVIDIA Corporation Device 22bc (rev a1)
    ```

    Документация говорит, что нужно добавить это: `options vfio-pci ids=Id:vendor, id:vendor` к файлу `.conf` в папке `/etc/modprob.d/`. Но если я это сделаю, система не загружается, и нет других вещей, которые можно было бы сделать, кроме как переустановить Proxmox.

    Несмотря на эти результаты, я попытался создать VM с прикрепленным PCI устройством, а затем получил сообщение об ошибке; stopped: unable to read tail (got 0 bytes)

    В этот момент я не знаю, что делать. Я был бы благодарен, если бы кто-нибудь мог помочь.

    Спасибо заранее!
     
     
     
    murgo
    Guest
    #2
    0
    16.03.2024 15:12:00
    Всем привет, небольшое обновление. Похоже, я частично определил проблему. При запуске команды `update-initramfs -u -k all` я получал эту ошибку: Bash: update-initramfs: Generating /boot/initrd.img-6.5.13-1-pve
    Running hook script 'zz-proxmox-boot'..
    Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace..
    No /etc/kernel/proxmox-boot-uuids found, skipping ESP sync.
    update-initramfs: Generating /boot/initrd.img-6.5.11-8-pve
    Running hook script 'zz-proxmox-boot'..
    Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace..
    No /etc/kernel/proxmox-boot-uuids found, skipping ESP sync. Чтобы решить проблему, я следовал процедуре, предложенной здесь, которая включает использование файловой системы ext4 и GRUB. Это позволило мне включить DMAR IOMMU. Тем не менее, передача GPU по-прежнему не работала, с той же ошибкой: stopped: unable to read tail (got 0 bytes). Поэтому я подключил другую GPU с помощью внешнего корпуса с Thunderbolt, и все заработало с новой GPU (NVIDIA RTX 2080 Ti). Таким образом, проблема, похоже, связана с NVIDIA RTX 4070. Были ли у кого-то похожий опыт? Буду очень благодарен за любую помощь.
     
     
     
    vaniat
    Guest
    #3
    0
    02.06.2025 20:34:00
    Или это проблема с конкретной версией NVIDIA от OEM-производителя. У меня та же самая проблема, и решения пока нет.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

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