VMware vSphere z NVIDIA GRID vGPU
W tym artykule chcemy zaprezentować jak za pomocą karty NVIDIA GRID vGPU może zostać znacząco zwiększona wydajność graficzna wirtualnych maszyn, aby umożliwić np. korzystanie z wymagających graficznie aplikacji. Umożliwiająca to w oprogramowaniu VMware funkcjonalność Accelerated Graphics for Virtual Machines jest zawarta w edycji vSphere Enterprise Plus[1], jak i w VMware vSphere Desktop z pakietu Horizon View 7[2]. System testowy w tym artykule składa się z płyty głównej Supermicro X10DRi z procesorem Intel Xeon E5 2620v4, karty NVIDIA GRID K1 i aktualnej wersji VMware vSphere 6.5 (Build 5310538).
Instalacja sterowników NVIDIA
Aby móc skorzystać z funkcjonalności vGPU musi na hoście vSphere zostać zainstalowany odpowiedni sterownik dla stosowanej karty graficznej. VMware udostępnia odpowiednie sterowniki na swojej Hardware Compatibility List (HCL) pod punktem Shared Pass-Through Graphics. Zalecamy korzystanie jedynie z modeli, które znajdują się na HCL - w celu uniknięcia problemów podczas konfiguracji lub problemów z niestabilną pracą wirtualnej maszyny.
Uwaga: Nowe modele z rodziny NVIDIA Tesla M wymagają licencji GRID[3], która po zarejestrowaniu umożliwia pobranie pakietu sterowników bezpośrednio ze strony producenta NVIDIA. Dostępne są licencje dla różnych profilów vGPU.
Instalacja
Najpierw należy uruchomić na hoście tryb konserwacji. Następnie skopiować sterowniki, offline bundle lub plik vib, za pośrednictwem WinSCP do katalogu temp na hoście ESX (/tmp) i wykonać następującą komendę:
Instalacji z offline bundle
esxcli software vib install -d /tmp/<drivername-offlinebundle>.zip
Instalacji z pliku vib
esxcli software vib install -v /tmp/<drivername>.vib
Jeżeli jest to konieczne to należy przeprowadzić restart i następnie opuścić tryb konserwacyjny. Teraz karta graficzna powinna być dostępna w kliencie webowym vSphere jako hardware device. vGPU wymaga aby karta graficzna była wykorzystywana w trybie shared direct. W kliencie webowym może zostać zmieniony lub skontrolowany aktualnie skonfigurowany tryb, jeżeli zostanie on zmieniony to usługa X.Org Server musi zostać restartowana.
NVIDIA System Management Interface
Bezpośrednio z konsoli vSphere (lub przez SSH) może zostać uruchomiony interfejs NVIDIA System Management Interface (nvidia-smi). Umożliwia on szczegółową kontrolę stanu karty NVIDIA, miedzy innymi temperatury GPU.
[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 |
+-----------------------------------------------------------------------------+
Profile NVIDIA GRID vGPU
NVIDIA oferuje dla różnych scenariuszy różne profile vGPU[4], od zastosowań biurowych do projektowania CAD. Poniżej są wymienione wszystkie profile vGPU dla kart NVIDIA GRID K1/K2 i kart z serii Tesla M. Prosimy zwrócić uwagę, że modele z serii Tesla M wymagają licencji GRID.
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 |
Konfiguracja vGPU
Konfiguracja shared PCI Device dla vGPU jest możliwa jedynie z webowego klienta vSphere.
W maszynie wirtualnej należy dodać shared PCI Device i wybrać odpowiedni profil. Po zainstalowaniu odpowiedniego sterownika dla systemu operacyjnym i ponownym uruchomieniu maszyny wirtualnej, vGPU jest gotowy do użycia i zostanie rozpoznany przez system.
Za pośrednictwem komendy nvidia-smi
z konsoli vSphere (lub przez SSH) może zostać skontrolowane, która wirtualna maszyna jest przyporządkowana do którego GPU.
Przyporządkowanie wirtualnych maszyn może również zostać skontrolowane w kliencie webowym vSphere.
Uwaga: W zdalnej konsoli vSphere i kliencie webowym vSphere ze skonfigurowanym profilem vGPU nie jest wyświetlany obraz z wirtualnej maszyny. W przypadku, gdy ta wirtualna maszyna służy jako szablon dla Horizon View Desktop Pool, to utworzonymi wirtualnymi maszynami można normalnie zarządzać za pomocą Horizon View Client, Horizon HTML Access lub Remote Desktop (RDP).
W tym przykładzie jest wykorzystywany Windows 10 64Bit Pro z 2 vCPUs i 8GB RAM.
Odnośniki
Autor: Sebastian Köbke