A Proxmox VE 8 konfigurálása PCI/PCIE és NVIDIA GPU áteresztéshez

A Proxmox Ve 8 Konfiguralasa Pci Pcie Es Nvidia Gpu Atereszteshez



A Proxmox VE 8 az egyik legjobb nyílt forráskódú és ingyenes I-es típusú hipervizor QEMU/KVM virtuális gépek (VM-ek) és LXC-tárolók futtatásához. Szép webkezelő felülettel és sok funkcióval rendelkezik.

A Proxmox VE egyik legcsodálatosabb funkciója, hogy képes PCI/PCIE-eszközöket (azaz NVIDIA GPU-t) átadni a számítógépről a Proxmox VE virtuális gépekre (VM-ekre). A PCI/PCIE áthaladás egyre jobb és jobb az újabb Proxmox VE kiadásokkal. Az írás idején a Proxmox VE legújabb verziója a Proxmox VE v8.1, és nagyszerű PCI/PCIE áthárítási támogatással rendelkezik.







Ebben a cikkben bemutatom, hogyan konfigurálhatja a Proxmox VE 8 gazdagépet/kiszolgálót a PCI/PCIE áthárításhoz és az NVIDIA GPU-t PCIE áthárításhoz Proxmox VE 8 virtuális gépeken (VM-eken).





Tartalomjegyzék

  1. A virtualizáció engedélyezése az alaplap BIOS/UEFI firmware-jéből
  2. A Proxmox VE 8 telepítése
  3. A Proxmox VE 8 közösségi adattárak engedélyezése
  4. Frissítések telepítése a Proxmox VE 8-ra
  5. Az IOMMU engedélyezése az alaplap BIOS/UEFI firmware-jéből
  6. Az IOMMU engedélyezése a Proxmox VE 8 rendszeren
  7. Annak ellenőrzése, hogy az IOMMU engedélyezve van-e a Proxmox VE 8 rendszeren
  8. VFIO kernelmodulok betöltése a Proxmox VE 8 rendszeren
  9. IOMMU csoportok listázása a Proxmox VE 8-on
  10. Annak ellenőrzése, hogy az NVIDIA GPU átkerülhet-e egy Proxmox VE 8 virtuális gépre (VM)
  11. A PCI/PCIE áthaladás tiltólistára kerülő kernelmodulok ellenőrzése Proxmox VE 8 rendszeren
  12. A Proxmox VE 8 PCI/PCIE áteresztéséhez szükséges kernelmodulok feketelistára tétele
  13. Az NVIDIA GPU konfigurálása a VFIO kernel modul használatához a Proxmox VE 8 rendszeren
  14. Az NVIDIA GPU-n keresztül egy Proxmox VE 8 virtuális géphez (VM)
  15. Továbbra is problémái vannak a PCI/PCIE Passthrough-val a Proxmox VE 8 virtuális gépeken (VM-eken)?
  16. Következtetés
  17. Hivatkozások





A virtualizáció engedélyezése az alaplap BIOS/UEFI firmware-jéből

Mielőtt telepítené a Proxmox VE 8-at a számítógépére/szerverére, engedélyeznie kell a processzor hardveres virtualizációs funkcióját az alaplap BIOS/UEFI firmware-jéből. A folyamat különböző alaplapoknál eltérő. Tehát, ha segítségre van szüksége az alaplap hardveres virtualizációjának engedélyezéséhez, olvassa el ezt a cikket .



A Proxmox VE 8 telepítése

A Proxmox VE 8 ingyenesen letölthető, telepíthető és használható. Mielőtt hozzákezdene, feltétlenül telepítse a Proxmox VE 8-at a számítógépére. Ha ehhez segítségre van szüksége, olvassa el ezt a cikket .

A Proxmox VE 8 közösségi adattárak engedélyezése

Miután telepítette a Proxmox VE 8-at a számítógépére/szerverére, győződjön meg róla engedélyezze a Proxmox VE 8 közösségi csomagok tárolóit .

Alapértelmezés szerint a Proxmox VE 8 vállalati csomagtárolói engedélyezve vannak, és nem tud majd frissítéseket és hibajavításokat beszerezni/telepíteni a vállalati tárolókból, hacsak nem vásárolt Proxmox VE 8 vállalati licenceket. Tehát, ha ingyenesen szeretné használni a Proxmox VE 8-at, mindenképpen tegye meg engedélyezze a Proxmox VE 8 közösségi csomagok tárolóit hogy ingyenesen megkapja a Proxmox legújabb frissítéseit és hibajavításait.

Frissítések telepítése a Proxmox VE 8-ra

Ha egyszer engedélyezte a Proxmox VE 8 közösségi csomagok tárolóit , Menj biztosra, hogy telepítse az összes elérhető frissítést a Proxmox VE 8 szerverére .

Az IOMMU engedélyezése az alaplap BIOS/UEFI firmware-jéből

Az IOMMU konfiguráció különböző helyeken található a különböző alaplapokon. Az IOMMU engedélyezéséhez az alaplapon, olvassa el ezt a cikket .

Az IOMMU engedélyezése a Proxmox VE 8 rendszeren

Miután az IOMMU engedélyezve van a hardver oldalon, engedélyeznie kell az IOMMU-t szoftveroldalról is (Proxmox VE 8-ból).

Az IOMMU engedélyezéséhez a Proxmox VE 8-ból a következő kernel rendszerindítási paramétereket kell hozzáadnia:

Processzor eladó Hozzáadandó kernel rendszerindítási paraméterek
Intel intel_iommu=on, iommu=pt
AMD iommu=pt

A Proxmox VE 8 kernel rendszerindítási paramétereinek módosításához nyissa meg a /etc/default/grub fájlt a nano szövegszerkesztővel az alábbiak szerint:

$ nano /etc/default/grub

A végén a GRUB_CMDLINE_LINUX_DEFAULT , adja hozzá a szükséges kernel rendszerindítási paramétereket az IOMMU engedélyezéséhez a használt processzortól függően.

Mivel AMD processzort használok, csak a kernel rendszerindítási paraméterét adtam hozzá iommu=pt végén a GRUB_CMDLINE_LINUX_DEFAULT sor a /etc/default/grub fájlt.

Ha végzett, nyomja meg a gombot + x követi ÉS és hogy megmentse a /etc/default/grub fájlt.

Most frissítse a GRUB rendszerindítási konfigurációit a következő paranccsal:

$ update-grub2

A GRUB rendszerindítási konfigurációinak frissítése után kattintson a gombra Indítsa újra a Proxmox VE 8 szerver újraindításához, hogy a változtatások érvénybe lépjenek.

Annak ellenőrzése, hogy az IOMMU engedélyezve van-e a Proxmox VE 8 rendszeren

Annak ellenőrzéséhez, hogy az IOMMU engedélyezve van-e a Proxmox VE 8 rendszeren, futtassa a következő parancsot:

$ dmesg | grep -e DMAR -e IOMMU

Ha az IOMMU engedélyezve van, akkor látni fog néhány kimenetet, amelyek megerősítik, hogy az IOMMU engedélyezve van.

Ha az IOMMU nincs engedélyezve, előfordulhat, hogy nem lát semmilyen kimenetet.

Önnek is rendelkeznie kell a IOMMU megszakítások újraleképezése engedélyezve van a PCI/PCIE áthárítás működéséhez.

Annak ellenőrzéséhez, hogy az IOMMU Interrupt Remapping engedélyezve van-e a Proxmox VE 8 kiszolgálón, futtassa a következő parancsot:

$ dmesg | grep 'remapping'

Amint látja, az IOMMU megszakítások újrakiosztása engedélyezve van a Proxmox VE 8 szerveremen.

A legtöbb modern AMD és Intel processzor az IOMMU Interrupt Remapping engedélyezve van. Ha bármilyen okból nem engedélyezte az IOMMU megszakítások újraleképezését, van megoldás. Engedélyeznie kell a nem biztonságos megszakításokat a VFIO számára. Olvassa el ezt a cikket További információért a nem biztonságos megszakítások engedélyezéséről a Proxmox VE 8 kiszolgálón.

VFIO kernelmodulok betöltése a Proxmox VE 8 rendszeren

A PCI/PCIE áthaladását főként a VFIO (Virtual Function I/O) kernelmodulok végzik a Proxmox VE 8-on. A VFIO kernelmodulok alapértelmezés szerint nem töltődnek be rendszerindításkor a Proxmox VE 8-ban. A VFIO betöltése azonban egyszerű. kernelmodulok rendszerindításkor a Proxmox VE 8 rendszeren.

Először nyissa meg a /etc/modules-load.d/vfio.conf fájllal a nano szövegszerkesztő az alábbiak szerint:

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

Írja be a következő sorokat a /etc/modules-load.d/vfio.conf fájlt.

vfio

vfio_iommu_type1

vfio_pci

Ha végzett, nyomja meg a gombot + x követi ÉS és a változtatások mentéséhez.

Most frissítse a Proxmox VE 8 telepítésének initramfs-jét a következő paranccsal:

$ update-initramfs -u -k all

Az initramfs frissítése után kattintson a gombra Indítsa újra a Proxmox VE 8 szerver újraindításához, hogy a változtatások érvénybe lépjenek.

Amint a Proxmox VE 8 kiszolgáló elindult, látnia kell, hogy az összes szükséges VFIO kernelmodul be van töltve.

$ lsmod | markolat vfio

IOMMU csoportok listázása a Proxmox VE 8-on

A PCI/PCIE-eszközök Proxmox VE 8 virtuális gépeken (VM-eken) való átjutásához gyakran kell ellenőriznie a PCI/PCIE-eszközök IOMMU-csoportjait. Az IOMMU csoportok ellenőrzésének megkönnyítése érdekében úgy döntöttem, hogy írok egy shell szkriptet (a GitHubról szereztem, de nem emlékszem az eredeti poszter nevére) az elérési útba. /usr/local/bin/print-iommu-groups hogy csak futhassak print-iommu-csoportok parancsot, és kinyomtatja az IOMMU csoportokat a Proxmox VE 8 rendszerhéjon.

Először hozzon létre egy új fájlt print-iommu-csoportok az úton /usr/local/bin és nyissa meg a nano szövegszerkesztővel az alábbiak szerint:

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

Írja be a következő sorokat a print-iommu-csoportok fájl:

#!/bin/bash

üzletek -s nullglob

számára g ban ben ` megtalálja / sys / kernel / iommu_groups /* -maximális mélység 0 -típus d | fajta -BAN BEN ` ; csináld

visszhang 'IOMMU csoport ${g##*/} :'

számára d ban ben $g / eszközöket /* ; csináld

visszhang -Ez ' \t $(lspci -nns ${d##*/}) '

Kész ;

Kész ;

Ha végzett, nyomja meg a gombot + x követi ÉS és a módosítások mentéséhez print-iommu-csoportok fájlt.

Csináld a print-iommu-csoportok script fájl futtatható a következő paranccsal:

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

Most már futtathatja a print-iommu-csoportok parancsot a következőképpen a Proxmox VE 8 kiszolgálóra telepített PCI/PCIE eszközök IOMMU csoportjainak kinyomtatásához:

$ print-iommu-groups

Amint látja, a Proxmox VE 8 szerveremre telepített PCI/PCIE eszközök IOMMU csoportjai kinyomtatásra kerülnek.

Annak ellenőrzése, hogy az NVIDIA GPU átkerülhet-e egy Proxmox VE 8 virtuális gépre (VM)

A PCI/PCIE-eszköz Proxmox VE 8 virtuális géphez (VM) való továbbításához annak saját IOMMU-csoportjában kell lennie. Ha 2 vagy több PCI/PCIE-eszköz osztozik egy IOMMU-csoporton, akkor az adott IOMMU-csoporthoz tartozó PCI/PCIE-eszközöket nem tudja átadni egyetlen Proxmox VE 8 virtuális gépre sem.

Tehát, ha NVIDIA GPU-ja és audioeszköze a saját IOMMU-csoportjába tartozik, az NVIDIA GPU-t bármely Proxmox VE 8 virtuális gépre (VM) továbbíthatja.

A Proxmox VE 8 szerveremen MSI X570 ACE alaplapot használok Ryzen 3900X processzorral és Gigabyte RTX 4070 NVIDIA GPU-val. A rendszerem IOMMU csoportjainak megfelelően át tudok haladni az NVIDIA RTX 4070 GPU-n (IOMMU Group 21), az RTL8125 2.5Gbe Ethernet Controlleren (IOMMU Group 20), az Intel I211 Gigabit Ethernet Controlleren (IOMMU Group 19), egy USB 3.0 vezérlőn ( IOMMU Group 24), valamint az Onboard HD Audio Controller (IOMMU Group 25).

$ print-iommu-groups

Mivel ennek a cikknek a fő célja a Proxmox VE 8 konfigurálása az NVIDIA GPU-n keresztül Proxmox VE 8 virtuális gépekre történő áthaladáshoz, az NVIDIA GPU-nak és audioeszközének saját IOMMU-csoportjában kell lennie.

A PCI/PCIE áthaladás tiltólistára kerülő kernelmodulok ellenőrzése Proxmox VE 8 rendszeren

A PCI/PCIE-eszköz Proxmox VE 8 virtuális gépen (VM) való továbbításához meg kell győződnie arról, hogy a Proxmox VE arra kényszeríti, hogy az eredeti kernelmodul helyett a VFIO kernelmodult használja.

A PCI/PCIE-eszközök által használt kernelmodul meghatározásához ismernie kell ezen PCI/PCIE-eszközök gyártói azonosítóját és eszközazonosítóját. A PCI/PCIE eszközök gyártói azonosítóját és eszközazonosítóját a következővel találhatja meg print-iommu-csoportok parancs.

$ print-iommu-groups

Például az NVIDIA RTX 4070 GPU-m gyártóazonosítója és eszközazonosítója 10de:2786 és ez az audioeszköz 10de:22ie .

A kernel modul megtalálásához egy PCI/PCIE eszköz 10de:2786 (NVIDIA RTX 4070 GPU-m) használja, futtassa a lspci parancsot a következőképpen:

$ lspci -v -d 10de:2786

Amint látja, az NVIDIA RTX 4070 GPU-m a nvidiafb és új alapértelmezés szerint kernel modulok. Tehát jelenleg nem adhatók át Proxmox VE 8 virtuális gépnek (VM).

Az NVIDIA RTX 4070 GPU-m audioeszköze a snd_hda_intel kernel modul. Tehát ezen a ponton sem lehet továbbadni egy Proxmox VE 8 virtuális gépen.

$ lspci -v -d 10de:22bc

Tehát ahhoz, hogy az NVIDIA RTX 4070 GPU-t és annak audioeszközét egy Proxmox VE 8 virtuális gépen (VM) át tudjam vinni, feketelistára kell tennem a nvidiafb , új , és snd_hda_intel kernel modulokat, és konfiguráljam az NVIDIA RTX 4070 GPU-mat és audioeszközömet a vfio-pci kernel modul.

A Proxmox VE 8 PCI/PCIE áteresztéséhez szükséges kernelmodulok feketelistára tétele

A Proxmox VE 8 rendszermagmoduljainak feketelistára tételéhez nyissa meg a /etc/modprobe.d/blacklist.conf fájlt a nano szövegszerkesztővel az alábbiak szerint:

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

A kernelmodulok feketelistára tétele új , nvidiafb , és snd_hda_intel kernel modulokhoz (az NVIDIA GPU-n keresztül), adja hozzá a következő sorokat a /etc/modprobe.d/blacklist.conf fájl:

feketelista nouveau

feketelista nvidiafb

feketelista snd_hda_intel

Ha végzett, nyomja meg a gombot + x követi ÉS és hogy megmentse a /etc/modprobe.d/blacklist.conf fájlt.

Az NVIDIA GPU konfigurálása a VFIO kernel modul használatához a Proxmox VE 8 rendszeren

Ahhoz, hogy a PCI/PCIE eszközt (azaz az NVIDIA GPU-ját) a VFIO kernelmodul használatára tudja konfigurálni, ismernie kell a gyártói azonosítót és az eszközazonosítót.

Ebben az esetben az NVIDIA RTX 4070 GPU és az audioeszköz gyártói azonosítója és eszközazonosítója 10de:2786 és 10de:22ie .

Az NVIDIA GPU VFIO kernelmodul használatára való konfigurálásához nyissa meg a /etc/modprobe.d/vfio.conf fájlt a nano szövegszerkesztővel az alábbiak szerint:

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

Az NVIDIA GPU és az audioeszköz konfigurálása a : 10de:2786 és 10de:22ie (mondjuk) a VFIO kernel modul használatához adja hozzá a következő sort a /etc/modprobe.d/vfio.conf fájlt.

opciók vfio-pci ids=10de:2786,10de:22bc

Ha végzett, nyomja meg a gombot + x követi ÉS és hogy megmentse a /etc/modprobe.d/vfio.conf fájlt.

Most frissítse a Proxmove VE 8 initramfs-jét a következő paranccsal:

$ update-initramfs -u -k all

Az initramfs frissítése után kattintson a gombra Indítsa újra a Proxmox VE 8 szerver újraindításához, hogy a változtatások érvénybe lépjenek.

Amint a Proxmox VE 8 szervere elindul, látnia kell, hogy az NVIDIA GPU és annak audioeszköze ( 10de:2786 és 10de:22ie az én esetemben) a vfio-pci kernel modul. Az NVIDIA GPU készen áll a Proxmox VE 8 virtuális gépre való átadásra.

$ lspci -v -d 10de:2786

$ lspci -v -d 10de:22bc

Az NVIDIA GPU-n keresztül egy Proxmox VE 8 virtuális géphez (VM)

Most, hogy az NVIDIA GPU készen áll a Proxmox VE 8 virtuális gépeken (VM-eken) való átvitelre, átküldheti NVIDIA GPU-ját a kívánt Proxmox VE 8 virtuális gépen, és telepítheti az NVIDIA GPU illesztőprogramjait a használt operációs rendszertől függően. hogy a virtuális gép szokás szerint.

Az NVIDIA GPU átvitelével kapcsolatos részletes információkért Proxmox VE 8 virtuális gépen (VM) különböző operációs rendszerekkel, olvassa el az alábbi cikkek egyikét:

  • NVIDIA GPU átvitele Windows 11 Proxmox VE 8 virtuális gépre (VM)
  • NVIDIA GPU átvitele Ubuntu 24.04 LTS Proxmox VE 8 virtuális gépre (VM)
  • NVIDIA GPU átvitele LinuxMint 21 Proxmox VE 8 virtuális gépre (VM)
  • NVIDIA GPU továbbítása Debian 12 Proxmox VE 8 virtuális gépre (VM)
  • Az NVIDIA GPU átvitele egy Elementary OS 8 Proxmox VE 8 virtuális gépre (VM)
  • NVIDIA GPU átvitele Fedora 39+ Proxmox VE 8 virtuális gépre (VM)
  • NVIDIA GPU átadása Arch Linux Proxmox VE 8 virtuális gépen (VM)
  • NVIDIA GPU átadása Red Hat Enterprise Linux 9 (RHEL 9) Proxmox VE 8 virtuális gépen (VM)

Továbbra is problémái vannak a PCI/PCIE Passthrough-val a Proxmox VE 8 virtuális gépeken (VM-eken)?

Ha a PCI/PCIE áthárítás még mindig nem működik az Ön számára, még az ebben a cikkben felsorolt ​​dolgok helyes kipróbálása után is ügyeljen arra, hogy próbáljon ki néhány Proxmox VE PCI/PCIE áthárító trükköt és/vagy kerülő megoldást amelyet a PCI/PCIE áthárítására használhat a hardveren.

Következtetés

Ebben a cikkben bemutattam, hogyan konfigurálhatja Proxmox VE 8 szerverét PCI/PCIE áthárításhoz, hogy a PCI/PCIE eszközöket (azaz az NVIDIA GPU-t) át tudja küldeni a Proxmox VE 8 virtuális gépekre (VM). Azt is megmutattam, hogyan találhatja meg azokat a kernelmodulokat, amelyeket feketelistára kell tennie, és hogyan helyezheti őket feketelistára a kívánt PCI/PCIE-eszközök (azaz NVIDIA GPU-ja) sikeres átviteléhez egy Proxmox VE 8 virtuális gépre. Végül megmutattam, hogyan konfigurálhatja a kívánt PCI/PCIE eszközöket (azaz az NVIDIA GPU-ját) a VFIO kernel modulok használatára, ami szintén elengedhetetlen lépés a kívánt PCI/PCIE eszközök (azaz az NVIDIA GPU) sikeres átjutásához. ) egy Proxmox VE 8 virtuális gépre (VM).

Hivatkozások

  1. PCI(e) Passthrough – Proxmox VE
  2. PCI Passthrough – Proxmox VE
  3. A legjobb virtuális játékgép a proxmoxon – a YouTube