Prehod GPU-ja (vDGA) v VMware: Popoln vodnik

Zadnja posodobitev: 14/01/2026
Avtor: Isaac
  • Prenašanje podatkov z grafičnim procesorjem (vDGA/VMDirectPath I/O) v VMwareu preslika celotno fizično grafično kartico v virtualni stroj, da doseže skoraj izvorno zmogljivost.
  • Njegova uporaba zahteva stroge zahteve strojna oprema (VT-d/AMD-V, IOMMU, MMIO 64-bit) in vdelana programska oprema EFI/UEFI na virtualnem računalniku.
  • Omogočanje vDGA povzroči izgubo ključnih funkcij vSphere, kot so vMotion, DRS in posnetki na navideznem računalniku, ki uporablja grafični procesor v načinu prehoda.
  • V primerjavi z vGPU in drugimi rešitvami daje vDGA prednost namenski zmogljivosti pred prilagodljivostjo in možnostjo souporabe grafičnega procesorja med več navideznimi stroji.

Prehod GPU-ja vDGA v VMwareu

Neposredna povezava fizičnega grafičnega procesorja z virtualnim strojem v VMwareu To je ena tistih sprememb, ki naredijo vso razliko pri delu z velikimi grafičnimi obremenitvami. IA ali 3D-upodabljanje. Prehod z emulirane grafične kartice na neposreden dostop prek prehoda (vDGA / VMDirectPath I/O) lahko zmogljivost virtualnega stroja približa zmogljivosti fizičnega stroja, vendar posledično doda kar nekaj zahtev in omejitev, ki bi morale biti pred začetkom zelo jasne.

Poleg tega v trenutnem ekosistemu obstaja več načinov uporabe grafičnih procesorjev v virtualiziranih okoljih: Namensko prehajanje, skupna vGPU in tehnologije, kot sta BitFusion ali particioniranje z GPU-jemRazumevanje, kaj vsak od njih počne, v katerih primerih ustreza in kako je konfiguriran v vSphere/ESXi (in kako se nanaša na podobne tehnologije, kot je Hyper-V DDA), je ključnega pomena, da se ne znajdete v slepi ulici s strojno opremo ali izbrano različico hipervizorja.

Kaj je prehod GPU-ja (vDGA / VMDirectPath I/O) v VMwareu

Prehod GPU-ja v VMware, znan tudi kot vDGA ali VMDirectPath I/OTo je način delovanja, pri katerem je fizična grafična kartica, nameščena v gostitelju ESXi, neposredno dodeljena virtualnemu računalniku. Namesto uporabe grafičnega adapterja, ki ga emulira hipervizor, gostujoči operacijski sistem vidi grafični procesor skoraj tako, kot da bi bil priključen na fizično matično ploščo.

Ta bližnjica omogoča virtualnemu stroju, da izkoristi vsa moč grafičnega čipa, njegov video pomnilnik in napredne funkcije kot so CUDA, OpenCL, Direct3D in OpenGL, izvorno, z zelo malo dodatnimi stroški hipervizorja. V laboratorijskih testih VMware je običajno zabeležena izguba zmogljivosti približno 4-5 % v primerjavi z zagonom istega grafičnega procesorja v golem sistemu.

V praksi uporaba GPU passthrough pomeni, da Ta kartica je v celoti namenjena enemu samemu virtualnemu stroju.Ni natančne dodelitve virov med več virtualnimi stroji, niti ni na ESXi naložene programske opreme tretje osebe za skupno rabo grafične kartice, za razliko od rešitev vGPU, kot je NVIDIA MREŽA.

Pomembno je razlikovati ta pristop od drugih načinov uporabe grafičnih procesorjev v virtualizaciji, kot so npr. NVIDIA vGPU (skupni vGPU), RemoteFX/particioniranje na rešitvah tipa Hyper-V ali BitFusion, ki si prizadevajo za porazdelitev grafične kartice ali skupine grafičnih kartic med več računalniki z različnimi tehnikami virtualizacije ali preusmeritve na daljavo.

Ko govorimo o vDGA v svetu VMware, v bistvu opisujemo to neposredna dodelitev naprave PCIe grafične kartice virtualnemu stroju z uporabo VMDirectPath V/I, z vsemi dobrimi (zmogljivost) in slabimi (omejitve mobilnosti in visoke razpoložljivosti), ki jih to prinaša.

Arhitektura grafičnih procesorjev VMDirectPath VMware

Prednosti uporabe GPU passthrough v vSphere

Glavni razlog za prehod na vDGA je ta, da Grafična in računalniška zmogljivost sta zelo blizu zmogljivosti fizičnega računalnika.Z izpustitvijo velikega dela virtualizacijske plasti za to napravo PCIe izginejo tipična ozka grla emuliranega grafičnega procesorja in navidezni stroj lahko veliko bolj gladko deluje z igrami, 3D-aplikacijami ali motorji umetne inteligence.

To je še posebej opazno v scenarijih, kjer integrirane grafične kartice ali privzeta emulirana virtualna grafična kartica močno zaostajajo: Napredno grafično oblikovanje, CAD, 3D modeliranje in upodabljanje, montaža videa, animacija in razvoj igerPrav tako je ključnega pomena pri usposabljanju modelov strojnega učenja in delovnih obremenitev umetne inteligence, ki se močno zanašajo na CUDA ali ekvivalente.

Druga očitna prednost je bolj prilagodljiva uporaba strojne opreme na ravni podatkovnega centra. Namesto da bi imeli fizična delovna postaja na uporabnika ali na projektDovolj velik gostitelj ESXi je mogoče nameniti več virtualnim strojem, vsak s svojim grafičnim procesorjem v prehodu, in se igrati z urniki ali največjimi obremenitvami.

V določenih okoljih, zlasti če so strežniki s prostimi režami PCIe že na voljo, stroški na uporabnika ali na projekt Morda je manj kot vzdrževanje flote zmogljivih fizičnih delovnih postaj, še posebej, če grafična kartica ni potrebna 24 ur na dan in jo je mogoče prekonfigurirati glede na obdobja intenzivnega dela.

Končno obstaja tudi posredna korist v smislu varnosti in delovanja: z ohranjanjem grafičnih delovnih obremenitev znotraj izoliranih virtualnih strojevČe gre kaj narobe (izkoriščanje varnostne kode, problematičen gonilnik, slaba konfiguracija), je lažje omejiti vpliv, se vrniti na prejšnji posnetek ali obnoviti iz varnostne kopije, če se upoštevajo omejitve prenosa podatkov, ki jih bomo videli kasneje.

Prehod GPU v primerjavi z vGPU in druge alternative

Znotraj ekosistema VMware obstaja več načinov uporabe grafične kartice in vsi ne vključujejo njene celotne namenitve enemu samemu virtualnemu stroju. Najbolj znani so: vDGA / VMDirectPath I/O, vGPU (NVIDIA GRID ali drugi) in rešitve za oddaljeni dostop/računalništvo, kot je BitFusion.

  Kako korak za korakom onemogočiti samodejno dokončanje v spletnih brskalnikih

V načinu neposrednega prehoda (vDGA) je grafični procesor dodeljen izključno na virtualni strojRačunalniška jedra in VRAM se ne delijo med več virtualnimi stroji, vloga hipervizorja pa praktično ne obstaja, razen usmerjanja naprave PCIe do gosta. To je najlažja možnost za razumevanje in tista, ki najbolj spominja na fizični strežnik z namensko grafično kartico.

Pri pristopu vGPU se uporablja specializirana programska oprema (na primer NVIDIA GRID vGPU na VMware vSphereObvladuje virtualizacijo GPU-ja na ravni krmilnika in izpostavlja virtualne primerke GPU-ja, ki jih je mogoče hkrati dodeliti več VM-jem. Vsak gostujoči računalnik vidi "rezino" GPU-ja z zagotovljenimi ali deljenimi viri.

vGPU-ji omogočajo, da več virtualnih namizij ali strežnikov deli eno grafično kartico, kar je zelo uporabno v VDI, lahka pospešena pisarniška okolja, grafične delovne postaje za stranke v trgovini na drobno ali gostinstvuali scenariji, kjer je največja poraba grafike neenakomerna med uporabniki. Posledično pride do nekaj dodatnih stroškov in ni dosežena enaka največja zmogljivost kot pri celotnem fizičnem grafičnem procesorju, namenjenem enemu samemu navideznemu računalniku.

Obstajajo tudi rešitve, kot so BitFusion Flexdirect in podobne tehnologijeki omogočajo uporabo grafičnih procesorjev prek omrežja iz različnih virtualnih strojev, kar je idealno za delovne obremenitve umetne inteligence in visokozmogljivega računalništva, kjer grafični procesor deluje bolj kot oddaljeni računalniški vir kot pa kot grafična kartica za uporabnikov grafični vmesnik.

Izberite med modelom vDGA, vGPU ali oddaljenim GPU-jem Odvisno je od tega, ali morate v celoti izkoristiti grafični procesor za en sam stroj (prehod), ali želite drago kartico razdeliti med več uporabnikov s srednjimi delovnimi obremenitvami (vGPU) ali pa je ključno orkestrirati skupino grafičnih procesorjev za porazdeljeno računalništvo (BitFusion in podobno).

Strojne zahteve za uporabo vDGA na ESXi

Preden načrtujete uvedbo prehoda GPU v VMware, se morate prepričati, da Strojna platforma izpolnjuje vrsto pogojev ki presegajo "priključitev grafične kartice na strežnik".

Najprej mora procesor in čipset matične plošče gostitelja ESXi podpirati virtualizacija z IOMMU. V Intel To se doseže z Intel VT-x in VT-dy, z AMD pa z AMD-V z IOMMU. BIOS/UEFI strežnika ima običajno za to posebne možnosti. aktiviranje razširitev virtualizacije V/I.

Drugič, preveriti morate, ali je podporna plošča Preslikava pomnilnika MMIO nad 4 GB (včasih označeno kot »dekodiranje nad 4G«, »pomnilniško preslikan V/I nad 4G« ali podobno). To je še posebej pomembno pri vrhunskih grafičnih procesorjih, kot so Tesla, P100, V100 in ekvivalenti, ki v svojih BAR-ih (baznih naslovnih registrih) deklarirajo zelo velika pomnilniška območja.

Nekatere od teh vrhunskih kartic lahko preslikajo več kot 16 GB prostora MMIOZato poleg igranja BIOSNato bo treba prilagoditi določene parametre v naprednih nastavitvah navideznega stroja v vSphere, da se bo lahko zagnal s to grafično kartico brez napak zaradi nezadostnih virov.

Seveda mora biti sam grafični procesor združljiv s strežniško platformo in ga podpira proizvajalec gostiteljske opreme (Dell, HPE, Lenovoitd.) pri uporabi v načinu prehoda. V praksi deluje večina sodobnih grafičnih procesorjev PCIe, vendar je priporočljivo preveriti sezname združljivosti, zlasti za kartice GRID ali zelo nove modele.

Zahteve programske opreme in združljivost različic

Na ravni programske opreme je pomembno jasno vedeti, da VMware podpira vDGA v vSphere 6.x in novejših različicah.Vendar pa so nekateri uporabniki poročali o specifičnih težavah z določenimi kombinacijami strojne opreme (na primer grafične kartice NVIDIA GRID v strežnikih Dell R720 z ESXi 6.x).

V teh primerih je pogosto videti napake, kot je »naprava je že v uporabi« ali simptome, ki kažejo, da Prehod je prenehal delovati po nadgradnji z ESXi 5.5 na 6.xko v resnici gre za specifične hrošče, spremembe v upravljanju naprav PCI ali gonilnikov, ne pa za uradni umik podpore.

Gostujoči operacijski sistem, ki bo uporabljal grafični procesor pri prehodu, mora imeti uradni gonilniki proizvajalca, nameščeni v virtualnem stroju (NVIDIA, AMD, Intel), saj ESXi pri uporabi VMDirectPath I/O ne naloži nobenega specifičnega gonilnika za to kartico; hipervizor preprosto izpostavi napravo gostu.

Poleg tega mora biti virtualni stroj konfiguriran za zagon v Način EFI ali UEFI pri uporabi grafičnih procesorjev, ki deklarirajo velika območja pomnilnika MMIO. Ta podrobnost je ključnega pomena: napačna vdelana programska oprema navideznega stroja lahko povzroči napake škorenj ali da se grafični procesor ne inicializira pravilno iz gostujočega operacijskega sistema.

Na strani odjemalca, če dostop do virtualnega stroja poteka prek Oddaljeno namizje (RDP ali drugi protokoli)Ustrezne pravilnike bo treba aktivirati, da bo gostujoči sistem v oddaljenih sejah uporabljal grafično kartico strojne opreme in ne bo obtičal na generičnem gonilniku brez pospeševanja.

  Windows Update ne deluje v sistemu Windows 7. Kaj lahko storim?

Konfiguracija prehoda GPU v VMwareu

Konfiguriranje gostitelja ESXi za uporabo grafičnega procesorja v prehodnem načinu

Prvi praktični korak je priprava Strežnik vSphere/ESXi za izpostavljanje grafičnega procesorja kot vhodno/izhodne naprave DirectPathTo vključuje dostop do BIOS-a, preverjanje inventarja PCI na gostitelju in označevanje kartice, da jo je mogoče dodeliti virtualnim strojem.

Če grafična kartica zahteva velika območja pomnilnika MMIO (16 GB ali več), morate v BIOS-u/UEFI strežnika poiskati možnosti, kot so »Dekodiranje nad 4G« ali »Upravljanje 64-bitnih virov PCI nad 4G« in jih aktivirajte. Specifično ime se razlikuje glede na proizvajalca, vendar ga običajno najdete v nastavitvah PCI ali v razdelku z naprednimi viri.

Ko se ESXi zažene s temi nastavitvami, lahko v odjemalcu vSphere odprete ustrezni gostitelj in dostopate do njega. »Konfiguriraj → Strojna oprema → Naprave PCI → Uredi« Če si želite ogledati seznam zaznanih naprav PCI, boste videli kartice NVIDIA, AMD ali podobne kartice skupaj z ostalo strojno opremo PCI strežnika.

Če grafična kartica še ni omogočena za DirectPath I/O, preprosto označite polje. prehodna škatla pri vašem vhodu znotraj tega seznama. Ko shranite spremembe, vas bo vSphere pozval k ponovnemu zagonu gostitelja, da se konfiguracija uporabi, saj mora hipervizor rezervirati in pripraviti napravo za ponovno dodelitev virtualnim strojem.

Po ponovnem zagonu, ob vrnitvi na odsek »Konfiguriraj → Strojna oprema → Naprave PCI« Prikazalo se bo okno z naslovom, kot je »Naprave DirectPath I/O PCI, ki so na voljo navideznim računalnikom«, v katerem bodo navedene vse naprave, ki so postale na voljo za uporabo v navideznih strojih, vključno z grafičnimi procesorji in v mnogih primerih naprednimi omrežnimi adapterji, kot je Mellanox.

Priprava in konfiguracija virtualnega stroja

Ko je gostitelj pripravljen, je naslednji korak ustvarjanje ali prilagajanje virtualnega stroja, ki bo uporabljal grafični procesor. Najprej je treba zagotoviti, da je virtualni stroj Ustvarjen je bil z ustrezno vdelano programsko opremo EFI/UEFI., zlasti v scenarijih z vrhunskimi grafičnimi procesorji in visokim MMIO.

V odjemalcu vSphere preprosto izberite virtualni stroj in pojdite na »Uredi nastavitve → Možnosti navideznega računalnika → Možnosti zagona« in preverite, ali je v polju »Firmware« izbrana možnost »EFI« ali »UEFI«. Če ni, jo bo treba spremeniti (v nekaterih primerih pa bo treba navidezni računalnik ali operacijski sistem ponovno ustvariti, če ne podpira te vroče zamenjave).

Pri uporabi prehoda s karticami, ki preslikajo več kot 16 GB prostora MMIO, je priporočljivo prilagoditi nekatere napredne parametre v konfiguraciji navideznega računalnika, do katere lahko dostopate iz »Uredi nastavitve → Možnosti navideznega računalnika → Napredno → Konfiguracijski parametri → Urejanje konfiguracije«Tam lahko dodate ključe, povezane s pciPassthru, da nadzorujete, kako je rezerviran naslovni prostor.

Natančneje, uporaba 64-bitnega MMIO je običajno omogočena in za to regijo je določena velikost, izračunana iz Koliko vrhunskih grafičnih procesorjev bo dodeljenih virtualnemu stroju?Pravilo je običajno, da se 16 pomnoži s številom grafičnih procesorjev in rezultat zaokroži na naslednjo potenco dveh (na primer, dva taka grafična procesorja bi imela 64 GB 64-bitnega MMIO).

Po nastavitvi teh parametrov se izvede namestitev ali pa se preveri, ali je Gostujoči operacijski sistem podpira EFI/UEFI in je sposoben obvladovati ustrezno velikost pomnilnika in grafični procesor.Na tej točki grafična kartica še ni povezana z navideznim računalnikom; okolje se preprosto pripravlja, tako da se bo, ko bo, vse zagnalo brez napak zaradi pomanjkanja virov ali nezdružljive vdelane programske opreme.

Dodelite grafični procesor virtualnemu stroju z uporabo VMDirectPath I/O

Ko gostitelj označi grafični procesor kot na voljo za DirectPath I/O in je virtualni stroj pravilno konfiguriran, je čas za fizično povežite kartico s tem virtualnim strojemTa korak je treba izvesti, ko je virtualni stroj popolnoma izklopljen.

V odjemalcu vSphere izberite VM in vnesite »Uredi nastavitve« za pregled virtualne strojne opremeNa seznamu naprav lahko kliknete »Dodaj novo napravo« in izberete »Naprava PCI«, če grafična kartica še ni na seznamu. Nato izberite napravo PCI, ki ustreza grafični kartici (na primer kartico NVIDIA ali AMD, zaznano na gostitelju).

Ko je konfiguracija shranjena, bo virtualni stroj na svoji strojni opremi prikazal nekaj takega »PCI Device 0«, povezana s specifičnim grafičnim procesorjemOd te točke naprej bo gostujoči operacijski sistem ob zagonu videl dodaten PCIe adapter, ki ustreza fizični grafični kartici.

Bistveno je, da ima virtualni stroj rezerviral ves pomnilnik, ki mu je bil dodeljenV vSphere je to konfigurirano v »Uredi nastavitve → Navidezna strojna oprema → Pomnilnik«, kjer je vrednost »Rezervacija« nastavljena na količino RAM-a, konfiguriranega za navidezni stroj. Brez te popolne rezervacije lahko prehod PCI ne uspe ali pa pride do občasnih težav.

  Časovna omejitev semaforja je potekla | Rešitve

Po vklopu navideznega računalnika v sistemu Linux Prisotnost grafičnega procesorja je mogoče preveriti z ukazi Tip lspci | grep nvidia, medtem ko se bo v sistemu Windows prikazal pod »Video adapterji« v Upravitelj napravNormalno je videti tako grafični adapter, ki ga emulira VMware, kot namensko fizično grafično kartico.

Zadnji korak je namestitev naslednjega na gostujočo napravo: vozniki Uradniki proizvajalca grafičnih procesorjev, prenesenih s spletnih mest NVIDIA, AMD ali Intel, pri čemer se izogibajte zanašanju na generične gonilnike ali tiste, ki so priloženi Windows Updateki morda ni optimiziran za scenarije prehoda.

Omejitve vSphere in funkcije, ki ne delujejo z vDGA

B stran prehoda GPU v VMwareu je ta Izgubljenih je več naprednih funkcij platforme z dodelitvijo fizične naprave neposredno virtualnemu stroju. To je cena, ki jo je treba plačati za skoraj izvorno zmogljivost.

Prva velika žrtev je vMotion in DRSNavideznega stroja z grafičnim procesorjem v prehodnem načinu ni mogoče vroče migrirati na drugega gostitelja, ker je kartica fizično vezana na prvotni strežnik. Prav tako ni mogoče uporabiti pravilnikov za avtomatizirano uravnoteženje obremenitve, ki vključujejo premikanje navideznega stroja med gostitelji v gruči.

Funkcije, kot so Tradicionalni posnetki ali določeni mehanizmi visoke razpoložljivosti za ta specifični navidezni stroj. Ker se zanaša na zelo specifično fizično strojno opremo, je možnost zamrznitve in obnovitve kompleksnih stanj ogrožena.

Drug vidik, ki ga je treba upoštevati, je, da v tem načinu Grafični procesor se ne deli med več navideznimi računalnikiČe je na istem računalniku potrebnih več namiznih računalnikov ali strežnikov z grafičnim pospeševanjem, bo potrebna ena kartica na navidezni stroj ali pa se lahko uporabi model vGPU, kjer je kartica virtualizirana v več instancah.

Na strani podpore lahko obstajajo posebni primeri, ko Določene kombinacije strojne opreme in gonilnikov lahko povzročijo težaveKot so nekateri uporabniki opazili pri nadgradnji na ESXi 6.x z karticami NVIDIA GRID na določenih strežnikih (npr. Dell R720), je v teh primerih priporočljivo pregledati dokumentacijo proizvajalca VMware in grafičnih procesorjev ter po potrebi odpreti primere podpore.

Nazadnje je treba opozoriti, da nekatere tehnologije ali storitve, ki komunicirajo z grafiko, kot so oddaljena namizja, podsistemi Linux v sistemu Windows ali napredne funkcije operacijskega sistemaLahko motijo ​​ali povzročijo napake »Koda 43« v gonilnikih NVIDIA, če zaznajo, da delate znotraj navideznega računalnika s prehodom grafičnega procesorja.

Prehod GPU-ja v drugih hipervizorjih: vzporedno s Hyper-V

Čeprav se tukaj osredotočamo na VMware, je vredno razumeti, kako drugi hipervizorji (na primer virtualizacija s KVM in virt-managerjem) obravnavajo isto potrebo po dodelitvi fizičnega grafičnega procesorja virtualnemu strojuker se terminologija in orodja spreminjajo, vendar je osnovna ideja podobna.

V Hyper-V je ekvivalent VMware VMDirectPath I/O neposredna dodelitev naprav z uporabo DDA (diskretna dodelitev naprav)Ta tehnika omogoča preslikavo določene naprave PCIe, kot je grafična kartica ali NVMe, neposredno znotraj virtualnega stroja Windows, s stopnjo nadzora in zmogljivosti, podobno kot pri prehodu v ESXi.

Starejše različice sistema Windows Server so uporabljale to tehnologijo RemoteFX ponuditi virtualizacijo GPU-ja in souporabo grafične kartice med več navideznimi računalniki. Z časZaradi varnostnih težav in omejitev zmogljivosti (kot sta omejitev 1 GB VRAM-a na virtualni stroj in 30 FPS) je Microsoft umaknil RemoteFX in pustil DDA kot primarno pot za scenarije namenske grafične kartice.

V sistemu Windows 10 in Windows 11Predvsem pri nekaterih kompilacijah se pojavlja podpora za Particioniranje GPU-ja in ponovno uporabljeni mehanizmi iz WSL2 in Windows SandboxVendar pa njegova konfiguracija običajno vključuje zapletene skripte in kopiranje gonilnikov z gostitelja na gosta, kar ni tako preprosto kot dodelitev naprave v vSphere.

Poznavanje teh alternativ nam omogoča, da vidimo, da Filozofija ponujanja skoraj izvornega dostopa do grafičnega procesorja prek neposrednega kanala PCIe Skupna je več hipervizorjem, čeprav ima vsak svoje nianse, ukaze in omejitve združljivosti.

Celoten ekosistem prehoda, vGPU in DDA dokazuje, da je pravilno konfiguriran in s pravo strojno opremo Uporaba zmogljivih grafičnih procesorjev je povsem izvedljiva virtualni stroji za produkcijo Za delovne obremenitve, ki segajo od zahtevnih grafičnih namiznih računalnikov do umetne inteligence in visokozmogljivega računalništva, vedno predpostavljamo, da se boste morali odpovedati nekaterim ugodnostim tradicionalne virtualizacije in biti pozorni na gonilnike, različice hipervizorjev in podporo proizvajalcev grafičnih procesorjev.

virtualizacija strojne opreme
Povezani članek:
Kako korak za korakom omogočiti virtualizacijo iz BIOS-a ali UEFI-ja