bintes
Goto Top

GPU Passthrough HYPER-V 2019

Hallo,

ich habe ein ein Problem mit der Bereitstellung einer Grafikkarte an eine virtuelle Maschine.

Hardware:
- HPE ProLiant DL380 Gen9 V4 Rack Server mit 2x Xeon E5-2640v3 8-Core 2.60 GHz, 64GB DDR RAM 2TB SAS 10k
- HPE AMD FirePro S7150x2 GPU

Software:
- Microsoft Hyper-V 2019 als Hypervisor
- Microsoft Windows Server 2019 Standard als VM Betriebssystem
- Debian 10 als VM Betriebsystem

Aufbau:
-VM1 - Generation 1 mit Linux Debian für die 3CX Telefonanlage (4GB Ram, 64GB HDD, 4x vCPU)
-VM2 - Generation 2 mit Windows Server 2019 für den ADC (4GB Ram, 120GB HDD, 4x vCPU)
-VM3 - Generation 2 mit Windows Server 2019 für den TS (32GB Ram, 480GB HDD + 4x 200GB HDD, 16x vCPU)

gewünscht:
Die GPU soll von der physikalischen Maschine an die VM3 weitergegeben werden um die Grafik zu optimieren.

Problem:
Die Grafikkarte wird von der VM3 erkannt jedoch kann man den Treiber nicht installieren. Die AMD Software zeigt immer "FEHLER 182" und unter Geräte Manager wird die Grafikkarte nur als Microsoft Display Adapter angezeigt.

Ich habe als Probe die Grafikkarte an die VM2 weitergeleitet und die Software hat sich einwandfrei installieren lassen und vor allem hat die Treiberinstallation nur ein paar Sekunden gedauert.

Ich habe die VM3 an die VM2 angepasst um eventuell Fehler zu ermitteln jedoch ohne Erfolg.

Ich kann mir nicht vorstellen, dass die Grafikkarte das Problem ist, weil diese auch an die VM2 nicht arbeiten würde. Ich kann mir aber auch kein Fehler an der DDA Weitergabe und Konfiguration vorstellen, da beide VMs zur gleichen Zeit und mit gleicher Software aufgebaut wurden.

Bitte um Hilfe die Hardware war nicht gerade günstig und ich benötige die Grafikauflösung für größere Pläne...

Content-ID: 665823

Url: https://administrator.de/contentid/665823

Ausgedruckt am: 21.11.2024 um 16:11 Uhr

IT-Spezi
IT-Spezi 17.04.2021 aktualisiert um 23:29:30 Uhr
Goto Top
Moin,

das wird so nicht klappen.

Gibt dafür mehrere Gründe:
  • Das Durchreichen von vGPUs ist nur in Server 2016 und nicht in 2019 vorgesehen. Microsoft hat das Feature aber aus Gründen der Sicherheit per Update deaktiviert. (Alles andere bekommt man nur mit ein paar Hacks hin.) DDA nur für vollständige GPUs, SR-IOV ist Vorraussetzung.
  • Der Ansatz ist falsch: Microsoft unterstützt den paravirtualisierten Grafikprozessor (vGPU) nicht für Session Hosts.
  • Virtualisierte GPUs sind nur in einer VDI vorgesehen. (Server geht nur im Desktop-Mode.)
  • Gedacht ist die Grafikkarte für andere Hypervisor

Auch auf der AMD-Seite wirst Du nur die Unterstützung für ESXi und Citrix finden:
https://drivers.amd.com/relnotes/amd_mxgpu_deploymentguide_vmware.pdf
https://drivers.amd.com/relnotes/amd_mxgpu_deploymentguide_citrix.pdf

Speziell für Deine Grafikkarte findet man da:
https://www.amd.com/system/files/documents/firepro-s-series-datasheet.pd ...
AMD FirePro™ S7150 x2 Server GPU
Number of Concurrent Users Supported Up to 32
Memory 16 GB GDDR5 (2 x 8GB)
Memory Bandwidth 256 bit
Hypervisor Support VMware® ESXi™ 6.0, 6.5, Citrix® XenServer 7.4+
Guest OS Support Microsoft® Windows 10 (64-bit), Windows® 7 (64-bit),
Windows Server® 2016 (64-bit), Windows Server® 2008 R2 (64-bit)
DirectX® 11.1, OpenGL® 4.4, OpenCL™ 2.0
Remote Visualization Support VMware Horizon® View TM 7.0+, Citrix® XenDesktop® 7.15+, Citrix® XenApp® 7.15+
API Support


Mit den aktuellen Treibern findest Du zwar als Gast auch die Unterstützung für Server 2019, aber wenn man mal im den Release-Notes stehen nur VMware und Citrix als unterstützte Hypervisor.

Bitte um Hilfe die Hardware war nicht gerade günstig und ich benötige die Grafikauflösung für größere Pläne...
Was für große Pläne hast Du denn damit? Bei RDP denke ich da eher an RemoteFX, aber da hat sich ja die letzten Monate einiges verändert. Und auch dafür wäre der Ansatz hier falsch. Für CAD denke ich da eher an VMware Horizon. Beschreibe mal kurz, wo die Reise hingehen soll, sonst war das mit der Graka ggf. ein Griff ins Klo.

Gruß

its

Nachtrag: (wenn auch schon älter)
RemoteFX, DDA, vGPU: Grafikoptionen in den RDS von Windows Server 2016
Microsoft deaktiviert RemoteFX vGPU und entfernt sie im Februar 2021
bintes
bintes 18.04.2021 um 12:00:16 Uhr
Goto Top
Hallo its,


also vielen Dank für die schnelle Antwort und für ausführliche Erklärung. Damit das nun kein Griff ins Klo war muss ich das passend umbauen.

Ich dachte wenn ich den ganzen BUS weiterreiche dann spielt es keine Rolle ob als Hypervisor Microsoft ist.

Als große Pläne sind PDF Dokumente gemeint. Der Kunde hat ein Problem damit, wenn man in einem Dokument arbeitet, dann ruckelt es so wie man das von einem fehlerhaften Grafiktreiber kennt.

Die Anlage befindet sich bereits in Produktion und ich kann jetzt nur mit tricksen auf VMWare umswitchen und meine Erfahrungen mit VMWare sind jetzt auch nicht die besten vor allem wie ich die vorhandenen VMs für einen anderen Hypervisor konvertiere. Das RemoteFX war eigentlich ausreichend bis Microsoft das ganze im Februar eingestellt hat. Ich habe die Anlage ende Februar aufgesetzt face-sad
IT-Spezi
IT-Spezi 18.04.2021 aktualisiert um 15:50:02 Uhr
Goto Top
Hallo,

Als große Pläne sind PDF Dokumente gemeint. Der Kunde hat ein Problem damit, wenn man in einem Dokument arbeitet, dann ruckelt es so wie man das von einem fehlerhaften Grafiktreiber kennt.

Nicht so voreilig mit den Schlüssen junger Padawan!

Sieh Dir erst einmal an, mit welchem PDF-Programm das ruckelt. Das Problem kann zum einen an dem PDF-Programm auf dem Server liegen, gerade viele Alternativen zu Adobe machen da Probleme. Das Ruckeln kann also auch dadurch entstehen, wie das PDF-Programm die Anzeige "beschleunigt". Weiter gibt es immer noch in einigen Konstellationen das WDDM/XDDM Problem, welches eher an den Grafiktreibern des Clients liegt. (Können viele zuerst nicht nachvollziehen, da ja "nur" das Bild vom Server dargestellt wird, aber arbeitet man sich ein wenig in die Technik hinter RDP ein, dann versteht man das.) Das wurde hier im Forum schon mehrmals behandelt.

Es gibt also einige Stellschrauben in den Einstellungen am Server (Richtlinien), der Software-Auswahl und vor allem bei der richtigen Einstellung des Clients, die einen großen Unterschied machen.

Gruß

its

Nachtrag:
Was sind das für Clients?
bintes
bintes 18.04.2021 um 16:11:27 Uhr
Goto Top
Also wir reden hier von Adobe Programmen und Google Chrome Browser. Die Clients sind unterschiedlich. Wir haben 2x Intel NUC mit Windows 10 Pro, 2x Gamer PC mit sehr guten Grafikkarten und Windows 10 Pro und wir haben auch Raspberry Pi mit 8GB Ram mit FreeRDP2 im Einsatz. Wenn die Grafikleistung bei den Pi's das Problem wäre, würde ich es versehen aber die bewegen sich auf einem fast gleichen Level wie die Gamer PCs Die Richtlinien habe ich mir auch schon angeschaut und man kann auch mit den Server arbeiten es ist aber "Kosmetik" was der Kunde haben möchte. Ich habe erst mit einer günstigen GPU probiert einer AMD WX2100 jedoch hatte ich das Problem, dass ich diese nicht sauber durchreichen konnte.

Vorallem was ich nicht verstehe, warum ich die GPU an einer VM sauber durchreichen kann und an der anderen VM nicht. Ich habe mir auch noch eine VM mit Windows Server 2019 VM aufgebaut und versucht die GPU anzubinden und es klappt auch nicht. WARUM funktioniert es an der VM2 wo nur der DC installiert ist.

Danke für die Unterstützung
IT-Spezi
IT-Spezi 18.04.2021 aktualisiert um 20:23:02 Uhr
Goto Top
Hallo,

Zitat von @bintes:
Vorallem was ich nicht verstehe, warum ich die GPU an einer VM sauber durchreichen kann und an der anderen VM nicht. Ich habe mir auch noch eine VM mit Windows Server 2019 VM aufgebaut und versucht die GPU anzubinden und es klappt auch nicht. WARUM funktioniert es an der VM2 wo nur der DC installiert ist.

Normalerweise würde ich per DDA durchreichen bevor ich eine Rolle vergebe. (Kannst Du ja mit einer weiteren virtuellen Testinstanz ja mal testen.)
Fehler 182 bedeutet ja nur, dass die Grafikkarte nicht gefunden wurde. Wie sieht denn Dein PS-Befehlen für die Durchreichung aus? (Manchmal versteckt sich da der Fehlerteufel.) Memory berücksichtigt? Gerät in der VM aktiviert? Teile bitte ein paar mehr Informationen. Mach ein paar Screenshots.

Gruß

its
bintes
bintes 18.04.2021 um 20:51:25 Uhr
Goto Top
Im PS habe ich die GPU so weitergereicht:

Als erstes im AdminCenter die GPU AMD FirePro deaktiviert und dann weiter mit PowerShell

$AA = 'PCIROOT......' erste Karte
$AB ='PCIROOT.......' zweite Karte

Dismount-VMHostAssignableDevice -LocationPath $AA
Dismount-VMHostAssignableDevice -LocationPath $AB

Set-VM -Name RDS (VM3) -AutomaticStopAction TurnOff
Set-VM -Name RDS (VM3) -GuestControlledCaceTypes $true
Set-VM -Name RDS (VM3) -LowMemoryMappedIoSpace 3GB mit anderen Werten 512MB auch probiert
Set-VM -Name RDS (VM3) -HighMemoryMappedIoSpace 32GB mit anderen Werten 16GB auch probiert
Add-VMAssignableDevice -Name RDS (VM3) -LocationPath $AA
Add-VMAssignableDevice -Name RDS (VM3) -LocationPath $AB

AMD Treiber installiert mit Fehler 182

zum Testen an der ADC (VM2)

Remove-VMAssignableDevice -Name RDS (VM3) -LocationPath $AA
Remove-VMAssignableDevice -Name RDS (VM3) -LocationPath $AB

Set-VM -Name ADC (VM2) -AutomaticStopAction TurnOff
Set-VM -Name ADC (VM2) -GuestControlledCaceTypes $true
Set-VM -Name ADC (VM2) -LowMemoryMappedIoSpace 3GB mit anderen Werten 512MB auch probiert
Set-VM -Name ADC (VM2) -HighMemoryMappedIoSpace 32GB mit anderen Werten 16GB auch probiert
Add-VMAssignableDevice -Name ADC (VM2) -LocationPath $AA
Add-VMAssignableDevice -Name ADC (VM2) -LocationPath $AB

AMD Treiber installiert

Im Geräte Manager statt Microsoft Basic Display Adapter auf AMD S7150 geändert und im AMD Control Center kann ich normal die Einstellungen verändern.

Virtuelle CPUs und Ram an beiden VMs angepasst so dass alles identisch ist.

Im Anhang ein Bild von der durchgereichten GPU
screen
screen2
IT-Spezi
IT-Spezi 19.04.2021 aktualisiert um 00:51:01 Uhr
Goto Top
Hallo,

kann es sein, dass die Graka noch nicht sauber von der VM2 zurückgegeben wurden? (Dazu musste die VM sauber heruntergefahren werden.)
Remove-VMAssignableDevice -VMName ADC (VM2) -LocationPath $AA
Remove-VMAssignableDevice -VMName ADC (VM2) -LocationPath $AB
Set-VM -VMName ADC (VM2) -GuestControlledCacheTypes $False -LowMemoryMappedIoSpace 3GB -HighMemoryMappedIoSpace 32GB

Und dann den ersten Teil wieder.

Gruß


its
bintes
bintes 19.04.2021 aktualisiert um 16:47:21 Uhr
Goto Top
Morgen,

leider nein, habe die Graka immer im ausgeschaltetem Zustand entfern und hinzugefügt. Genauso auch mit dem Memory Einstellungen.

Ich bin um ein Schritt weiter gekommen. Ich habe eine neue VM erstellt und die Graka durchgereicht. Nach der Win2019 Installation konnte ich die Treiber nicht installieren und dachte erst der Fehler ist tatsächlich an den Hypervisor. Ich dachte ich gehe aber ein Schritt weiter und installiere Mal den AD Controller und siehe da... Treiberinstallation funktioniert. Also kann man theoretisch AD und TS auf ein und die selbe Maschine packen was nicht so schlau ist aber es würde funktionieren.

Wie ist es mit dem Lizenz Server jetzt der Fall kann ich Benutzer RDS CAL in so einer Umgebung betreiben?
Tobiiii
Tobiiii 13.02.2022 um 23:51:53 Uhr
Goto Top
Hi,

Hast du die GraKa inzwischen erfolgreich zum Laufen gebracht?
Wir haben nämich genau das selbe Problem mit der FirePro S7150x2 und dem durchreichen an eine VM mit RDS Services.

Auf einer frisch installierten VM mit Windows Server 2016/2019 lässt sich die GraKa durchreichen und die AMD Treiber problemlos installieren.
Sobald aber die RDS Dienste installiert werden, erkennt die AMD Software auf der VM keine GraKa mehr… Deinstalliert man die Dienste wieder, funktioniert wieder alles…

VG Tobi