Proxmox VE 8:n määrittäminen PCI/PCIE- ja NVIDIA GPU -läpivientiä varten

Proxmox Ve 8 N Maarittaminen Pci Pcie Ja Nvidia Gpu Lapivientia Varten



Proxmox VE 8 on yksi parhaista avoimen lähdekoodin ja ilmaisista Type-I-hypervisoreista QEMU/KVM-virtuaalikoneiden (VM) ja LXC-säilöjen käyttämiseen. Siinä on mukava verkkohallintaliittymä ja paljon ominaisuuksia.

Yksi Proxmox VE:n hämmästyttävimmistä ominaisuuksista on, että se voi siirtää PCI/PCIE-laitteet (eli NVIDIA GPU) tietokoneeltasi Proxmox VE -virtuaalikoneisiin (VM). PCI/PCIE-läpivienti paranee ja paranee uusien Proxmox VE -julkaisujen myötä. Tätä kirjoitettaessa Proxmox VE:n uusin versio on Proxmox VE v8.1 ja siinä on loistava PCI/PCIE-läpivientituki.







Tässä artikkelissa aion näyttää sinulle, kuinka Proxmox VE 8 -isäntä/palvelin PCI/PCIE-läpivientiä varten ja NVIDIA GPU PCIE-läpivientiä varten Proxmox VE 8 -virtuaalikoneissa (VM:issä).





Sisällysluettelo

  1. Virtualisoinnin ottaminen käyttöön emolevyn BIOS/UEFI-laiteohjelmistosta
  2. Proxmox VE 8:n asentaminen
  3. Otetaan käyttöön Proxmox VE 8 -yhteisövarastot
  4. Päivitysten asentaminen Proxmox VE 8:aan
  5. IOMMU:n käyttöönotto emolevyn BIOS/UEFI-laiteohjelmistosta
  6. IOMMU:n käyttöönotto Proxmox VE 8:ssa
  7. Tarkistaa, onko IOMMU käytössä Proxmox VE 8:ssa
  8. Ladataan VFIO-ydinmoduuleja Proxmox VE 8:ssa
  9. IOMMU-ryhmien luettelointi Proxmox VE 8:ssa
  10. Tarkistaminen, voidaanko NVIDIA GPU:si kulkea Proxmox VE 8 -virtuaalikoneeseen (VM)
  11. Ytimen moduulien tarkistaminen mustalle listalle PCI/PCIE-läpiviennille Proxmox VE 8:ssa
  12. Proxmox VE 8:n PCI/PCIE-läpivientiä varten vaadittujen ydinmoduulien lisääminen mustalle listalle
  13. NVIDIA GPU:n määrittäminen käyttämään VFIO-ydinmoduulia Proxmox VE 8:ssa
  14. NVIDIA GPU:n läpi Proxmox VE 8 Virtual Machine (VM)
  15. Onko sinulla edelleen ongelmia PCI/PCIE-läpiviennin kanssa Proxmox VE 8 -virtuaalikoneissa (VM)?
  16. Johtopäätös
  17. Viitteet





Virtualisoinnin ottaminen käyttöön emolevyn BIOS/UEFI-laiteohjelmistosta

Ennen kuin voit asentaa Proxmox VE 8:n tietokoneellesi/palvelimellesi, sinun on otettava käyttöön prosessorisi laitteiston virtualisointiominaisuus emolevyn BIOS/UEFI-laiteohjelmistosta. Prosessi on erilainen eri emolevyillä. Joten jos tarvitset apua laitteiston virtualisoinnin käyttöönotossa emolevylläsi, lue tämä artikkeli .



Proxmox VE 8:n asentaminen

Proxmox VE 8 on ilmainen ladata, asentaa ja käyttää. Ennen kuin aloitat, muista asentaa Proxmox VE 8 tietokoneellesi. Jos tarvitset siihen apua, lue tämä artikkeli .

Otetaan käyttöön Proxmox VE 8 -yhteisövarastot

Kun olet asentanut Proxmox VE 8:n tietokoneellesi/palvelimellesi, varmista Ota Proxmox VE 8 -yhteisöpakettivarastot käyttöön .

Oletuksena Proxmox VE 8 -yrityspakettivarastot ovat käytössä, etkä voi saada/asentaa päivityksiä ja virheenkorjauksia yritystietovarastoista, ellet ole ostanut Proxmox VE 8 -yrityslisenssejä. Joten jos haluat käyttää Proxmox VE 8:aa ilmaiseksi, varmista Ota Proxmox VE 8 -yhteisöpakettivarastot käyttöön saadaksesi uusimmat päivitykset ja virheenkorjaukset Proxmoxilta ilmaiseksi.

Päivitysten asentaminen Proxmox VE 8:aan

Kun olet otti käyttöön Proxmox VE 8 -yhteisöpakettivarastot , Varmista asenna kaikki saatavilla olevat päivitykset Proxmox VE 8 -palvelimellesi .

IOMMU:n käyttöönotto emolevyn BIOS/UEFI-laiteohjelmistosta

IOMMU-kokoonpano löytyy eri kohdista eri emolevyissä. Ota IOMMU käyttöön emolevylläsi lue tämä artikkeli .

IOMMU:n käyttöönotto Proxmox VE 8:ssa

Kun IOMMU on otettu käyttöön laitteistopuolella, sinun on otettava IOMMU käyttöön myös ohjelmistopuolelta (Proxmox VE 8:sta).

Voit ottaa IOMMU:n käyttöön Proxmox VE 8:sta lisäämällä seuraavat ytimen käynnistysparametrit:

Prosessorin myyjä Lisättävät ytimen käynnistysparametrit
Intel intel_iommu=on, iommu=pt
AMD iommu=pt

Jos haluat muokata Proxmox VE 8:n ytimen käynnistysparametreja, avaa /etc/default/grub tiedosto nano-tekstieditorilla seuraavasti:

$ nano /etc/default/grub

Lopussa GRUB_CMDLINE_LINUX_DEFAULT , lisää tarvittavat ytimen käynnistysparametrit IOMMU:n käyttöönottoa varten käyttämästäsi prosessorista riippuen.

Koska käytän AMD-prosessoria, olen lisännyt vain ytimen käynnistysparametrin iommu=pt lopussa GRUB_CMDLINE_LINUX_DEFAULT rivissä /etc/default/grub tiedosto.

Kun olet valmis, paina + X jonka jälkeen JA ja pelastaaksesi /etc/default/grub tiedosto.

Päivitä nyt GRUB-käynnistyskokoonpanot seuraavalla komennolla:

$ update-grub2

Kun GRUB-käynnistysasetukset on päivitetty, napsauta Käynnistä uudelleen käynnistääksesi Proxmox VE 8 -palvelimesi uudelleen, jotta muutokset tulevat voimaan.

Tarkistaa, onko IOMMU käytössä Proxmox VE 8:ssa

Tarkista, onko IOMMU käytössä Proxmox VE 8:ssa, suorittamalla seuraava komento:

$ dmesg | grep -e DMAR -e IOMMU

Jos IOMMU on käytössä, näet joitakin lähtöjä, jotka vahvistavat, että IOMMU on käytössä.

Jos IOMMU ei ole käytössä, et välttämättä näe lähtöjä.

Sinulla on myös oltava IOMMU-keskeytyksen uudelleenkuvaus käytössä, jotta PCI/PCIE-läpivienti toimii.

Suorita seuraava komento tarkistaaksesi, onko IOMMU Interrupt Remapping käytössä Proxmox VE 8 -palvelimessasi:

$ dmesg | grep 'uudelleenkartoitus'

Kuten näet, IOMMU Interrupt Remapping on käytössä Proxmox VE 8 -palvelimessani.

Useimmissa nykyaikaisissa AMD- ja Intel-prosessoreissa on IOMMU Interrupt Remapping käytössä. Jos sinulla ei jostain syystä ole IOMMU-keskeytyksen uudelleenkartoitus käytössä, on olemassa kiertotapa. Sinun on otettava käyttöön vaaralliset keskeytykset VFIO:lle. Lue tämä artikkeli saadaksesi lisätietoja vaarallisten keskeytysten ottamisesta käyttöön Proxmox VE 8 -palvelimellasi.

Ladataan VFIO-ydinmoduuleja Proxmox VE 8:ssa

PCI/PCIE-läpivienti tapahtuu pääasiassa Proxmox VE 8:n VFIO (Virtual Function I/O) -ydinmoduuleilla. Proxmox VE 8:ssa VFIO-ydinmoduuleja ei oletusarvoisesti ladata käynnistyksen yhteydessä. VFIO:n lataaminen on kuitenkin helppoa. ydinmoduulit käynnistyksen yhteydessä Proxmox VE 8:ssa.

Avaa ensin /etc/modules-load.d/vfio.conf tiedosto kanssa nano tekstieditori seuraavasti:

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

Kirjoita seuraavat rivit /etc/modules-load.d/vfio.conf tiedosto.

vfio

vfio_iommu_type1

vfio_pci

Kun olet valmis, paina + X jonka jälkeen JA ja tallentaaksesi muutokset.

Päivitä nyt Proxmox VE 8 -asennuksesi initramfs seuraavalla komennolla:

$ update-initramfs -u -k all

Kun initramfs on päivitetty, napsauta Käynnistä uudelleen käynnistääksesi Proxmox VE 8 -palvelimesi uudelleen, jotta muutokset tulevat voimaan.

Kun Proxmox VE 8 -palvelin käynnistyy, sinun pitäisi nähdä, että kaikki vaaditut VFIO-ytimen moduulit on ladattu.

$ lsmod | ote vfio

IOMMU-ryhmien luettelointi Proxmox VE 8:ssa

PCI/PCIE-laitteiden läpikulkua varten Proxmox VE 8 -virtuaalikoneissa (VM:t) sinun on tarkistettava PCI/PCIE-laitteidesi IOMMU-ryhmät melko usein. IOMMU-ryhmien tarkistamisen helpottamiseksi päätin kirjoittaa polkuun shell-skriptin (sain sen GitHubista, mutta en muista alkuperäisen julisteen nimeä) /usr/local/bin/print-iommu-groups jotta voin vain juosta print-iommu-ryhmät komento ja se tulostaa IOMMU-ryhmät Proxmox VE 8 -kuoreen.

Luo ensin uusi tiedosto print-iommu-ryhmät polulla /usr/local/bin ja avaa se nano-tekstieditorilla seuraavasti:

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

Kirjoita seuraavat rivit print-iommu-ryhmät tiedosto:

#!/bin/bash

kaupat -s nullglob

varten g sisään ` löytö / sys / ydin / iommu_groups /* - max syvyys 0 -tyyppi d | järjestellä -SISÄÄN ` ; tehdä

kaiku 'IOMMU-ryhmä ${g##*/} :'

varten d sisään $g / laitteet /* ; tehdä

kaiku -Se on ' \t $(lspci -nns ${d##*/}) '

tehty ;

tehty ;

Kun olet valmis, paina + X jonka jälkeen JA ja tallentaaksesi muutokset print-iommu-ryhmät tiedosto.

Tee print-iommu-ryhmät skriptitiedosto, joka voidaan suorittaa seuraavalla komennolla:

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

Nyt voit ajaa print-iommu-ryhmät komento seuraavasti tulostaaksesi Proxmox VE 8 -palvelimellesi asennettujen PCI/PCIE-laitteiden IOMMU-ryhmät:

$ print-iommu-ryhmät

Kuten näet, Proxmox VE 8 -palvelimelleni asennettujen PCI/PCIE-laitteiden IOMMU-ryhmät tulostetaan.

Tarkistaminen, voidaanko NVIDIA GPU:si kulkea Proxmox VE 8 -virtuaalikoneeseen (VM)

Jotta PCI/PCIE-laite voidaan siirtää Proxmox VE 8 -virtuaalikoneeseen (VM), sen on oltava omassa IOMMU-ryhmässään. Jos kahdella tai useammalla PCI/PCIE-laitteella on yhteinen IOMMU-ryhmä, et voi siirtää mitään kyseisen IOMMU-ryhmän PCI/PCIE-laitteita mihinkään Proxmox VE 8 -virtuaalikoneeseen (VM).

Joten jos NVIDIA GPU ja sen äänilaitteesi kuuluvat omaan IOMMU-ryhmään, voit välittää NVIDIA GPU:n kaikkiin Proxmox VE 8 -virtuaalikoneisiin (VM:ihin).

Proxmox VE 8 -palvelimellani käytän MSI X570 ACE -emolevyä, joka on yhdistetty Ryzen 3900X -prosessoriin ja Gigabyte RTX 4070 NVIDIA GPU:hun. Järjestelmäni IOMMU-ryhmien mukaan voin läpäistä NVIDIA RTX 4070 GPU (IOMMU Group 21), RTL8125 2.5Gbe Ethernet Controller (IOMMU Group 20), Intel I211 Gigabit Ethernet Controller (IOMMU Group 19), USB 3.0 -ohjain ( IOMMU Group 24) ja Onboard HD Audio Controller (IOMMU Group 25).

$ print-iommu-ryhmät

Koska tämän artikkelin pääpaino on Proxmox VE 8:n määrittäminen NVIDIA GPU:n kautta kulkemiseksi Proxmox VE 8 -virtuaalikoneisiin, NVIDIA GPU:n ja sen äänilaitteen on oltava omassa IOMMU-ryhmässään.

Ytimen moduulien tarkistaminen mustalle listalle PCI/PCIE-läpiviennille Proxmox VE 8:ssa

PCI/PCIE-laitteen läpiviemiseksi Proxmox VE 8 -virtuaalikoneessa (VM) sinun on varmistettava, että Proxmox VE pakottaa sen käyttämään VFIO-ydinmoduulia alkuperäisen ydinmoduulinsa sijaan.

Jotta voit selvittää PCI/PCIE-laitteidesi käyttämän ydinmoduulin, sinun on tiedettävä näiden PCI/PCIE-laitteiden valmistajan tunnukset ja laitetunnukset. Löydät PCI/PCIE-laitteiden toimittajatunnukset ja laitetunnukset käyttämällä print-iommu-ryhmät komento.

$ print-iommu-ryhmät

Esimerkiksi NVIDIA RTX 4070 GPU:n toimittajatunnus ja laitetunnus on 10de: 2786 ja sen äänilaite on 10de: 22eKr .

Löytääksesi ydinmoduulin PCI/PCIE-laitteen 10de: 2786 (NVIDIA RTX 4070 GPU) käyttää, suorita lspci komento seuraavasti:

$ lspci -v -d 10de:2786

Kuten näet, NVIDIA RTX 4070 GPU käyttää nvidiafb ja Uusi ydinmoduulit oletuksena. Joten niitä ei voi siirtää Proxmox VE 8 -virtuaalikoneeseen (VM) tässä vaiheessa.

NVIDIA RTX 4070 GPU:n äänilaite käyttää snd_hda_intel ytimen moduuli. Joten sitä ei voida välittää Proxmox VE 8 -virtuaalikoneelle tässäkään vaiheessa.

$ lspci -v -d 10de:22bc

Jotta voin siirtää NVIDIA RTX 4070 GPU:n ja sen äänilaitteen Proxmox VE 8 -virtuaalikoneeseen (VM), minun on musta lista nvidiafb , Uusi , ja snd_hda_intel ydinmoduulit ja määritä NVIDIA RTX 4070 GPU ja sen äänilaite käyttämään vfio-pci ytimen moduuli.

Proxmox VE 8:n PCI/PCIE-läpivientiä varten vaadittujen ydinmoduulien lisääminen mustalle listalle

Jos haluat lisätä Proxmox VE 8:n ydinmoduulit mustalle listalle, avaa /etc/modprobe.d/blacklist.conf tiedosto nano-tekstieditorilla seuraavasti:

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

Ytimen moduulien mustalle listalle Uusi , nvidiafb , ja snd_hda_intel ydinmoduulit (NVIDIA GPU:n läpi), lisää seuraavat rivit /etc/modprobe.d/blacklist.conf tiedosto:

nouveau musta lista

musta lista nvidiafb

musta lista snd_hda_intel

Kun olet valmis, paina + X jonka jälkeen JA ja pelastaaksesi /etc/modprobe.d/blacklist.conf tiedosto.

NVIDIA GPU:n määrittäminen käyttämään VFIO-ydinmoduulia Proxmox VE 8:ssa

Jotta voit määrittää PCI/PCIE-laitteen (eli NVIDIA-grafiikkasuorittimesi) käyttämään VFIO-ydinmoduulia, sinun on tiedettävä niiden toimittajatunnus ja laitetunnus.

Tässä tapauksessa NVIDIA RTX 4070 GPU:n ja sen äänilaitteen toimittajatunnus ja laitetunnus ovat 10de: 2786 ja 10de: 22eKr .

Jos haluat määrittää NVIDIA GPU:n käyttämään VFIO-ydinmoduulia, avaa /etc/modprobe.d/vfio.conf tiedosto nano-tekstieditorilla seuraavasti:

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

NVIDIA GPU:n ja sen äänilaitteen määrittäminen : 10de: 2786 ja 10de: 22eKr (oletetaan) VFIO-ydinmoduulin käyttämiseksi lisää seuraava rivi /etc/modprobe.d/vfio.conf tiedosto.

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

Kun olet valmis, paina + X jonka jälkeen JA ja pelastaaksesi /etc/modprobe.d/vfio.conf tiedosto.

Päivitä nyt Proxmove VE 8:n initramfs seuraavalla komennolla:

$ update-initramfs -u -k all

Kun initramfs on päivitetty, napsauta Käynnistä uudelleen käynnistääksesi Proxmox VE 8 -palvelimesi uudelleen, jotta muutokset tulevat voimaan.

Kun Proxmox VE 8 -palvelin käynnistyy, sinun pitäisi nähdä, että NVIDIA GPU ja sen äänilaite ( 10de: 2786 ja 10de: 22eKr minun tapauksessani) käyttävät vfio-pci ytimen moduuli. Nyt NVIDIA GPU on valmis siirrettäväksi Proxmox VE 8 -virtuaalikoneelle.

$ lspci -v -d 10de:2786

$ lspci -v -d 10de:22bc

NVIDIA GPU:n läpi Proxmox VE 8 Virtual Machine (VM)

Nyt kun NVIDIA-grafiikkasuorittimesi on valmis käytettäväksi Proxmox VE 8 -virtuaalikoneissa (VM), voit siirtää NVIDIA GPU:n haluamallesi Proxmox VE 8 -virtuaalikoneelle ja asentaa NVIDIA GPU -ohjaimet käyttämäsi käyttöjärjestelmän mukaan. että virtuaalikone tavalliseen tapaan.

Saat yksityiskohtaisia ​​tietoja NVIDIA GPU:n välittämisestä Proxmox VE 8 -virtuaalikoneeseen (VM), johon on asennettu erilaisia ​​käyttöjärjestelmiä, lukemalla jokin seuraavista artikkeleista:

  • NVIDIA-grafiikkasuorittimen siirtäminen Windows 11 Proxmox VE 8 -virtuaalikoneeseen (VM)
  • Kuinka siirtää NVIDIA GPU Ubuntu 24.04 LTS Proxmox VE 8 Virtual Machine (VM)
  • NVIDIA GPU:n välittäminen LinuxMint 21 Proxmox VE 8 -virtuaalikoneeseen (VM)
  • NVIDIA GPU:n välittäminen Debian 12 Proxmox VE 8 -virtuaalikoneeseen (VM)
  • NVIDIA GPU:n välittäminen Elementary OS 8 Proxmox VE 8 -virtuaalikoneeseen (VM)
  • NVIDIA GPU:n välittäminen Fedora 39+ Proxmox VE 8 -virtuaalikoneeseen (VM)
  • NVIDIA GPU:n läpikulku Arch Linux Proxmox VE 8 Virtual Machinessa (VM)
  • NVIDIA GPU:n läpikulku Red Hat Enterprise Linux 9:ssä (RHEL 9) Proxmox VE 8 Virtual Machinessa (VM)

Onko sinulla edelleen ongelmia PCI/PCIE-läpiviennin kanssa Proxmox VE 8 -virtuaalikoneissa (VM)?

Vaikka olet yrittänyt kaikkea tässä artikkelissa lueteltua oikein, jos PCI/PCIE-läpivienti ei vieläkään toimi sinulle, muista kokeile joitain Proxmox VE PCI/PCIE -läpivientitemppuja ja/tai kiertotapoja joita voit käyttää saadaksesi PCI/PCIE-läpivientitöitä laitteistollesi.

Johtopäätös

Tässä artikkelissa olen näyttänyt sinulle, kuinka Proxmox VE 8 -palvelin määritetään PCI/PCIE-läpivientiä varten, jotta voit siirtää PCI/PCIE-laitteet (eli NVIDIA GPU:si) Proxmox VE 8 -virtuaalikoneisiisi (VM). Olen myös näyttänyt sinulle, kuinka saat selville ydinmoduulit, jotka sinun on lisättävä mustalle listalle, ja kuinka voit lisätä ne mustalle listalle, jotta voit siirtää haluamasi PCI/PCIE-laitteet (eli NVIDIA GPU:si) Proxmox VE 8 -virtuaalikoneeseen. Lopuksi olen näyttänyt sinulle, kuinka voit määrittää haluamasi PCI/PCIE-laitteet (eli NVIDIA GPU) käyttämään VFIO-ydinmoduuleja, mikä on myös olennainen vaihe haluamiesi PCI/PCIE-laitteiden (eli NVIDIA GPU:n) onnistuneessa läpiviennissä. ) Proxmox VE 8 -virtuaalikoneeseen (VM).

Viitteet

  1. PCI(e) Passthrough – Proxmox VE
  2. PCI Passthrough - Proxmox VE
  3. Proxmoxin paras pelivirtuaalikone – YouTube