VMware vSphere z NVIDIA GRID vGPU

Z Thomas-Krenn-Wiki
Przejdź do nawigacji Przejdź do wyszukiwania

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

Powiązane artykuły

Instalacja oprogramowania SvSAN firmy StorMagic w VMware
Konfiguracja dysku RDM (Raw Device Mapping) w VMware
Włączenie dostępu przez SSH do hosta ESXi 5