Ahoj,
chci zde rozebrat, vaše zkušenosti s možnostmi a úskalími virtualizace desktopových OS na serveru, kde takový server obvykle nemá dedikovanou grafickou kartu, najít případný bottleneck a možnosti zvýšení výkonu.
K dispozici je běžný postarší server HP G8 2x CPU E5-2680, SSD, 192GB, Link v serverovně 1Gbps, KVM/QEMU nad PROXMOX, bez dedikované GPU. Monitorovaný server v rámci svých kapacit vůbec nic nedělá, má 3-8% 40 Core CPU vytíženého.
case A)
představoval jsem si, že si virtualizuji staré Flexibee účetnictví nad Fedora 33 GNome a budu mít jednoduše dostupný virtuál odkudkoliv.
setup se povedl, funguje, účetnictví účtuje, běží vzdálená plocha přes SPICE. Ale nejsem spokojen... Přetažení okna trvá tak dlouho, že je viditelné prostým okem. A to je ten problém Fedora dostupná přes VNC se mi zdá pomalejší než Windows dostupné přes RDP.
Doposud byly všechny provozované virtuály pouze v konzoli, tedy obvykle server edice libovolné distribuce a na všechno se přistupovalo přes SSH. Teď jsem ale udělal tuhle grafickou instanci a grafický výkon je tragédie. Kurzor myši má delay, když přetahuji okno, vidím, jak to celé scrolluje po obrazovce a postupně se vykresluje. No něco, na co z dnešního desktopu už člověk není zvyklý.
A teď mi jde o to rozseknout, jak můžu pomoct tomu, aby jednotlivé workstationy, běhané jakožto virtuály na serveru, měly response úměrnou tomu, že kdybych je nainstaloval na ten server na BAREMETAL, tak by jim stačila mizerná VGA karta a alepsoň menu a přesouvání oken by fungovalo plynule.
case B)
Na stejném serveru jest provozován bare-metal HYPER-V, všechny virtuály, uvažujme Win2019 Srv, Win10 Pro atd, atp, se chovají velice rychle. Response přes RDP je okamžitá, kliknu, okno se vyrederuje, chytnu okno za kraj, táhnu jej, krásně to funguje. Server take nema žádnou GPU, jak to dělá?
!IMPORTANT! Jak funguje interně RDP?
Posílá vyrenderované objekty nebo jenom data k renderování, která se zpracují na klientu, který obvykle má GPU akceleraci?
!IMPORTANT! Jak funguje VNC
Nesnaží se to všechno spočítat u sebe a pak mi poslat jen bitmapu? Tohle fakt nevím, prosím o vysvětlení, pokud k tomu máte doplnění.
+----------------------------------
V některé komponentě je tedy zakopaný pes, uvažuji takto:
1) Jak HYPER-V, tak KVM virtualizují na stejném HW a nemají dedikovanou GPU
2) Windows RDP stanice se chovají svižnějí než Windows VNC stanice. Tzn, pokud se vykašlu na přístup ke stroji přes VNC, ale rozhcodím si v guestu RDP, je to rychlejší. Otázka je proč?
case C)
přidání dedikované karty
když do serveru přidám dedikovanou dejme tomu, z hlediska Linux driver příznivou AMD kartu, jediná možnost je udělat PCIe PassThrough. Tím ale pomůžu jenom jednomu konkrétnímu stroji. Existuje možnost, aby si klienstké Windowsy, Fedorky, Ubuntu, prostě zadavaly svoje složitější výpočty k té dedikované GPU?
díky za vaše poznatky
Dan