Jak nakonfigurovat Proxmox VE 8 pro PCI/PCIE a NVIDIA GPU Passthrough

Jak Nakonfigurovat Proxmox Ve 8 Pro Pci Pcie A Nvidia Gpu Passthrough



Proxmox VE 8 je jedním z nejlepších open source a bezplatných hypervizorů Type-I pro provozování virtuálních strojů (VM) QEMU/KVM a kontejnerů LXC. Má pěkné webové rozhraní pro správu a spoustu funkcí.

Jednou z nejúžasnějších funkcí Proxmox VE je, že dokáže procházet zařízeními PCI/PCIE (tj. GPU NVIDIA) z vašeho počítače do virtuálních strojů Proxmox VE (VM). Průchod PCI/PCIE je stále lepší a lepší s novějšími verzemi Proxmox VE. V době psaní tohoto článku je nejnovější verzí Proxmox VE Proxmox VE v8.1 a má skvělou podporu PCI/PCIE passthrough.







V tomto článku vám ukážu, jak nakonfigurovat hostitele/server Proxmox VE 8 pro průchod PCI/PCIE a nakonfigurovat GPU NVIDIA pro průchod PCIE na virtuálních strojích (VM) Proxmox VE 8.





Obsah

  1. Povolení virtualizace z firmwaru BIOS/UEFI vaší základní desky
  2. Instalace Proxmox VE 8
  3. Povolení komunitních úložišť Proxmox VE 8
  4. Instalace aktualizací na Proxmox VE 8
  5. Povolení IOMMU z firmwaru BIOS/UEFI vaší základní desky
  6. Povolení IOMMU na Proxmox VE 8
  7. Ověření, zda je na Proxmox VE 8 povolena IOMMU
  8. Načítání modulů jádra VFIO na Proxmox VE 8
  9. Výpis skupin IOMMU na Proxmox VE 8
  10. Kontrola, zda vaše GPU NVIDIA může být průchozí do virtuálního počítače Proxmox VE 8 (VM)
  11. Kontrola modulů jádra na černou listinu pro PCI/PCIE Passthrough na Proxmox VE 8
  12. Černá listina požadovaných modulů jádra pro PCI/PCIE Passthrough na Proxmox VE 8
  13. Konfigurace GPU NVIDIA pro použití modulu jádra VFIO na Proxmox VE 8
  14. Průchod GPU NVIDIA do virtuálního počítače Proxmox VE 8 (VM)
  15. Stále máte problémy s průchodem PCI/PCIE na virtuálních strojích (VM) Proxmox VE 8?
  16. Závěr
  17. Reference





Povolení virtualizace z firmwaru BIOS/UEFI vaší základní desky

Než budete moci nainstalovat Proxmox VE 8 na váš počítač/server, musíte povolit funkci hardwarové virtualizace vašeho procesoru z firmwaru BIOS/UEFI vaší základní desky. Proces se liší pro různé základní desky. Pokud tedy potřebujete pomoc s aktivací hardwarové virtualizace na vaší základní desce, přečtěte si tento článek .



Instalace Proxmox VE 8

Proxmox VE 8 je zdarma ke stažení, instalaci a používání. Než začnete, nezapomeňte na svůj počítač nainstalovat Proxmox VE 8. Pokud s tím potřebujete pomoc, přečtěte si tento článek .

Povolení komunitních úložišť Proxmox VE 8

Jakmile budete mít Proxmox VE 8 nainstalovaný na vašem počítači/serveru, ujistěte se povolit úložiště komunitních balíčků Proxmox VE 8 .

Ve výchozím nastavení jsou úložiště podnikových balíčků Proxmox VE 8 povolena a nebudete moci získat/instalovat aktualizace a opravy chyb z podnikových úložišť, pokud si nezakoupíte podnikové licence Proxmox VE 8. Takže, pokud chcete používat Proxmox VE 8 zdarma, ujistěte se, že ano povolit úložiště komunitních balíčků Proxmox VE 8 získat nejnovější aktualizace a opravy chyb z Proxmox zdarma.

Instalace aktualizací na Proxmox VE 8

Jakmile budete mít povolil repozitáře komunitních balíčků Proxmox VE 8 , ujistěte se nainstalujte všechny dostupné aktualizace na váš server Proxmox VE 8 .

Povolení IOMMU z firmwaru BIOS/UEFI vaší základní desky

Konfigurace IOMMU se nachází na různých místech na různých základních deskách. Chcete-li povolit IOMMU na základní desce, přečtěte si tento článek .

Povolení IOMMU na Proxmox VE 8

Jakmile je IOMMU povoleno na hardwarové straně, musíte také povolit IOMMU ze strany softwaru (od Proxmox VE 8).

Chcete-li povolit IOMMU z Proxmox VE 8, musíte přidat následující spouštěcí parametry jádra:

Prodejce procesoru Parametry spouštění jádra k přidání
Intel intel_iommu=on, iommu=pt
AMD iommu=pt

Chcete-li upravit spouštěcí parametry jádra Proxmox VE 8, otevřete soubor /etc/default/grub soubor s textovým editorem nano takto:

$ nano /etc/default/grub

Na konci GRUB_CMDLINE_LINUX_DEFAULT , přidejte požadované parametry spouštění jádra pro povolení IOMMU v závislosti na procesoru, který používáte.

Protože používám procesor AMD, přidal jsem pouze parametr spouštění jádra iommu=pt na konci GRUB_CMDLINE_LINUX_DEFAULT linka v /etc/default/grub soubor.

Až budete hotovi, stiskněte + X následován A a zachránit /etc/default/grub soubor.

Nyní aktualizujte spouštěcí konfigurace GRUB pomocí následujícího příkazu:

$ update-grub2

Jakmile jsou konfigurace spouštění GRUB aktualizovány, klikněte na Restartujte restartujte server Proxmox VE 8, aby se změny projevily.

Ověření, zda je na Proxmox VE 8 povolena IOMMU

Chcete-li ověřit, zda je na Proxmox VE 8 povolena IOMMU, spusťte následující příkaz:

$ dmesg | grep -e DMAR -e IOMMU

Pokud je IOMMU povoleno, uvidíte některé výstupy potvrzující, že je IOMMU povoleno.

Pokud není IOMMU povoleno, nemusíte vidět žádné výstupy.

Musíte také mít Přemapování přerušení IOMMU povoleno pro průchod PCI/PCIE.

Chcete-li zkontrolovat, zda je na vašem serveru Proxmox VE 8 povoleno přemapování přerušení IOMMU, spusťte následující příkaz:

$ dmesg | grep 'přemapování'

Jak můžete vidět, na mém serveru Proxmox VE 8 je povoleno přemapování přerušení IOMMU.

Většina moderních procesorů AMD a Intel bude mít povoleno přemapování přerušení IOMMU. Pokud z nějakého důvodu nemáte povoleno přemapování přerušení IOMMU, existuje řešení. Musíte povolit Nebezpečná přerušení pro VFIO. Přečtěte si tento článek Další informace o povolení nebezpečných přerušení na vašem serveru Proxmox VE 8.

Načítání modulů jádra VFIO na Proxmox VE 8

Průchod PCI/PCIE provádějí hlavně moduly jádra VFIO (Virtual Function I/O) na Proxmox VE 8. Moduly jádra VFIO se ve výchozím nastavení na Proxmox VE 8 nenačítají při bootování. Načíst VFIO je však snadné. moduly jádra při bootování na Proxmox VE 8.

Nejprve otevřete /etc/modules-load.d/vfio.conf soubor s nano textový editor takto:

$ nano /etc/modules-load.d/vfio.conf

Zadejte následující řádky do /etc/modules-load.d/vfio.conf soubor.

vfio

vfio_iommu_type1

vfio_pci

Až budete hotovi, stiskněte + X následován A a pro uložení změn.

Nyní aktualizujte initramfs vaší instalace Proxmox VE 8 pomocí následujícího příkazu:

$ update-initramfs -u -k all

Jakmile je initramfs aktualizován, klikněte na Restartujte restartujte server Proxmox VE 8, aby se změny projevily.

Jakmile váš server Proxmox VE 8 nabootuje, měli byste vidět, že jsou načteny všechny požadované moduly jádra VFIO.

$ lsmod | grip vfio

Výpis skupin IOMMU na Proxmox VE 8

Chcete-li procházet zařízeními PCI/PCIE na virtuálních strojích (VM) Proxmox VE 8, budete muset poměrně často kontrolovat skupiny IOMMU vašich zařízení PCI/PCIE. Abych usnadnil kontrolu skupin IOMMU, rozhodl jsem se napsat skript shellu (získal jsem ho z GitHubu, ale nepamatuji si název původního plakátu) do cesty /usr/local/bin/print-iommu-groups abych mohl běžet print-iommu-groups a vytiskne skupiny IOMMU na shell Proxmox VE 8.

Nejprve vytvořte nový soubor print-iommu-groups v cestě /usr/local/bin a otevřete jej pomocí textového editoru nano takto:

$ nano /usr/local/bin/print-iommu-groups

Zadejte následující řádky do print-iommu-groups soubor:

#!/bin/bash

obchody -s nullglob

pro G v ' nalézt / sys / jádro / iommu_groups /* - maximální hloubka 0 -typ d | seřadit -V ' ; dělat

echo „Skupina IOMMU ${g##*/} :'

pro d v $ g / zařízení /* ; dělat

echo -To je ' \t $(lspci -nns ${d##*/}) '

Hotovo ;

Hotovo ;

Až budete hotovi, stiskněte + X následován A a pro uložení změn do print-iommu-groups soubor.

Udělat print-iommu-groups soubor skriptu spustitelný pomocí následujícího příkazu:

$ chmod +x /usr/local/bin/print-iommu-groups

Nyní můžete spustit print-iommu-groups následujícím příkazem vytisknete skupiny IOMMU zařízení PCI/PCIE nainstalovaných na vašem serveru Proxmox VE 8:

$ print-iommu-groups

Jak můžete vidět, jsou vytištěny skupiny IOMMU zařízení PCI/PCIE nainstalovaných na mém serveru Proxmox VE 8.

Kontrola, zda vaše GPU NVIDIA může být průchozí do virtuálního počítače Proxmox VE 8 (VM)

Aby bylo možné zařízení PCI/PCIE předat virtuálnímu počítači (VM) Proxmox VE 8, musí být ve vlastní skupině IOMMU. Pokud 2 nebo více zařízení PCI/PCIE sdílí skupinu IOMMU, nemůžete přenést žádné ze zařízení PCI/PCIE této skupiny IOMMU na žádné virtuální stroje (VM) Proxmox VE 8.

Pokud je tedy váš GPU NVIDIA a jeho zvukové zařízení ve vlastní skupině IOMMU, můžete GPU NVIDIA přenést do libovolného virtuálního stroje (VM) Proxmox VE 8.

Na svém serveru Proxmox VE 8 používám základní desku MSI X570 ACE spárovanou s procesorem Ryzen 3900X a GPU Gigabyte RTX 4070 NVIDIA. Podle skupin IOMMU mého systému mohu projít GPU NVIDIA RTX 4070 (IOMMU Group 21), RTL8125 2,5Gbe Ethernet Controller (IOMMU Group 20), Intel I211 Gigabit Ethernet Controller (IOMMU Group 19), USB 3.0 řadič ( IOMMU Group 24) a integrovaný HD Audio Controller (IOMMU Group 25).

$ print-iommu-groups

Protože se tento článek zaměřuje především na konfiguraci Proxmox VE 8 pro přechod přes GPU NVIDIA na virtuální stroje Proxmox VE 8, musí být GPU NVIDIA a jeho zvukové zařízení ve vlastní skupině IOMMU.

Kontrola modulů jádra na černou listinu pro PCI/PCIE Passthrough na Proxmox VE 8

Chcete-li procházet zařízením PCI/PCIE na virtuálním počítači (VM) Proxmox VE 8, musíte se ujistit, že jej Proxmox VE vynutí používat modul jádra VFIO místo jeho původního modulu jádra.

Chcete-li zjistit, jaký modul jádra používají vaše zařízení PCI/PCIE, budete potřebovat znát ID dodavatele a ID zařízení těchto zařízení PCI/PCIE. ID dodavatele a ID zařízení zařízení PCI/PCIE můžete najít pomocí print-iommu-groups příkaz.

$ print-iommu-groups

Například ID dodavatele a ID zařízení mého GPU NVIDIA RTX 4070 je 10de:2786 a je to zvukové zařízení 10de:22 před naším letopočtem .

Chcete-li najít modul jádra zařízení PCI/PCIE 10de:2786 (můj GPU NVIDIA RTX 4070) používá, spusťte lspci příkaz takto:

$ lspci -v -d 10de:2786

Jak můžete vidět, moje GPU NVIDIA RTX 4070 používá nvidiafb a Nový ve výchozím nastavení moduly jádra. V tuto chvíli je tedy nelze předat virtuálnímu počítači (VM) Proxmox VE 8.

Zvukové zařízení mého GPU NVIDIA RTX 4070 používá snd_hda_intel modul jádra. V tomto okamžiku jej tedy nelze předat ani virtuálnímu počítači Proxmox VE 8.

$ lspci -v -d 10de:22bc

Abych tedy mohl projít můj GPU NVIDIA RTX 4070 a jeho zvukové zařízení na virtuálním stroji Proxmox VE 8 (VM), musím na černou listinu nvidiafb , Nový , a snd_hda_intel moduly jádra a nakonfiguruji můj GPU NVIDIA RTX 4070 a jeho zvukové zařízení tak, aby vfio-pci modul jádra.

Černá listina požadovaných modulů jádra pro PCI/PCIE Passthrough na Proxmox VE 8

Chcete-li zakázat moduly jádra na Proxmox VE 8, otevřete soubor /etc/modprobe.d/blacklist.conf soubor s textovým editorem nano takto:

$ nano /etc/modprobe.d/blacklist.conf

Chcete-li moduly jádra na černou listinu Nový , nvidiafb , a snd_hda_intel moduly jádra (pro průchod GPU NVIDIA), přidejte následující řádky do souboru /etc/modprobe.d/blacklist.conf soubor:

černá listina nouveau

blacklist nvidiafb

blacklist snd_hda_intel

Až budete hotovi, stiskněte + X následován A a zachránit /etc/modprobe.d/blacklist.conf soubor.

Konfigurace GPU NVIDIA pro použití modulu jádra VFIO na Proxmox VE 8

Chcete-li nakonfigurovat zařízení PCI/PCIE (tj. vaše GPU NVIDIA) pro použití modulu jádra VFIO, musíte znát jejich ID dodavatele a ID zařízení.

V tomto případě je ID dodavatele a ID zařízení mého GPU NVIDIA RTX 4070 a jeho zvukového zařízení 10de:2786 a 10de:22 před naším letopočtem .

Chcete-li nakonfigurovat GPU NVIDIA tak, aby používala modul jádra VFIO, otevřete soubor /etc/modprobe.d/vfio.conf soubor s textovým editorem nano takto:

$ nano /etc/modprobe.d/vfio.conf

Konfigurace grafického procesoru NVIDIA a jeho zvukového zařízení pomocí : 10de:2786 a 10de:22 před naším letopočtem (řekněme), pokud chcete použít modul jádra VFIO, přidejte následující řádek do /etc/modprobe.d/vfio.conf soubor.

možnosti vfio-pci ids=10de:2786,10de:22bc

Až budete hotovi, stiskněte + X následován A a zachránit /etc/modprobe.d/vfio.conf soubor.

Nyní aktualizujte initramfs Proxmove VE 8 pomocí následujícího příkazu:

$ update-initramfs -u -k all

Jakmile je initramfs aktualizován, klikněte na Restartujte restartujte server Proxmox VE 8, aby se změny projevily.

Jakmile se váš server Proxmox VE 8 spustí, měli byste vidět, že vaše GPU NVIDIA a jeho zvukové zařízení ( 10de:2786 a 10de:22 před naším letopočtem v mém případě) používají vfio-pci modul jádra. Nyní je vaše GPU NVIDIA připraveno k předání virtuálnímu počítači Proxmox VE 8.

$ lspci -v -d 10de:2786

$ lspci -v -d 10de:22bc

Průchod GPU NVIDIA do virtuálního počítače Proxmox VE 8 (VM)

Nyní, když je vaše GPU NVIDIA připraveno pro průchod na virtuálních počítačích (VM) Proxmox VE 8, můžete GPU NVIDIA projít na požadovaný virtuální počítač Proxmox VE 8 a nainstalovat ovladače GPU NVIDIA v závislosti na operačním systému, který používáte. ten virtuální stroj jako obvykle.

Podrobné informace o tom, jak projít vaším GPU NVIDIA na virtuálním počítači (VM) Proxmox VE 8 s různými nainstalovanými operačními systémy, najdete v jednom z následujících článků:

  • Jak předat GPU NVIDIA do virtuálního počítače Windows 11 Proxmox VE 8 (VM)
  • Jak projít GPU NVIDIA do virtuálního počítače Ubuntu 24.04 LTS Proxmox VE 8 (VM)
  • Jak předat GPU NVIDIA do virtuálního počítače LinuxMint 21 Proxmox VE 8 (VM)
  • Jak projít GPU NVIDIA do virtuálního počítače Debian 12 Proxmox VE 8 (VM)
  • Jak předat GPU NVIDIA do virtuálního počítače (VM) Elementary OS 8 Proxmox VE 8
  • Jak předat GPU NVIDIA do virtuálního počítače Fedora 39+ Proxmox VE 8 (VM)
  • Jak projít GPU NVIDIA na virtuálním počítači Arch Linux Proxmox VE 8 (VM)
  • Jak projít GPU NVIDIA na Red Hat Enterprise Linux 9 (RHEL 9) Proxmox VE 8 Virtual Machine (VM)

Stále máte problémy s průchodem PCI/PCIE na virtuálních strojích (VM) Proxmox VE 8?

I po správném vyzkoušení všeho uvedeného v tomto článku, pokud vám průchod PCI/PCIE stále nefunguje, nezapomeňte vyzkoušejte některé triky a/nebo zástupná řešení Proxmox VE PCI/PCIE které můžete použít k zajištění PCI/PCIE passthrough na vašem hardwaru.

Závěr

V tomto článku jsem vám ukázal, jak nakonfigurovat váš server Proxmox VE 8 pro PCI/PCIE passthrough, abyste mohli procházet zařízeními PCI/PCIE (tj. vaše GPU NVIDIA) na vaše virtuální stroje (VM) Proxmox VE 8. Ukázal jsem vám také, jak zjistit moduly jádra, které je třeba přidat na černou listinu, a jak je zakázat pro úspěšný průchod vámi požadovaných zařízení PCI/PCIE (tj. vašeho GPU NVIDIA) na virtuální počítač Proxmox VE 8. Nakonec jsem vám ukázal, jak nakonfigurovat vaše požadovaná zařízení PCI/PCIE (tj. vaše GPU NVIDIA) pro použití modulů jádra VFIO, což je také nezbytný krok pro úspěšný průchod vámi požadovaných zařízení PCI/PCIE (tj. vašeho GPU NVIDIA ) na virtuální stroj (VM) Proxmox VE 8.

Reference

  1. PCI(e) Passthrough – Proxmox VE
  2. PCI Passthrough – Proxmox VE
  3. Nejlepší herní virtuální stroj na proxmox – YouTube