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
- A virtualizáció engedélyezése az alaplap BIOS/UEFI firmware-jéből
- A Proxmox VE 8 telepítése
- A Proxmox VE 8 közösségi adattárak engedélyezése
- Frissítések telepítése a Proxmox VE 8-ra
- Az IOMMU engedélyezése az alaplap BIOS/UEFI firmware-jéből
- Az IOMMU engedélyezése a Proxmox VE 8 rendszeren
- Annak ellenőrzése, hogy az IOMMU engedélyezve van-e a Proxmox VE 8 rendszeren
- VFIO kernelmodulok betöltése a Proxmox VE 8 rendszeren
- IOMMU csoportok listázása a Proxmox VE 8-on
- Annak ellenőrzése, hogy az NVIDIA GPU átkerülhet-e egy Proxmox VE 8 virtuális gépre (VM)
- A PCI/PCIE áthaladás tiltólistára kerülő kernelmodulok ellenőrzése Proxmox VE 8 rendszeren
- A Proxmox VE 8 PCI/PCIE áteresztéséhez szükséges kernelmodulok feketelistára tétele
- Az NVIDIA GPU konfigurálása a VFIO kernel modul használatához a Proxmox VE 8 rendszeren
- Az NVIDIA GPU-n keresztül egy Proxmox VE 8 virtuális géphez (VM)
- Továbbra is problémái vannak a PCI/PCIE Passthrough-val a Proxmox VE 8 virtuális gépeken (VM-eken)?
- Következtetés
- 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
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.
vfiovfio_iommu_type1
vfio_pci
Ha végzett, nyomja meg a gombot
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
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 nouveaufeketelista nvidiafb
feketelista snd_hda_intel
Ha végzett, nyomja meg a gombot
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
Ha végzett, nyomja meg a gombot
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).