VMware vSphere mit NVIDIA GRID vGPU

Aus Thomas-Krenn-Wiki
Wechseln zu: Navigation, Suche

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.

Öffnen Sie das Konfigurationsmenü der VM und erweitern Sie den Video Card Reiter. Die Enable 3D Support Option steht nur bei Windows Desktop / Linux Betriebssystemen zur Verfügung und muss aktiviert werden. Anschließend kann der VM ein shared PCI Device hinzugefügt und das passende Profil ausgesucht werden. 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, gleiches gilt für eine Remote Desktop Verbindung (RDP). 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, oder dem Horizon HTML Access erreichen. Alternativ funktioniert auch ein VNC Client, damit Sie eine Bildausgabe erhalten.

In diesem Beispiel wird ein Windows 10 64Bit Pro mit 2 vCPUs und 8GB RAM verwendet.

Einzelnachweise

  1. (VMware vSphere 6.5 Datasheet)
  2. (VMware vSphere Desktop FAQs)
  3. (NVIDIA GRID Licensing)
  4. (NVIDIA vGPU User Guide)


Foto Sebastian Köbke.jpg

Autor: Sebastian Köbke

Sebastian Köbke ist im Technischen Support bei Thomas-Krenn tätig. Dort kümmert er sich um alle Kundenanfragen. Per Ticketsystem, telefonisch oder schriftlich via E-Mail sorgt Sebastian dafür, dass unseren Kunden schnellstmöglich geholfen wird. Dabei hat er sich vor allem auf VMware Systeme spezialisiert. Als Ausgleich zum Büro-Alltag macht Sebastian oft Sport und Fitness.


Das könnte Sie auch interessieren

Thomas-Krenn vSphere 6 Hypervisor ISO
USB Geräte in der VM nutzen
VMware vSphere ESXi USB-Stick klonen