Kā konfigurēt Proxmox VE 8 PCI/PCIE un NVIDIA GPU caurlaidei

Ka Konfiguret Proxmox Ve 8 Pci Pcie Un Nvidia Gpu Caurlaidei



Proxmox VE 8 ir viens no labākajiem atvērtā pirmkoda un bezmaksas I tipa hipervizoriem QEMU/KVM virtuālo mašīnu (VM) un LXC konteineru darbināšanai. Tam ir jauks tīmekļa pārvaldības interfeiss un daudz funkciju.

Viena no pārsteidzošākajām Proxmox VE funkcijām ir tā, ka tā var pārraidīt PCI/PCIE ierīces (t.i., NVIDIA GPU) no jūsu datora uz Proxmox VE virtuālajām mašīnām (VM). Ar jaunākiem Proxmox VE laidieniem PCI/PCIE caurlaidība kļūst arvien labāka. Šīs rakstīšanas laikā jaunākā Proxmox VE versija ir Proxmox VE v8.1, un tai ir lielisks PCI/PCIE caurlaides atbalsts.







Šajā rakstā es jums parādīšu, kā konfigurēt Proxmox VE 8 resursdatoru/serveri PCI/PCIE caurlaidei un konfigurēt NVIDIA GPU PCIE caurlaidei Proxmox VE 8 virtuālajās mašīnās (VM).





Satura rādītājs

  1. Virtualizācijas iespējošana no jūsu mātesplates BIOS/UEFI programmaparatūras
  2. Proxmox VE 8 instalēšana
  3. Proxmox VE 8 kopienas repozitoriju iespējošana
  4. Atjauninājumu instalēšana uz Proxmox VE 8
  5. IOMMU iespējošana no jūsu mātesplates BIOS/UEFI programmaparatūras
  6. IOMMU iespējošana Proxmox VE 8
  7. Pārbaude, vai IOMMU ir iespējots Proxmox VE 8
  8. Notiek VFIO kodola moduļu ielāde Proxmox VE 8
  9. IOMMU grupu uzskaitījums vietnē Proxmox VE 8
  10. Pārbaude, vai jūsu NVIDIA GPU var pāriet uz Proxmox VE 8 virtuālo mašīnu (VM)
  11. Kodola moduļu pārbaude melnajā sarakstā PCI/PCIE caurlaidei operētājsistēmā Proxmox VE 8
  12. Nepieciešamo kodola moduļu iekļaušana melnajā sarakstā PCI/PCIE caurlaidei operētājsistēmā Proxmox VE 8
  13. NVIDIA GPU konfigurēšana, lai izmantotu VFIO kodola moduli Proxmox VE 8
  14. NVIDIA GPU pāreja uz Proxmox VE 8 virtuālo mašīnu (VM)
  15. Vai joprojām ir problēmas ar PCI/PCIE caurlaidi Proxmox VE 8 virtuālajās mašīnās (VM)?
  16. Secinājums
  17. Atsauces





Virtualizācijas iespējošana no jūsu mātesplates BIOS/UEFI programmaparatūras

Lai varētu instalēt Proxmox VE 8 savā datorā/serverī, ir jāiespējo sava procesora aparatūras virtualizācijas funkcija no mātesplates BIOS/UEFI programmaparatūras. Process dažādām mātesplatēm ir atšķirīgs. Tātad, ja jums nepieciešama palīdzība, lai iespējotu aparatūras virtualizāciju jūsu mātesplatē, izlasi šo rakstu .



Proxmox VE 8 instalēšana

Proxmox VE 8 var bez maksas lejupielādēt, instalēt un lietot. Pirms darba sākšanas noteikti savā datorā instalējiet Proxmox VE 8. Ja jums ir nepieciešama palīdzība šajā jautājumā, izlasi šo rakstu .

Proxmox VE 8 kopienas repozitoriju iespējošana

Kad datorā/server ir instalēts Proxmox VE 8, noteikti to veiciet iespējot Proxmox VE 8 kopienas pakotņu krātuves .

Pēc noklusējuma Proxmox VE 8 uzņēmuma pakotņu krātuves ir iespējotas, un jūs nevarēsit iegūt/instalēt atjauninājumus un kļūdu labojumus no uzņēmuma krātuvēm, ja vien nebūsiet iegādājies Proxmox VE 8 uzņēmuma licences. Tātad, ja vēlaties izmantot Proxmox VE 8 bez maksas, noteikti to dariet iespējot Proxmox VE 8 kopienas pakotņu krātuves lai bez maksas saņemtu jaunākos atjauninājumus un kļūdu labojumus no Proxmox.

Atjauninājumu instalēšana uz Proxmox VE 8

Kad esat iespējoja Proxmox VE 8 kopienas pakotņu krātuves , noteikti instalējiet visus pieejamos atjauninājumus savā Proxmox VE 8 serverī .

IOMMU iespējošana no jūsu mātesplates BIOS/UEFI programmaparatūras

IOMMU konfigurācija ir atrodama dažādās vietās dažādās mātesplatēs. Lai iespējotu IOMMU savā mātesplatē, izlasi šo rakstu .

IOMMU iespējošana Proxmox VE 8

Kad IOMMU ir iespējots aparatūras pusē, jums ir jāiespējo arī IOMMU no programmatūras puses (no Proxmox VE 8).

Lai iespējotu IOMMU no Proxmox VE 8, jums ir jāpievieno šādi kodola sāknēšanas parametri:

Procesora pārdevējs Kodola sāknēšanas parametri, kas jāpievieno
Intel intel_iommu=ieslēgts, iommu=pt
AMD iommu=pt

Lai mainītu Proxmox VE 8 kodola sāknēšanas parametrus, atveriet /etc/default/grub failu ar nano teksta redaktoru šādi:

$ nano /etc/default/grub

Beigās GRUB_CMDLINE_LINUX_DEFAULT , pievienojiet nepieciešamos kodola sāknēšanas parametrus, lai iespējotu IOMMU atkarībā no izmantotā procesora.

Tā kā es izmantoju AMD procesoru, esmu pievienojis tikai kodola sāknēšanas parametru iommu=pt beigās GRUB_CMDLINE_LINUX_DEFAULT rindā /etc/default/grub failu.

Kad esat pabeidzis, nospiediet + X seko UN un lai saglabātu /etc/default/grub failu.

Tagad atjauniniet GRUB sāknēšanas konfigurācijas ar šādu komandu:

$ update-grub2

Kad GRUB sāknēšanas konfigurācijas ir atjauninātas, noklikšķiniet uz Reboot lai restartētu Proxmox VE 8 serveri, lai izmaiņas stātos spēkā.

Pārbaude, vai IOMMU ir iespējots Proxmox VE 8

Lai pārbaudītu, vai IOMMU ir iespējots Proxmox VE 8, palaidiet šo komandu:

$ dmesg | grep -e DMAR -e IOMMU

Ja IOMMU ir iespējots, jūs redzēsit dažus izvadus, kas apstiprina, ka IOMMU ir iespējots.

Ja IOMMU nav iespējots, iespējams, neredzēsit nevienu izvadi.

Jums arī jābūt IOMMU pārtraukumu pārkartēšana iespējots, lai PCI/PCIE caurlaide darbotos.

Lai pārbaudītu, vai jūsu Proxmox VE 8 serverī ir iespējota IOMMU pārtraukumu pārveidošana, palaidiet šo komandu:

$ dmesg | grep 'pārkartēšana'

Kā redzat, manā Proxmox VE 8 serverī ir iespējota IOMMU pārtraukumu pārveidošana.

Lielākajai daļai mūsdienu AMD un Intel procesoru būs iespējota IOMMU pārtraukumu pārveidošana. Ja kāda iemesla dēļ jums nav iespējota IOMMU pārtraukumu pārveidošana, pastāv risinājums. VFIO ir jāiespējo nedroši pārtraukumi. Izlasiet šo rakstu lai iegūtu papildinformāciju par nedrošu pārtraukumu iespējošanu savā Proxmox VE 8 serverī.

Notiek VFIO kodola moduļu ielāde Proxmox VE 8

PCI/PCIE pāreju galvenokārt veic VFIO (virtuālās funkcijas I/O) kodola moduļi Proxmox VE 8. Proxmox VE 8 VFIO kodola moduļi pēc noklusējuma netiek ielādēti sāknēšanas laikā. Taču VFIO ir viegli ielādēt. kodola moduļi sāknēšanas laikā Proxmox VE 8.

Vispirms atveriet /etc/modules-load.d/vfio.conf failu ar nano teksta redaktoru šādi:

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

Ievadiet tālāk norādītās rindiņas /etc/modules-load.d/vfio.conf failu.

vfio

vfio_iommu_type1

vfio_pci

Kad esat pabeidzis, nospiediet + X seko UN un lai saglabātu izmaiņas.

Tagad atjauniniet Proxmox VE 8 instalācijas initramfs ar šādu komandu:

$ update-initramfs -u -k all

Kad initramfs ir atjaunināts, noklikšķiniet uz Reboot lai restartētu Proxmox VE 8 serveri, lai izmaiņas stātos spēkā.

Kad Proxmox VE 8 serveris ir sāknēts, jums vajadzētu redzēt, ka visi nepieciešamie VFIO kodola moduļi ir ielādēti.

$ lsmod | grip vfio

IOMMU grupu uzskaitījums vietnē Proxmox VE 8

Lai pārraidītu PCI/PCIE ierīces Proxmox VE 8 virtuālajās mašīnās (VM), jums diezgan bieži būs jāpārbauda savu PCI/PCIE ierīču IOMMU grupas. Lai atvieglotu IOMMU grupu pārbaudi, es nolēmu ceļā uzrakstīt čaulas skriptu (es to ieguvu no GitHub, bet nevaru atcerēties oriģinālā plakāta nosaukumu). /usr/local/bin/print-iommu-groups lai es varētu vienkārši skriet print-iommu-groups komandu un tā izdrukās IOMMU grupas Proxmox VE 8 apvalkā.

Vispirms izveidojiet jaunu failu print-iommu-groups ceļā /usr/local/bin un atveriet to ar nano teksta redaktoru šādi:

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

Ievadiet tālāk norādītās rindiņas print-iommu-groups fails:

#!/bin/bash

veikaliem -s nullglob

priekš g iekšā ` atrast / sys / kodols / iommu_groups /* -maksimālais dziļums 0 -tips d | kārtot -IN ` ; darīt

atbalss 'IOMMU grupa ${g##*/} :'

priekš d iekšā $g / ierīces /* ; darīt

atbalss -Tas ir ' \t $(lspci -nns ${d##*/}) '

darīts ;

darīts ;

Kad esat pabeidzis, nospiediet + X seko UN un lai saglabātu izmaiņas print-iommu-groups failu.

Izveidojiet print-iommu-groups skripta fails izpildāms ar šādu komandu:

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

Tagad jūs varat palaist print-iommu-groups komandu, lai izdrukātu jūsu Proxmox VE 8 serverī instalēto PCI/PCIE ierīču IOMMU grupas:

$ print-iommu-groups

Kā redzat, tiek izdrukātas manā Proxmox VE 8 serverī instalēto PCI/PCIE ierīču IOMMU grupas.

Pārbaude, vai jūsu NVIDIA GPU var pāriet uz Proxmox VE 8 virtuālo mašīnu (VM)

Lai PCI/PCIE ierīci pārsūtītu uz Proxmox VE 8 virtuālo mašīnu (VM), tai ir jābūt savā IOMMU grupā. Ja divām vai vairākām PCI/PCIE ierīcēm ir kopīga IOMMU grupa, jūs nevarat pārsūtīt nevienu no šīs IOMMU grupas PCI/PCIE ierīcēm ne uz vienu Proxmox VE 8 virtuālo mašīnu (VM).

Tātad, ja jūsu NVIDIA GPU un tā audio ierīce atrodas savā IOMMU grupā, varat nosūtīt NVIDIA GPU uz jebkuru Proxmox VE 8 virtuālo mašīnu (VM).

Savā Proxmox VE 8 serverī es izmantoju MSI X570 ACE mātesplati, kas savienota pārī ar Ryzen 3900X procesoru un Gigabyte RTX 4070 NVIDIA GPU. Saskaņā ar manas sistēmas IOMMU grupām es varu iziet cauri NVIDIA RTX 4070 GPU (IOMMU grupa 21), RTL8125 2.5Gbe Ethernet kontrolleris (IOMMU grupa 20), Intel I211 Gigabit Ethernet Controller (IOMMU Group 19), USB 3.0 kontrolleris ( IOMMU grupa 24) un iebūvētais HD audio kontrolieris (IOMMU grupa 25).

$ print-iommu-groups

Tā kā šī raksta galvenā uzmanība tiek pievērsta Proxmox VE 8 konfigurēšanai, lai tā pārietu caur NVIDIA GPU uz Proxmox VE 8 virtuālajām mašīnām, NVIDIA GPU un tā audio ierīcei ir jābūt savā IOMMU grupā.

Kodola moduļu pārbaude melnajā sarakstā PCI/PCIE caurlaidei operētājsistēmā Proxmox VE 8

Lai pārraidītu PCI/PCIE ierīci Proxmox VE 8 virtuālajā mašīnā (VM), jums jāpārliecinās, ka Proxmox VE piespiež tai izmantot VFIO kodola moduli, nevis sākotnējo kodola moduli.

Lai uzzinātu kodola moduli, ko izmanto jūsu PCI/PCIE ierīces, jums būs jāzina šo PCI/PCIE ierīču pārdevēja ID un ierīces ID. PCI/PCIE ierīču pārdevēja ID un ierīces ID varat atrast, izmantojot print-iommu-groups komandu.

$ print-iommu-groups

Piemēram, mana NVIDIA RTX 4070 GPU pārdevēja ID un ierīces ID ir 10de:2786 un tā ir audio ierīce 10de:22bc .

Lai atrastu kodola moduli PCI/PCIE ierīci 10de:2786 (mans NVIDIA RTX 4070 GPU) izmanto, palaidiet lspci komandu šādi:

$ lspci -v -d 10de:2786

Kā redzat, mans NVIDIA RTX 4070 GPU izmanto nvidiafb un jauns kodola moduļi pēc noklusējuma. Tātad šobrīd tos nevar nodot Proxmox VE 8 virtuālajai mašīnai (VM).

Mana NVIDIA RTX 4070 GPU audio ierīce izmanto snd_hda_intel kodola modulis. Tātad arī šajā brīdī to nevar nodot Proxmox VE 8 virtuālajai mašīnai.

$ lspci -v -d 10de:22bc

Tātad, lai nodotu savu NVIDIA RTX 4070 GPU un tā audio ierīci Proxmox VE 8 virtuālajā mašīnā (VM), man ir jāiekļauj melnajā sarakstā. nvidiafb , jauns , un snd_hda_intel kodola moduļus un konfigurēt manu NVIDIA RTX 4070 GPU un tā audio ierīci, lai izmantotu vfio-pci kodola modulis.

Nepieciešamo kodola moduļu iekļaušana melnajā sarakstā PCI/PCIE caurlaidei operētājsistēmā Proxmox VE 8

Lai melnajā sarakstā iekļautu Proxmox VE 8 kodola moduļus, atveriet /etc/modprobe.d/blacklist.conf failu ar nano teksta redaktoru šādi:

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

Lai melnajā sarakstā iekļautu kodola moduļus jauns , nvidiafb , un snd_hda_intel kodola moduļiem (lai tiktu cauri NVIDIA GPU), pievienojiet šādas rindas /etc/modprobe.d/blacklist.conf fails:

melnais saraksts nouveau

melnais saraksts nvidiafb

melnais saraksts snd_hda_intel

Kad esat pabeidzis, nospiediet + X seko UN un lai saglabātu /etc/modprobe.d/blacklist.conf failu.

NVIDIA GPU konfigurēšana, lai izmantotu VFIO kodola moduli Proxmox VE 8

Lai konfigurētu PCI/PCIE ierīci (t.i., jūsu NVIDIA GPU), lai izmantotu VFIO kodola moduli, jums jāzina tā pārdevēja ID un ierīces ID.

Šajā gadījumā mana NVIDIA RTX 4070 GPU un tā audio ierīces pārdevēja ID un ierīces ID ir 10de:2786 un 10de:22bc .

Lai konfigurētu savu NVIDIA GPU, lai izmantotu VFIO kodola moduli, atveriet /etc/modprobe.d/vfio.conf failu ar nano teksta redaktoru šādi:

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

Lai konfigurētu savu NVIDIA GPU un tā audio ierīci ar : 10de:2786 un 10de:22bc (teiksim), lai izmantotu VFIO kodola moduli, pievienojiet šādu rindiņu /etc/modprobe.d/vfio.conf failu.

opcijas vfio-pci ids=10de:2786,10de:22bc

Kad esat pabeidzis, nospiediet + X seko UN un lai saglabātu /etc/modprobe.d/vfio.conf failu.

Tagad atjauniniet Proxmove VE 8 initramfs ar šādu komandu:

$ update-initramfs -u -k all

Kad initramfs ir atjaunināts, noklikšķiniet uz Reboot lai restartētu Proxmox VE 8 serveri, lai izmaiņas stātos spēkā.

Kad jūsu Proxmox VE 8 serveris ir sāknēts, jums vajadzētu redzēt, ka jūsu NVIDIA GPU un tā audio ierīce ( 10de:2786 un 10de:22bc manā gadījumā) izmanto vfio-pci kodola modulis. Tagad jūsu NVIDIA GPU ir gatavs pārsūtīšanai uz Proxmox VE 8 virtuālo mašīnu.

$ lspci -v -d 10de:2786

$ lspci -v -d 10de:22bc

NVIDIA GPU pāreja uz Proxmox VE 8 virtuālo mašīnu (VM)

Tagad, kad jūsu NVIDIA GPU ir gatavs pārejai uz Proxmox VE 8 virtuālajām mašīnām (VM), varat nodot savu NVIDIA GPU vēlamajā Proxmox VE 8 virtuālajā mašīnā un instalēt NVIDIA GPU draiverus atkarībā no operētājsistēmas, kurā izmantojat. ka virtuālā mašīna kā parasti.

Lai iegūtu detalizētu informāciju par NVIDIA GPU pārsūtīšanu Proxmox VE 8 virtuālajā mašīnā (VM), kurā ir instalētas dažādas operētājsistēmas, izlasiet kādu no šiem rakstiem:

  • Kā pārsūtīt NVIDIA GPU uz Windows 11 Proxmox VE 8 virtuālo mašīnu (VM)
  • Kā pārsūtīt NVIDIA GPU uz Ubuntu 24.04 LTS Proxmox VE 8 virtuālo mašīnu (VM)
  • Kā pārsūtīt NVIDIA GPU uz LinuxMint 21 Proxmox VE 8 virtuālo mašīnu (VM)
  • Kā pārsūtīt NVIDIA GPU uz Debian 12 Proxmox VE 8 virtuālo mašīnu (VM)
  • Kā pārsūtīt NVIDIA GPU uz Elementary OS 8 Proxmox VE 8 virtuālo mašīnu (VM)
  • Kā pārsūtīt NVIDIA GPU uz Fedora 39+ Proxmox VE 8 virtuālo mašīnu (VM)
  • Kā iziet cauri NVIDIA GPU Arch Linux Proxmox VE 8 virtuālajā mašīnā (VM)
  • Kā iziet cauri NVIDIA GPU, izmantojot Red Hat Enterprise Linux 9 (RHEL 9) Proxmox VE 8 virtuālo mašīnu (VM)

Vai joprojām ir problēmas ar PCI/PCIE caurlaidi Proxmox VE 8 virtuālajās mašīnās (VM)?

Pat pēc tam, kad pareizi izmēģinājāt visu, kas norādīts šajā rakstā, ja PCI/PCIE transmisija joprojām nedarbojas jums, noteikti izmēģiniet dažus Proxmox VE PCI/PCIE caurlaides trikus un/vai risinājumus ko varat izmantot, lai nodrošinātu PCI/PCIE caurlaides darbu savā aparatūrā.

Secinājums

Šajā rakstā es jums parādīju, kā konfigurēt Proxmox VE 8 serveri PCI/PCIE caurlaidei, lai jūs varētu pārsūtīt PCI/PCIE ierīces (t.i., savu NVIDIA GPU) uz savām Proxmox VE 8 virtuālajām mašīnām (VM). Esmu arī parādījis, kā uzzināt kodola moduļus, kas jāiekļauj melnajā sarakstā, un kā tos iekļaut melnajā sarakstā, lai vēlamās PCI/PCIE ierīces (t.i., jūsu NVIDIA GPU) veiksmīgi pārsūtītu uz Proxmox VE 8 virtuālo mašīnu. Visbeidzot, esmu parādījis, kā konfigurēt vēlamās PCI/PCIE ierīces (t.i., jūsu NVIDIA GPU), lai izmantotu VFIO kodola moduļus, kas arī ir būtisks solis, lai veiksmīgi pārietu vēlamās PCI/PCIE ierīces (t.i., jūsu NVIDIA GPU). ) uz Proxmox VE 8 virtuālo mašīnu (VM).

Atsauces

  1. PCI(e) caurlaide — Proxmox VE
  2. PCI caurlaide — Proxmox VE
  3. Labākā spēļu virtuālā mašīna pakalpojumā Proxmox — YouTube