Ako nakonfigurovať Proxmox VE 8 pre PCI/PCIE a NVIDIA GPU Passthrough

Ako Nakonfigurovat Proxmox Ve 8 Pre Pci Pcie A Nvidia Gpu Passthrough



Proxmox VE 8 je jedným z najlepších open source a bezplatných hypervízorov typu I na spustenie virtuálnych strojov (VM) QEMU/KVM a kontajnerov LXC. Má pekné webové rozhranie na správu a množstvo funkcií.

Jednou z najúžasnejších funkcií Proxmox VE je, že dokáže prechádzať zariadeniami PCI/PCIE (t. j. GPU NVIDIA) z vášho počítača do virtuálnych strojov (VM) Proxmox VE. Priechod PCI/PCIE je stále lepší a lepší s novšími vydaniami Proxmox VE. V čase písania tohto článku je najnovšia verzia Proxmox VE Proxmox VE v8.1 a má skvelú podporu PCI/PCIE passthrough.







V tomto článku vám ukážem, ako nakonfigurovať hostiteľa/server Proxmox VE 8 pre priechod PCI/PCIE a nakonfigurovať GPU NVIDIA pre priechod PCIE na virtuálnych strojoch (VM) Proxmox VE 8.





Obsah

  1. Povolenie virtualizácie z firmvéru BIOS/UEFI vašej základnej dosky
  2. Inštalácia Proxmox VE 8
  3. Povolenie komunitných repozitárov Proxmox VE 8
  4. Inštalácia aktualizácií na Proxmox VE 8
  5. Povolenie IOMMU z firmvéru BIOS/UEFI vašej základnej dosky
  6. Povolenie IOMMU na Proxmox VE 8
  7. Overenie, či je IOMMU povolená na Proxmox VE 8
  8. Načítavanie modulov jadra VFIO na Proxmox VE 8
  9. Zoznam IOMMU skupín na Proxmox VE 8
  10. Kontrola, či váš GPU NVIDIA môže byť priechodný do virtuálneho počítača (VM) Proxmox VE 8
  11. Kontrola modulov jadra na čiernu listinu pre PCI/PCIE Passthrough na Proxmox VE 8
  12. Zakázanie povinných modulov jadra pre PCI/PCIE Passthrough na Proxmox VE 8
  13. Konfigurácia GPU NVIDIA na používanie modulu jadra VFIO na Proxmox VE 8
  14. Prechod GPU NVIDIA do virtuálneho počítača Proxmox VE 8 (VM)
  15. Stále máte problémy s prechodom PCI/PCIE na virtuálnych strojoch (VM) Proxmox VE 8?
  16. Záver
  17. Referencie





Povolenie virtualizácie z firmvéru BIOS/UEFI vašej základnej dosky

Pred inštaláciou Proxmox VE 8 na váš počítač/server musíte povoliť funkciu hardvérovej virtualizácie vášho procesora z firmvéru BIOS/UEFI vašej základnej dosky. Proces je odlišný pre rôzne základné dosky. Ak teda potrebujete pomoc pri povolení virtualizácie hardvéru na základnej doske, prečítajte si tento článok .



Inštalácia Proxmox VE 8

Proxmox VE 8 je zadarmo na stiahnutie, inštaláciu a používanie. Skôr ako začnete, nezabudnite nainštalovať Proxmox VE 8 do počítača. Ak s tým potrebujete pomoc, prečítajte si tento článok .

Povolenie komunitných repozitárov Proxmox VE 8

Keď už máte Proxmox VE 8 nainštalovaný na vašom počítači/serveri, uistite sa povoliť úložiská komunitných balíkov Proxmox VE 8 .

V predvolenom nastavení sú úložiská podnikových balíkov Proxmox VE 8 povolené a nebudete môcť získať/inštalovať aktualizácie a opravy chýb z podnikových úložísk, pokiaľ ste si nezakúpili podnikové licencie Proxmox VE 8. Takže, ak chcete používať Proxmox VE 8 zadarmo, uistite sa povoliť úložiská komunitných balíkov Proxmox VE 8 získať najnovšie aktualizácie a opravy chýb z Proxmox zadarmo.

Inštalácia aktualizácií na Proxmox VE 8

Keď budete mať povolil repozitáre komunitných balíkov Proxmox VE 8 , uistite sa nainštalujte všetky dostupné aktualizácie na server Proxmox VE 8 .

Povolenie IOMMU z firmvéru BIOS/UEFI vašej základnej dosky

Konfigurácia IOMMU sa nachádza na rôznych miestach na rôznych základných doskách. Ak chcete povoliť IOMMU na základnej doske, prečítajte si tento článok .

Povolenie IOMMU na Proxmox VE 8

Keď je IOMMU povolená na hardvérovej strane, musíte tiež povoliť IOMMU zo strany softvéru (od Proxmox VE 8).

Ak chcete povoliť IOMMU z Proxmox VE 8, musíte pridať nasledujúce zavádzacie parametre jadra:

Predajca procesora Zavádzacie parametre jadra na pridanie
Intel intel_iommu=zapnuté, iommu=pt
AMD iommu=pt

Ak chcete upraviť parametre zavádzania jadra Proxmox VE 8, otvorte súbor /etc/default/grub súbor s textovým editorom nano takto:

$ nano /etc/default/grub

Na konci GRUB_CMDLINE_LINUX_DEFAULT , pridajte požadované parametre zavádzania jadra na povolenie IOMMU v závislosti od procesora, ktorý používate.

Keďže používam procesor AMD, pridal som iba parameter zavádzania jadra iommu=pt na konci GRUB_CMDLINE_LINUX_DEFAULT riadok v /etc/default/grub súbor.

Po dokončení stlačte + X nasledovaný A a zachrániť /etc/default/grub súbor.

Teraz aktualizujte konfigurácie zavádzania GRUB pomocou nasledujúceho príkazu:

$ update-grub2

Po aktualizácii konfigurácií zavádzania GRUB kliknite na Reštartovať reštartujte server Proxmox VE 8, aby sa zmeny prejavili.

Overenie, či je IOMMU povolená na Proxmox VE 8

Ak chcete overiť, či je IOMMU povolená na Proxmox VE 8, spustite nasledujúci príkaz:

$ dmesg | grep -e DMAR -e IOMMU

Ak je IOMMU povolená, uvidíte niektoré výstupy potvrdzujúce, že IOMMU je povolená.

Ak IOMMU nie je povolená, nemusíte vidieť žiadne výstupy.

Tiež musíte mať Premapovanie prerušení IOMMU povolené, aby fungoval priechod PCI/PCIE.

Ak chcete skontrolovať, či je na vašom serveri Proxmox VE 8 povolené premapovanie prerušení IOMMU, spustite nasledujúci príkaz:

$ dmesg | grep 'premapovanie'

Ako vidíte, na mojom serveri Proxmox VE 8 je povolené premapovanie prerušení IOMMU.

Väčšina moderných procesorov AMD a Intel bude mať povolené premapovanie prerušení IOMMU. Ak z nejakého dôvodu nemáte povolené premapovanie prerušení IOMMU, existuje riešenie. Musíte povoliť Nebezpečné prerušenia pre VFIO. Prečítajte si tento článok viac informácií o povolení nebezpečných prerušení na vašom serveri Proxmox VE 8.

Načítavanie modulov jadra VFIO na Proxmox VE 8

Prechod PCI/PCIE zabezpečujú hlavne moduly jadra VFIO (Virtual Function I/O) na Proxmox VE 8. Moduly jadra VFIO nie sú štandardne načítané pri štarte na Proxmox VE 8. Načítanie VFIO je však jednoduché. moduly jadra v čase zavádzania na Proxmox VE 8.

Najprv otvorte /etc/modules-load.d/vfio.conf súbor s nano textový editor takto:

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

Zadajte nasledujúce riadky do /etc/modules-load.d/vfio.conf súbor.

vfio

vfio_iommu_type1

vfio_pci

Po dokončení stlačte + X nasledovaný A a aby sa zmeny uložili.

Teraz aktualizujte initramfs vašej inštalácie Proxmox VE 8 pomocou nasledujúceho príkazu:

$ update-initramfs -u -k all

Po aktualizácii initramfs kliknite na Reštartovať reštartujte server Proxmox VE 8, aby sa zmeny prejavili.

Po zavedení servera Proxmox VE 8 by ste mali vidieť, že sú načítané všetky požadované moduly jadra VFIO.

$ lsmod | grip vfio

Zoznam IOMMU skupín na Proxmox VE 8

Na prechod zariadení PCI/PCIE na virtuálnych strojoch (VM) Proxmox VE 8 budete musieť pomerne často kontrolovať skupiny IOMMU vašich zariadení PCI/PCIE. Aby som uľahčil kontrolu skupín IOMMU, rozhodol som sa do cesty napísať skript shellu (získal som ho z GitHubu, ale nepamätám si názov pôvodného plagátu). /usr/local/bin/print-iommu-groups aby som mohol len bežať print-iommu-groups a vytlačí skupiny IOMMU na shell Proxmox VE 8.

Najprv vytvorte nový súbor print-iommu-groups v ceste /usr/local/bin a otvorte ho pomocou textového editora nano takto:

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

Zadajte nasledujúce riadky do print-iommu-groups súbor:

#!/bin/bash

obchody -s nullglob

pre g v ` Nájsť / sys / jadro / iommu_groups /* - maximálna hĺbka 0 -typ d | triediť -V ` ; robiť

ozvena „Skupina IOMMU ${g##*/} :'

pre d v $ g / zariadení /* ; robiť

ozvena -To je ' \t $(lspci -nns ${d##*/}) '

hotový ;

hotový ;

Po dokončení stlačte + X nasledovaný A a uložiť zmeny do print-iommu-groups súbor.

Urobiť print-iommu-groups súbor skriptu spustiteľný s nasledujúcim príkazom:

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

Teraz môžete spustiť print-iommu-groups nasledujúcim príkazom vytlačíte skupiny IOMMU zariadení PCI/PCIE nainštalovaných na vašom serveri Proxmox VE 8:

$ print-iommu-groups

Ako vidíte, skupiny IOMMU zariadení PCI/PCIE nainštalovaných na mojom serveri Proxmox VE 8 sú vytlačené.

Kontrola, či váš GPU NVIDIA môže byť priechodný do virtuálneho počítača (VM) Proxmox VE 8

Ak chcete preniesť zariadenie PCI/PCIE do virtuálneho počítača (VM) Proxmox VE 8, musí byť vo vlastnej skupine IOMMU. Ak 2 alebo viac zariadení PCI/PCIE zdieľajú skupinu IOMMU, nemôžete preniesť žiadne zo zariadení PCI/PCIE tejto skupiny IOMMU do žiadneho virtuálneho počítača (VM) Proxmox VE 8.

Ak je teda váš GPU NVIDIA a jeho zvukové zariadenie vo vlastnej skupine IOMMU, môžete GPU NVIDIA preniesť na akýkoľvek virtuálny stroj (VM) Proxmox VE 8.

Na mojom serveri Proxmox VE 8 používam základnú dosku MSI X570 ACE spárovanú s procesorom Ryzen 3900X a GPU Gigabyte RTX 4070 NVIDIA. Podľa skupín IOMMU môjho systému môžem prejsť cez GPU NVIDIA RTX 4070 (IOMMU Group 21), RTL8125 2,5Gbe Ethernet Controller (IOMMU Group 20), Intel I211 Gigabit Ethernet Controller (IOMMU Group 19), USB 3.0 radič ( IOMMU Group 24) a zabudovaný HD Audio Controller (IOMMU Group 25).

$ print-iommu-groups

Keďže hlavným cieľom tohto článku je konfigurácia Proxmox VE 8 na prechod cez GPU NVIDIA na virtuálne stroje Proxmox VE 8, GPU NVIDIA a jeho zvukové zariadenie musia byť vo vlastnej skupine IOMMU.

Kontrola modulov jadra na čiernu listinu pre PCI/PCIE Passthrough na Proxmox VE 8

Ak chcete prejsť zariadením PCI/PCIE na virtuálnom stroji (VM) Proxmox VE 8, musíte sa uistiť, že Proxmox VE ho prinúti používať modul jadra VFIO namiesto jeho pôvodného modulu jadra.

Ak chcete zistiť, aký modul jadra používajú vaše zariadenia PCI/PCIE, budete musieť poznať ID predajcu a ID zariadenia týchto zariadení PCI/PCIE. ID predajcu a ID zariadenia zariadení PCI/PCIE môžete nájsť pomocou print-iommu-groups príkaz.

$ print-iommu-groups

Napríklad ID dodávateľa a ID zariadenia môjho GPU NVIDIA RTX 4070 je 10de:2786 a je to zvukové zariadenie 10de:22 pred Kr .

Ak chcete nájsť modul jadra, zariadenie PCI/PCIE 10de:2786 (moja NVIDIA RTX 4070 GPU) používa, spustite lspci príkaz takto:

$ lspci -v -d 10de:2786

Ako vidíte, moja GPU NVIDIA RTX 4070 používa nvidiafb a Nový moduly jadra štandardne. V tejto chvíli ich teda nemožno odovzdať virtuálnemu stroju (VM) Proxmox VE 8.

Zvukové zariadenie môjho GPU NVIDIA RTX 4070 používa snd_hda_intel modul jadra. V tomto bode ho teda nemožno odovzdať ani virtuálnemu stroju Proxmox VE 8.

$ lspci -v -d 10de:22 bc

Aby som teda mohol prejsť mojím GPU NVIDIA RTX 4070 a jeho zvukovým zariadením na virtuálnom stroji (VM) Proxmox VE 8, musím na čiernu listinu nvidiafb , Nový a snd_hda_intel moduly jadra a nakonfigurujte môj GPU NVIDIA RTX 4070 a jeho zvukové zariadenie na používanie vfio-pci modul jadra.

Zakázanie povinných modulov jadra pre PCI/PCIE Passthrough na Proxmox VE 8

Ak chcete zakázať moduly jadra na Proxmox VE 8, otvorte súbor /etc/modprobe.d/blacklist.conf súbor s textovým editorom nano takto:

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

Na čiernu listinu modulov jadra Nový , nvidiafb a snd_hda_intel moduly jadra (na prechod cez GPU NVIDIA), pridajte nasledujúce riadky do súboru /etc/modprobe.d/blacklist.conf súbor:

čierna listina nouveau

čierna listina nvidiafb

čierna listina snd_hda_intel

Po dokončení stlačte + X nasledovaný A a zachrániť /etc/modprobe.d/blacklist.conf súbor.

Konfigurácia GPU NVIDIA na používanie modulu jadra VFIO na Proxmox VE 8

Ak chcete nakonfigurovať zariadenie PCI/PCIE (t. j. váš GPU NVIDIA) na používanie modulu jadra VFIO, musíte poznať jeho ID dodávateľa a ID zariadenia.

V tomto prípade je ID dodávateľa a ID zariadenia môjho GPU NVIDIA RTX 4070 a jeho zvukového zariadenia 10de:2786 a 10de:22 pred Kr .

Ak chcete nakonfigurovať GPU NVIDIA na používanie modulu jadra VFIO, otvorte súbor /etc/modprobe.d/vfio.conf súbor s textovým editorom nano takto:

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

Ak chcete nakonfigurovať grafický procesor NVIDIA a jeho zvukové zariadenie pomocou : 10de:2786 a 10de:22 pred Kr (povedzme), ak chcete použiť modul jadra VFIO, pridajte nasledujúci riadok do /etc/modprobe.d/vfio.conf súbor.

možnosti vfio-pci ids=10de:2786,10de:22bc

Po dokončení stlačte + X nasledovaný A a zachrániť /etc/modprobe.d/vfio.conf súbor.

Teraz aktualizujte initramfs Proxmove VE 8 pomocou nasledujúceho príkazu:

$ update-initramfs -u -k all

Po aktualizácii initramfs kliknite na Reštartovať reštartujte server Proxmox VE 8, aby sa zmeny prejavili.

Po spustení servera Proxmox VE 8 by ste mali vidieť, že váš GPU NVIDIA a jeho zvukové zariadenie ( 10de:2786 a 10de:22 pred Kr v mojom prípade) používajú vfio-pci modul jadra. Teraz je váš GPU NVIDIA pripravený na odovzdanie virtuálnemu stroju Proxmox VE 8.

$ lspci -v -d 10de:2786

$ lspci -v -d 10de:22 bc

Prechod GPU NVIDIA do virtuálneho počítača Proxmox VE 8 (VM)

Teraz, keď je váš GPU NVIDIA pripravený na prechod na virtuálnych strojoch (VM) Proxmox VE 8, môžete GPU NVIDIA prejsť na požadovaný virtuálny stroj Proxmox VE 8 a nainštalovať ovládače GPU NVIDIA v závislosti od operačného systému, ktorý používate. ten virtuálny stroj ako obvykle.

Podrobné informácie o tom, ako prejsť vaším GPU NVIDIA na virtuálnom stroji (VM) Proxmox VE 8 s rôznymi nainštalovanými operačnými systémami, nájdete v jednom z nasledujúcich článkov:

  • Ako prejsť GPU NVIDIA do virtuálneho počítača Windows 11 Proxmox VE 8 (VM)
  • Ako prejsť GPU NVIDIA do virtuálneho počítača Ubuntu 24.04 LTS Proxmox VE 8 (VM)
  • Ako prejsť GPU NVIDIA do virtuálneho počítača LinuxMint 21 Proxmox VE 8 (VM)
  • Ako prejsť GPU NVIDIA do virtuálneho počítača Debian 12 Proxmox VE 8 (VM)
  • Ako prejsť GPU NVIDIA na virtuálny stroj (VM) so základným OS 8 Proxmox VE 8
  • Ako preniesť GPU NVIDIA do virtuálneho počítača Fedora 39+ Proxmox VE 8 (VM)
  • Ako prejsť GPU NVIDIA na virtuálnom stroji Arch Linux Proxmox VE 8 (VM)
  • Ako prejsť GPU NVIDIA na Red Hat Enterprise Linux 9 (RHEL 9) Proxmox VE 8 Virtual Machine (VM)

Stále máte problémy s prechodom PCI/PCIE na virtuálnych strojoch (VM) Proxmox VE 8?

Aj keď ste správne vyskúšali všetko uvedené v tomto článku, ak vám priechod PCI/PCIE stále nefunguje, nezabudnite vyskúšajte niektoré z prechodových trikov a/alebo riešení Proxmox VE PCI/PCIE ktoré môžete použiť na prechod PCI/PCIE na vašom hardvéri.

Záver

V tomto článku som vám ukázal, ako nakonfigurovať váš server Proxmox VE 8 na priechod PCI/PCIE, aby ste mohli prenášať zariadenia PCI/PCIE (t. j. váš GPU NVIDIA) na vaše virtuálne stroje (VM) Proxmox VE 8. Ukázal som vám aj to, ako zistiť moduly jadra, ktoré musíte zaradiť na čiernu listinu a ako ich zakázať pre úspešný prechod vašich požadovaných zariadení PCI/PCIE (t. j. vášho GPU NVIDIA) na virtuálny stroj Proxmox VE 8. Nakoniec som vám ukázal, ako nakonfigurovať vaše požadované zariadenia PCI/PCIE (t. j. váš GPU NVIDIA) na používanie modulov jadra VFIO, čo je tiež nevyhnutný krok pre úspešný prechod vašich požadovaných zariadení PCI/PCIE (t. j. vášho GPU NVIDIA ) na virtuálny stroj (VM) Proxmox VE 8.

Referencie

  1. PCI(e) Passthrough – Proxmox VE
  2. PCI Passthrough – Proxmox VE
  3. Špičkový herný virtuálny stroj na proxmox – YouTube