VMware vSphere mit NVIDIA GRID vGPU
In diesem Artikel wollen wir Ihnen zeigen, wie Sie durch NVIDIA GRID vGPU die Grafikleistung der virtuellen Maschinen (VMs) auf einem VMware System maßgeblich verbessern können, um auch grafikintensive Applikationen virtuell betreiben zu können. Das von VMware erforderliche Accelerated Graphics for Virtual Machines Feature ist in der vSphere Enterprise Plus[1] Edition erhältlich, sowie in der VMware vSphere Desktop Edition des Horizon View 7 Bundles[2]. Das Testsystem für diesen Wiki Artikel bestand aus einem Supermicro X10DRi Mainboard mit Intel Xeon E5 2620v4 CPU, einer NVIDIA GRID K1 Karte und der aktuellsten VMware vSphere 6.5 Version (Build 5310538).
NVIDIA Treiber installieren
Um das vGPU Feature nutzen zu können, muss der jeweilige Treiber für die Grafikkarte am vSphere Host installiert werden. VMware bietet die passenden Treiber auf ihrer Hardware Compatibility List (HCL) unter dem Punkt Shared Pass-Through Graphics an. Wir empfehlen, nur Modelle zu verwenden, die auf der HCL geführt sind, um spätere Probleme bei der Konfiguration oder der VM Stabilität zu vermeiden.
Hinweis: Für die aktuellen NVIDIA Tesla M Modelle sind zusätzlich GRID Lizenzen[3] erforderlich. Nach der Registrierung der Lizenz, kann das Treiberpaket direkt von NVIDIA heruntergeladen werden. Es stehen für die verschiedenen vGPU Profile die entsprechenden Lizenzen zur Verfügung.
Installation
Setzen Sie zuerst den Host in den Wartungsmodus. Kopieren Sie anschließend den Treiber, entweder das offlinebundle oder die vib Datei, per WinSCP in das Temp Verzeichnis des ESXi Hosts (/tmp) und führen Sie folgendes Kommando aus:
Installationsbefehl für das Offlinebundle
esxcli software vib install -d /tmp/<drivername-offlinebundle>.zip
Installationsbefehl für die vib Datei
esxcli software vib install -v /tmp/<drivername>.vib
Führen Sie, falls nötig, einen Reboot durch und beenden Sie den Wartungsmodus. Die Grafikkarte sollte nun als Hardware Device im vSphere Web Client verfügbar sein. Für vGPU muss die Grafikkarte im Shared Direct Modus betrieben werden, diese Option können Sie im Web Client überprüfen und ggf. ändern. Der vSphere Dienst X.Org Server muss neu gestartet werden, wenn der Modus geändert wird.
NVIDIA System Management Interface
Anschließend können Sie das Tool NVIDIA System Management Interface (nvidia-smi) direkt an der vSphere Konsole (oder per SSH) ausführen, um den genauen Zustand, unter anderem die GPU Temperatur der NVIDIA Karte, zu ermitteln.
[root@GridK1:~] esxcli software vib list | grep -i nvidia
NVIDIA-kepler-VMware_ESXi_6.5_Host_Driver 367.106-1OEM.650.0.0.4598673 NVIDIA VMwareAccepted 2017-06-09
[root@GridK1:~] nvidia-smi
Mon Jun 12 18:58:46 2017
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 367.106 Driver Version: 367.106 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GRID K1 On | 0000:04:00.0 Off | N/A |
| N/A 44C P8 11W / 31W | 9MiB / 4095MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 GRID K1 On | 0000:05:00.0 Off | N/A |
| N/A 41C P8 11W / 31W | 9MiB / 4095MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 2 GRID K1 On | 0000:06:00.0 Off | N/A |
| N/A 33C P8 11W / 31W | 9MiB / 4095MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 3 GRID K1 On | 0000:07:00.0 Off | N/A |
| N/A 36C P8 10W / 31W | 9MiB / 4095MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
NVIDIA GRID vGPU Profile
NVIDIA bietet für die unterschiedlichen Szenarien verschiedene vGPU Profile[4] an, vom Office Anwender bis zum CAD Designer. Nachfolgend sind alle vGPU Profile für die NVIDIA Karten GRID K1/K2 und der Tesla M Serie aufgelistet, damit Sie schnell das passende Profil finden. Bitte beachten Sie bei den Tesla M Modellen die zusätzlich benötigte GRID Lizenz.
NVIDIA GRID K1
Physical GPUs | GRID Virtual
GPU |
Intended
Use Case |
Frame Buffer
(Mbytes) |
Virtual
Display Heads |
Maximum Resolution
per Display Head |
Maximum
vGPUs per GPU |
Maximum
vGPUs per Board |
---|---|---|---|---|---|---|---|
4 | K180Q | Power User | 4096 | 4 | 2560×1600 | 1 | 4 |
4 | K160Q | Power User | 2048 | 4 | 2560×1600 | 2 | 8 |
4 | K140Q | Power User | 1024 | 2 | 2560×1600 | 4 | 16 |
4 | K120Q | Power User | 512 | 2 | 2560×1600 | 8 | 32 |
4 | K100 | Power User | 256 | 2 | 1920×1200 | 8 | 32 |
NVIDIA GRID K2
Physical GPUs | GRID Virtual
GPU |
Intended
Use Case |
Frame Buffer
(Mbytes) |
Virtual
Display Heads |
Maximum Resolution
per Display Head |
Maximum
vGPUs per GPU |
Maximum
vGPUs per Board |
---|---|---|---|---|---|---|---|
2 | K280Q | Designer | 4096 | 4 | 2560×1600 | 1 | 2 |
2 | K260Q | Power User, Designer | 2048 | 4 | 2560×1600 | 2 | 4 |
2 | K240Q | Power User, Designer | 1024 | 2 | 2560×1600 | 4 | 8 |
2 | K220Q | Power User, Designer | 512 | 2 | 2560×1600 | 8 | 16 |
2 | K200 | Knowledge Worker | 256 | 2 | 1920×1200 | 8 | 16 |
NVIDIA Tesla M10
Physical GPUs | GRID Virtual
GPU |
Intended
Use Case |
Frame Buffer
(Mbytes) |
Virtual
Display Heads |
Maximum Resolution
per Display Head |
Maximum
vGPUs per GPU |
Maximum
vGPUs per Board |
Minimum GRID License
Edition Required |
---|---|---|---|---|---|---|---|---|
4 | M10-8Q | Designer | 8192 | 4 | 4096×2160 | 1 | 4 | GRID Virtual Workstation |
4 | M10-4Q | Designer | 4096 | 4 | 4096×2160 | 2 | 8 | GRID Virtual Workstation |
4 | M10-2Q | Designer | 2048 | 4 | 4096×2160 | 4 | 16 | GRID Virtual Workstation |
4 | M10-1Q | Power User, Designer | 1024 | 2 | 4096×2160 | 8 | 32 | GRID Virtual Workstation |
4 | M10-0Q | Power User, Designer | 512 | 2 | 2560×1600 | 16 | 64 | GRID Virtual Workstation |
4 | M10-1B | Power User | 1024 | 4 | 2560×1600 | 8 | 32 | GRID Virtual PC |
4 | M10-0B | Power User | 512 | 2 | 2560×1600 | 16 | 64 | GRID Virtual PC |
4 | M10-8A | Virtual Application User | 8192 | 1 | 1280×1024 | 1 | 4 | GRID Virtual Application |
4 | M10-4A | Virtual Application User | 4096 | 1 | 1280×1024 | 2 | 8 | GRID Virtual Application |
4 | M10-2A | Virtual Application User | 2048 | 1 | 1280×1024 | 4 | 16 | GRID Virtual Application |
4 | M10-1A | Virtual Application User | 1024 | 1 | 1280×1024 | 8 | 32 | GRID Virtual Application |
NVIDIA Tesla M60
Physical GPUs | GRID Virtual
GPU |
Intended
Use Case |
Frame Buffer
(Mbytes) |
Virtual
Display Heads |
Maximum Resolution
per Display Head |
Maximum
vGPUs per GPU |
Maximum
vGPUs per Board |
Minimum GRID License
Edition Required |
---|---|---|---|---|---|---|---|---|
2 | M60-8Q | Designer | 8192 | 4 | 4096×2160 | 1 | 2 | GRID Virtual Workstation |
2 | M60-4Q | Designer | 4096 | 4 | 4096×2160 | 2 | 4 | GRID Virtual Workstation |
2 | M60-2Q | Designer | 2048 | 4 | 4096×2160 | 4 | 8 | GRID Virtual Workstation |
2 | M60-1Q | Power User, Designer | 1024 | 2 | 4096×2160 | 8 | 16 | GRID Virtual Workstation |
2 | M60-0Q | Power User, Designer | 512 | 2 | 2560×1600 | 16 | 32 | GRID Virtual Workstation |
2 | M60-1B | Power User | 1024 | 4 | 2560×1600 | 8 | 16 | GRID Virtual PC |
2 | M60-0B | Power User | 512 | 2 | 2560×1600 | 16 | 32 | GRID Virtual PC |
2 | M60-8A | Virtual Application User | 8192 | 1 | 1280×1024 | 1 | 2 | GRID Virtual Application |
2 | M60-4A | Virtual Application User | 4096 | 1 | 1280×1024 | 2 | 4 | GRID Virtual Application |
2 | M60-2A | Virtual Application User | 2048 | 1 | 1280×1024 | 4 | 8 | GRID Virtual Application |
2 | M60-1A | Virtual Application User | 1024 | 1 | 1280×1024 | 8 | 16 | GRID Virtual Application |
NVIDIA Tesla M6
Physical GPUs | GRID Virtual
GPU |
Intended
Use Case |
Frame Buffer
(Mbytes) |
Virtual
Display Heads |
Maximum Resolution
per Display Head |
Maximum
vGPUs per GPU |
Maximum
vGPUs per Board |
Minimum GRID License
Edition Required |
---|---|---|---|---|---|---|---|---|
1 | M6-8Q | Designer | 8192 | 4 | 4096×2160 | 1 | 1 | GRID Virtual Workstation |
1 | M6-4Q | Designer | 4096 | 4 | 4096×2160 | 2 | 2 | GRID Virtual Workstation |
1 | M6-2Q | Designer | 2048 | 4 | 4096×2160 | 4 | 4 | GRID Virtual Workstation |
1 | M6-1Q | Power User, Designer | 1024 | 2 | 4096×2160 | 8 | 8 | GRID Virtual Workstation |
1 | M6-0Q | Power User, Designer | 512 | 2 | 2560×1600 | 16 | 16 | GRID Virtual Workstation |
1 | M6-1B | Power User | 1024 | 4 | 2560×1600 | 8 | 8 | GRID Virtual PC |
1 | M6-0B | Power User | 512 | 2 | 2560×1600 | 16 | 16 | GRID Virtual PC |
1 | M6-8A | Virtual Application User | 8192 | 1 | 1280×1024 | 1 | 1 | GRID Virtual Application |
1 | M6-4A | Virtual Application User | 4096 | 1 | 1280×1024 | 2 | 2 | GRID Virtual Application |
1 | M6-2A | Virtual Application User | 2048 | 1 | 1280×1024 | 4 | 4 | GRID Virtual Application |
1 | M6-1A | Virtual Application User | 1024 | 1 | 1280×1024 | 8 | 8 | GRID Virtual Application |
vGPU Konfiguration
Die Konfiguration eines shared PCI Devices für vGPU ist nur mit dem vSphere Web Client möglich und setzt somit einen vCenter Server voraus.
Fügen Sie der VM ein shared PCI Device hinzu und wählen Sie das passende Profil. Nachdem der passende Treiber für das Gastbetriebssystem installiert und die VM neu gestartet wurde, ist die vGPU einsatzbereit und wird vom System mit dem richtigen Profil erkannt.
Über die vSphere Konsole (oder per SSH) können Sie mit dem Befehl nvidia-smi
überprüfen, auf welcher GPU die VMs ausgeführt werden.
Im vSphere Web Client können Sie die Zuweisung der VMs ebenfalls überprüfen.
Hinweis: Die vSphere Remote Console und die vSphere Web Console werden keine Bildausgabe mit konfiguriertem vGPU Profil liefern können. Wenn diese VM als Basis für einen Horizon View Desktop Pool dient, können Sie die erstellten VMs regulär mit dem Horizon View Client, mit dem Horizon HTML Access oder per Remote Desktop (RDP) verwalten.
In diesem Beispiel wird ein Windows 10 64Bit Pro mit 2 vCPUs und 8GB RAM verwendet.
Einzelnachweise
Autor: Thomas-Krenn.AG Bei der Thomas-Krenn.AG achten wir auf den bestmöglichen Service. Um dem gerecht zu werden, haben wir unser Thomas-Krenn Wiki ins Leben gerufen. Hier teilen wir unser Wissen mit Ihnen und informieren Sie über Grundlagen und Aktuelles aus der IT-Welt. Ihnen gefällt unsere Wissenskultur und Sie wollen Teil des Teams werden? Besuchen Sie unsere Stellenangebote. |