StorageReview.com

Průvodce Proxmox vGPU: Vaše GPU si zaslouží víc než jen průchod dat

Enterprise  ◇  Software a licence

Společnost Proxmox Server Solutions nedávno oznámila podporu NVIDIA vGPU pro svůj hypervizor Virtual Environment (VE), čímž odemkla zcela nový svět akcelerace GPU pro renderování, VDI, AI a další aplikace. Přidejte se k nám a společně si projdeme novou sadou funkcí hypervizoru a zhodnotíme jeho výkon.

O co jde s podporou vGPU?

Pokud nejste obeznámeni se softwarem vGPU od společnosti NVIDIA, umožňuje rozdělit výpočetní a paměťové prostředky GPU a distribuovat je mezi více virtuálních strojů (VM). V tomto nastavení se virtuální stroje střídají v používání výpočetního výkonu GPU a přidělují část paměti karty pro své potřeby. Tento přístup umožňuje GPU udržet špičkové využití, i když se intenzita zátěže hostovaných virtuálních strojů mění.

Instalace Proxmox vGPU L40S

Než začneme… (Předpoklady)

Před spuštěním virtualizačního prostředí GPU v Proxmox VE (PVE) budete potřebovat několik věcí. Stejně jako mnoho dalších vymožeností pro datová centra není software vGPU od NVIDIA zdarma. Budete si muset zakoupit nebo se zaregistrovat k odběru zkušební verze jejich softwaru Virtual GPU a vytvořit si účet NVIDIA Enterprise. Dále si musíte pořídit kartu kompatibilní s vGPU a stáhnout příslušné ovladače z licenčního portálu . Stáhněte si aktuální verze ovladačů „Linux KVM“. Minimálně si stáhněte tyto:

  • Software vGPU: 18.0
  • Ovladač hostitele: 570.124.03
  • Ovladač hostujícího systému pro Linux: 570.124.06
  • Ovladač hostujícího systému Windows: 572.60

Pro tento projekt jsme využili NVIDIA L40S a Dell PowerEdge R760.

Proxmox vGPU NVIDIA GPU

Dále budete potřebovat dedikovaný licenční server (DLS) nebo cloudový licenční server (CLS) k aktivaci funkce vGPU na vašich hostovaných systémech. Stručnou úvodní příručku naleznete kliknutím sem.

Dále ověřte, zda nastavení UEFI (BIOS) vašeho serveru povoluje správné virtualizační funkce. Vyhledejte nastavení VT-d nebo AMD-v , SR-IOV , dekódování 4G nad ním , panel s měnitelnou velikostí a interpretace alternativního směrovacího ID (ARI) a ujistěte se, že jsou všechna povolena.

Poznámka: V nabídce UEFI nemusíte najít všechny tyto funkce, protože některé nemusí být uživateli dostupné.

Nakonec zkontrolujte, zda používáte vhodnou verzi Proxmox VE. Funkčnost vGPU vyžaduje minimálně pve-manager verze 8.3.4 s jádrem 6.18.12-8-pve nebo novějším. Verze softwaru vašeho PVE uzlu můžete zkontrolovat na kartě „Souhrn“ na požadovaném serveru, jak je znázorněno níže:

Rozhraní Proxmox vGPU VE 1

Hostitel s největším počtem (Nastavení vGPU hostitele Proxmox)

Nyní, když je vše připraveno, je čas nakonfigurovat server Proxmox VE. Ve webovém rozhraní serveru Proxmox VE klikněte na název serveru na levé straně obrazovky a vyberte kartu „Shell“. Do zobrazeného okna konzole zadejte tento příkaz a po dokončení stiskněte klávesu Enter:

apt install pve-nvidia-vgpu-helper

Tím se zajistí, že nástroj pro nastavení vGPU bude nainstalován na vašem serveru a bude připraven pro podporu Proxmox vGPU. Poté, co server dokončí instalaci skriptu nebo vás informuje, že je již nainstalován, spusťte nástroj ještě jedním příkazem.

nastavení pomocníka pve-nvidia-vgpu

Na všechny otázky odpovězte „A“ a pokračujte, dokud se nevrátí okno konzole a skript nebude dokončen. Proveďte rychlý restart serveru tak, že přejdete na kartu „Souhrn“ serveru a stisknete tlačítko „Restartovat“, nebo zadejte příkaz restart do konzole na kartě „Shell“ a stiskněte klávesu Enter.

Dále je třeba na server načíst ovladač hostitele vGPU od NVIDIA. Po dokončení restartu serveru zkopírujte ovladač hostitele na uzel pomocí nástroje pro přenos SSH nebo SCP, jako je WinSCP .

Poznámka: Pokud jste si všechny ovladače stáhli najednou jako komprimovanou složku (.zip), bude pravděpodobně nutné nejprve extrahovat její obsah a vybrat soubor „.run“ ze složky „Host_Drivers“.

Umístěte soubor do adresáře „/home“ serveru a připravte se ke spuštění instalačního programu pomocí následujících příkazů.

cd /home chown root NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run chmod +X NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run ./NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run --dkms

Poznámka: Nahraďte „NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run“ skutečným názvem staženého ovladače. Název souboru po jeho umístění do adresáře „/home“ můžete zobrazit pomocí příkazu „ls“.

Nyní, když je ovladač nainstalován na server, jsme jen pár kroků od dokončení konfigurace hostitelské strany našeho Proxmox vGPU! Než budeme moci označit GPU jako zařízení, které lze rozdělit mezi virtuální počítače, musíme povolit virtualizaci Single Root I/O (SR-IOV). NVIDIA definuje tuto funkci jako „…technologie, která umožňuje fyzickému zařízení PCIe vícenásobně se prezentovat prostřednictvím sběrnice PCIe. Tato technologie umožňuje více virtuálních instancí zařízení se samostatnými zdroji.“ Vzhledem k tomu, že SR-IOV je klíčová technologie potřebná pro základní funkčnost vGPU na moderních GPU, nastavte ji tak, aby se zapínala při spuštění, pomocí následujícího příkazu:

systemctl enable --now pve-nvidia-sriov@ALL.service

Nakonec můžeme namapovat zdroje GPU a úhledně je rozdělit mezi virtuální počítače. Ve webovém rozhraní serveru Proxmox VE klikněte v levém horním rohu na „Datové centrum“ a sjeďte dolů a vyberte kartu „Mapování zdrojů“.

Klikněte na tlačítko „Přidat“ v části „Zařízení PCI“ na stránce a v dalším okně vyplňte pole „Název:“ názvem, který popisuje mapovanou grafickou kartu (GPU).

Dále zaškrtněte políčko „Použít se zprostředkovanými zařízeními“ a ujistěte se, že rozbalovací nabídka „Mapování na uzlu“ obsahuje server s mapovanou grafickou kartou. Posuňte se dolů v seznamu zařízení a ověřte, že všechna ID zařízení mají ve sloupci „Dodavatel“ uvedeno „NVIDIA Corporation“. Pokud je to pravda, zaškrtněte políčko v levém horním rohu tabulky a vyberte všechna zařízení; v opačném případě vyberte pouze zařízení s dodavatelem „NVIDIA Corporation“.

Poznámka: Pokud je ve vašem systému nainstalováno více grafických karet (GPU), můžete k určení ID jednotlivých karet použít příkaz „lspci“ na kartě „Shell“ na požadovaném serveru.

Po výběru zařízení klikněte na tlačítko „Vytvořit“ v pravém dolním rohu vyskakovacího okna pro potvrzení výběru. Vaše grafická karta NVIDIA je nyní připravena k rozdělení na vGPU pro hosty vašeho serveru Proxmox VE!

Obsluha hostů (přiřazení vGPU virtuálním počítačům)

Všechny potřebné prvky jsou připraveny a můžeme začít s přiřazováním a používáním vGPU na našich virtuálních počítačích. Začněte vytvořením nového virtuálního počítače jako obvykle nebo použitím existujícího virtuálního počítače. Pro naši demonstraci použijeme virtuální počítač s Windows Serverem 2025.

Ve webovém rozhraní serveru Proxmox VE vypněte virtuální počítač libovolnou metodou, kterou uznáte za vhodnou (konzole noVNC, nabídka napájení hosta atd.) a klikněte na kartu „Hardware“ hosta.

V rozbalovací nabídce, která se zobrazí po kliknutí na tlačítko „Přidat“, vyberte „Zařízení PCI“.

V rozbalovacím okně „Přidat: PCI zařízení“ vyberte v poli „Zařízení:“ název, který jste přiřadili grafické kartě s mapovanými zdroji.

Dále klikněte na pole „MDev Type:“ a prohlédněte si seznam zobrazených možností typu zprostředkovaného zařízení. Můžete si všimnout, že každá možnost má číselné a písmenné označení. Číslo představuje množství paměti VRAM přiřazené hostovi (v gigabajtech), zatímco „A“, „B“ a „Q“ označují případ použití vGPU:

  • Q – Virtuální pracovní stanice s ovladači RTX Enterprise (vyžaduje licenci RTX vWS)
  • B – Virtuální desktopy (vyžaduje licenci NVIDIA Virtual PC nebo licenci RTX vWS)
  • A – Aplikační řešení (vyžaduje licenci NVIDIA Virtual Applications)

Poznámka: Více informací o různých profilech vGPU a jejich požadovaných licencích si můžete přečíst zde.

Pro tuto demonstraci jsme použili profil „NVIDIA L40S-12Q“. Po výběru požadovaného typu zprostředkovaného zařízení dokončete zaškrtnutím políčka „PCI-Express“ a kliknutím na modré tlačítko „Přidat“.

Virtuálnímu počítači je nyní přiřazena vGPU, ale pro spuštění je stále potřeba nainstalovat ovladač hosta a licenční token. Nyní můžete virtuální počítač zapnout a přihlásit se.

Po přihlášení přeneste dříve získaný ovladač hostujícího počítače NVIDIA vGPU z licenční portál do virtuálního počítače libovolným způsobem (SMB, SCP, přímé stažení atd.). Případně můžete vytvořit a nahrát virtuální soubor CD-ROM (.iso) obsahující ovladač do úložiště vašeho PVE serveru pomocí softwaru, jako je ImgBurn nasadit mnoho hostů s povoleným vGPU současně.

Spusťte instalační soubor ovladače dvojitým kliknutím na spustitelný soubor a postupujte podle pokynů v zobrazené instalační nabídce.

Rozbalte ovladač do výchozího umístění v poli „Cesta k extrakci:“ a po zobrazení výzvy vyberte možnost instalace „Expresní“.

Po dokončení instalace ovladače klikněte na tlačítko „ZAVŘÍT“ pro opuštění nabídky.

Dále budeme muset aktivovat licenci vGPU na hostovaném systému. Způsoby aktivace se mohou výrazně lišit v závislosti na tom, zda vyberete dedikovaný licenční server (DLS) nebo cloudový licenční server (CLS), a na vašem operačním systému. Řiďte se pokyny společnosti NVIDIA. Stručný průvodce licenčním systémem a Uživatelská příručka pro klientské licence pro podrobné kroky k aktivaci klientů pro vaše konkrétní nastavení.

Použili jsme cloudový licenční server a obdrželi jsme soubor s tokenem, který jsme měli umístit na hostované systémy pro aktivaci. Přesuňte tento soubor na hostované systémy a zkopírujte ho do složky „C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken“.

Dále je pro dokončení procesu aktivace nutný restart hostovaného počítače.

Po všech zde popsaných krocích konfigurace hostitele a hosta byste měli být připraveni spouštět programy a aplikace vyžadující grafickou kartu. Nezapomeňte po restartu povolit protokol RDP (Remote Desktop Protocol) nebo nainstalovat svůj oblíbený software pro vzdálenou plochu na hostovaných počítačích, abyste si mohli užívat výhod vzdáleného sledování akcelerovaného grafickou kartou!

Rozproudění motoru (Vyzkoušení Proxmox vGPU)

Teď, když máme nějaké virtuální servery s virtuálními grafickými kartami, pojďme si je vyzkoušet! Každý z našich virtuálních strojů byl nakonfigurován s 8 virtuálními procesory Intel Xeon Platinum 8580 (4 hyperthreadingová jádra), 32 gigabajty paměti DDR5 4800 MT/s registrované ECC RAM a profilem vGPU NVIDIA L40S-12Q (virtuální pracovní stanice) s 12 gigabajty VRAM. Kompletní hardwarovou konfiguraci virtuálních strojů si můžete prohlédnout níže:

Cinebench 2024

Test Cinebench 2024, založený na modelovacím a animačním softwaru Cinema 4D od společnosti Maxon, nabízí zajímavý a objektivní pohled na výkon renderování na vGPU. Pojďme porovnat plný výkon L40S v jeho profilu „48Q“ (všech 48 gigabajtů VRAM) s jedním virtuálním strojem oproti čtyřem virtuálním strojům s profilem „12Q“.

I když nedává moc smysl mít jeden virtuální stroj, který by zabíral celý L40S, vidíme, že výkon je s 21 147 body v benchmarku single-pass GPU impozantní. Rozdělení GPU do čtyř částí však ukazuje dopad přístupu NVIDIA k rozdělení časových úseků na CUDA jader GPU, přičemž jednotlivá skóre se pohybovala od 2 514 do 2 567, když byl benchmark spuštěn současně na všech virtuálních strojích.

Opakované spuštění testu na jednom virtuálním počítači s profilem „12Q“ a nečinnými zbývajícími třemi virtuálními počítači zvýšilo skóre zpět na 15 133. Není to sice návrat k plnému skóre GPU, ale na rozdělený vGPU je to stále slušné.

Benchmarky Blenderu

Pokračujeme s několika dalšími renderovacími benchmarky s Blenderem. Podobně jako v Cinebench 2024 vede rozdělení GPU na čtyři části k dramaticky nižšímu celkovému výkonu ve srovnání s jedním virtuálním strojem se stejnou zátěží ve stejném profilu.

Jak ukázal benchmark Monster, pouhé čtyři virtuální počítače sdílející výpočetní výkon GPU znamenají, že individuální výkon renderování může být pouhých 8 % výkonu jednoho virtuálního počítače se stejným profilem. Nicméně jsme pozorovali, že jeden virtuální počítač získal oproti ostatním značný náskok – až 2.4násobek skóre nejhoršího virtuálního počítače.

Benchmarky Junkshop a Classroom ukazují podobné výsledky, s velkými poklesy výkonu u tří ze čtyř virtuálních počítačů a jeden host dosáhl mnohem vyššího skóre než ostatní.

 

Je zajímavé, že se objevují krátké okamžiky, kdy vGPU jednoho virtuálního stroje dostane vyšší prioritu a získá výrazný náskok. Například během benchmarku Classroom dosáhl náš druhý virtuální stroj s Windows Serverem 2025 (WIN2025-2) více než trojnásobného výkonu oproti svým konkurentům, a to i přes souběžné spuštění. I když nemůžeme přesně určit, zda je to způsobeno plánováním softwaru vGPU nebo povahou samotného GPU, zdůrazňuje to některé výkonnostní zvláštnosti, které jsou synonymem pro přístup NVIDIA u této karty pouze založený na časových omezeních.

Závěr

Nastavení a podpora softwaru vGPU od NVIDIA nemusí být tak propracovaná jako u jiných konkurenčních platforem. Přesto se jedná o vzrušující a cennou funkci pro organizace a domácí laboratoře, které již používají systémy Proxmox Virtual Environment. Přestože se výkon při rozdělení zdrojů GPU výrazně snižuje, mnoho organizací stále využívá technologii vGPU od NVIDIA a zjistilo, že sdílení GPU tuto nevýhodu převažuje. Tento postoj přijalo mnoho hyperscaleři a datová centra s omezeným prostorem, kde je nejefektivnější a nejziskovější možností nacpat co nejvíce nájemníků (v tomto případě virtuálních strojů s vGPU) do co nejmenší možné zastavěné plochy.

Nedávné a rychlé rozšíření funkcí společnosti Proxmox Server Solutions, jako je softwarově definované sítě, podpora jádra Linuxu 6.11 a specializovaný systém správy datových center, ukazuje významný pokrok a dokazuje, že se stává platnou volbou v oblasti hypervizorů. Doufáme, že v této oblasti uvidíme další rozvoj a těšíme se, až vám brzy povíme více o zajímavých nástrojích a technologiích, které se do PVE dostanou!

nextmox

Zapojte se do StorageReview

Zpravodaj | YouTube | Podcast iTunes / Spotify | Instagram | Twitter | TikTok | RSS kanál

Andrew Waag

Andrew Waag je správce distribuovaných systémů ve společnosti Linde plc, jehož zájmy zahrnují serverový hardware, podnikové úložné systémy a síťová zařízení. Neustále hledá nové aktivity pro svou domácí laboratoř a experimentuje s virtualizačními a úložnými technologiemi.