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
- Virtualisoinnin ottaminen käyttöön emolevyn BIOS/UEFI-laiteohjelmistosta
- Proxmox VE 8:n asentaminen
- Otetaan käyttöön Proxmox VE 8 -yhteisövarastot
- Päivitysten asentaminen Proxmox VE 8:aan
- IOMMU:n käyttöönotto emolevyn BIOS/UEFI-laiteohjelmistosta
- IOMMU:n käyttöönotto Proxmox VE 8:ssa
- Tarkistaa, onko IOMMU käytössä Proxmox VE 8:ssa
- Ladataan VFIO-ydinmoduuleja Proxmox VE 8:ssa
- IOMMU-ryhmien luettelointi Proxmox VE 8:ssa
- Tarkistaminen, voidaanko NVIDIA GPU:si kulkea Proxmox VE 8 -virtuaalikoneeseen (VM)
- Ytimen moduulien tarkistaminen mustalle listalle PCI/PCIE-läpiviennille Proxmox VE 8:ssa
- Proxmox VE 8:n PCI/PCIE-läpivientiä varten vaadittujen ydinmoduulien lisääminen mustalle listalle
- NVIDIA GPU:n määrittäminen käyttämään VFIO-ydinmoduulia Proxmox VE 8:ssa
- NVIDIA GPU:n läpi Proxmox VE 8 Virtual Machine (VM)
- Onko sinulla edelleen ongelmia PCI/PCIE-läpiviennin kanssa Proxmox VE 8 -virtuaalikoneissa (VM)?
- Johtopäätös
- 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
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.
vfiovfio_iommu_type1
vfio_pci
Kun olet valmis, paina
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/bashkaupat -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
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 listamusta lista nvidiafb
musta lista snd_hda_intel
Kun olet valmis, paina
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
Kun olet valmis, paina
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).