VMware vSphere 6 – vGPU Installation und Konfiguration

Desktopvirtualisierung hat sich bereits in vielen Unternehmen etabliert. Gründe dafür sind neben geringerem Administrationsaufwand die Flexibilität der Ressourcenvergabe. Wenn ein virtueller Desktop mehr RAM oder CPU Leistung benötigt, fährt man diesen herunter und stattet ihn mit mehr Ressourcen aus. Geht es jedoch um Grafikleistung, ist das nicht so einfach. Zwar bringt VMware einen onboard “3D Grafikrenderer” mit, allerdings kann dieser Grafikprozesse rein über die CPU rendern und bringt somit in den wenigsten Fällen den gewünschten Erfolg.

Oftmals sind CAD Workstations & Bildbearbeitungs-Desktops die letzten Hardware-Clients in Firmen mit VDI-Umgebungen. Während alle Standarduser bereits durch ein Single-Image-Management versorgt werden und unabhängig von Ort und Endgerät auf ihre Desktops und Applikationen zugreifen können, kann CAD- bzw. „Power“-Usern nicht dieser Grad an Flexibilität geboten werden. Des Weiteren sind CAD Workstations aufgrund ihrer leistungsstarken Hardwareausstattung sehr teuer und erfordern einen hohen Aufwand an Administration und Pflege.

Durch verschiedene Techniken ist es seit einigen Jahren möglich CAD Workstations auf Basis von Citrix XenDesktop oder VMware Horizon View zu virtualisieren. Hierfür benötigt man Grafikpower im physikalischen Host. Dieser wird durch NVIDIA GRID Grafikkarten bereitgestellt. Diese Grafikkarten wurden ausschließlich für den Einsatz in Serversystem konzipiert und verfügen über jeweils vier (NVIDIA GRID K1) oder zwei (NVIDIA GRID K2) Grafikprozessoren. Um diese Hardwareressourcen innerhalb einer virtuellen Maschine nutzen zu können, bietet VMware vSphere verschiedene Möglichkeiten:

01. vSGA – Virtual Shared Graphics Acceleration

Durch Virtual Shared Graphics Acceleration (vSGA) haben wir die Möglichkeit den vRAM (Video RAM) einer Grafikkarte mit mehreren virtuellen Maschinen zu teilen. Dieser Modus hat gegenüber den anderen Lösungsvarianten sowohl Vor-, als auch Nachteile:

  • Nachteil #1: Der erste große Nachteil dieser Variante ist sicherlich die oftmals unzureichende Perfomance. Durch die reine Zuteilung von vRAM erreicht man nicht die benötigte Grafikleistung, sowie die nötigen FPS (Frames per second) um aufwändige 3D Objekte darzustellen.
  • Vorteil #1: Allerdings reicht diese Variante im Gegensatz zum CPU-Rendering aus, um z.B. die aufwendige Metro Oberfläche eines Windows 8/8.1 Systems sauber darzustellen
  • Nachteil #2: Die virtuelle Maschine realisiert nicht, dass eine Grafikkarte im ESXi Hosts verbaut ist. Innerhalb der virtuellen Maschine werden Grafiktreiber weiterhin über die VMware Tools (SVGA Treiber) installiert. Dies macht das Nutzen von DirectX oder OpenGL unmöglich und verhindert somit den Start vieler grafikintensiver Programme
  • Vorteil #2: Allerdings bietet diese Variante einen großen Vorteil: Im Shared Modus sind weiterhin Features wie vMotion nutzbar. Zieht unser virtueller Desktop von einem Host mit Grafikkarte auf einen Host ohne Grafikkarte um, hat er zwar nicht mehr die geshareten vRAM Ressourcen zur Verfügung und muss damit auch mit weniger Grafikleistung auskommen, die virtuelle Maschine läuft allerdings ohne Downtime weiter

02. vDGA – Virtual Dedicated Graphics Acceleration

Mit Virtual Dedicated Graphics Acceleration (vDGA) reichen wir eine physische GPU, einer im Server eingebauten Grafikkarte, einer virtuellen Maschine via PCI – Passthrough weiter. Wir haben hier also eine 1:1 Verbindung zwischen GPU und virtueller Maschine. Auch hier wieder die Vor- und Nachteile:

  • Vorteil #1: Diese Variante ist sicherlich die Variante, die uns am wenigstens Kopfzerbrechen in Sachen Perfomance bereiten wird. Durch die direkte Durchreichung (Der Hypervisor wird einfach übergangen) der GPU, steht der virtuellen Maschine nun die volle Leistung einer physischen Grafikkarte zur Verfügung. Als kleines Beispiel: Die Perfomance einer GPU der NVIDA GRID K1 ist vergleichbar mit der Leistung einer Entry Kepler based GPU (z.B. der Quadro K4000). Diese sind oftmals in 3D CAD Workstations verbaut, die hauptsächlich zum Betrachten von CAD – Zeichnungen gedacht sind. Sollen höchstaufwendige und große Zeichnungen geöffnet, sowie bearbeitet werden, sollte auf eine NVIDIA GRID K2 zurückgegriffen werden. Diese besitzt zwar nur 2 GPU’s, diese sind allerdings jeweils mit den aktuellste High End Kepler Grafikkarten von NVIDIA vergleichbar
  • Nachteil #1: Wir können nur so viele User bzw. Desktops ausstatten, wie physische GPU’s auf der Grafikkarte vorhanden sind. Haben wir also eine NVIDIA GRID K1 verbaut, können wir maximal 4 User bzw. Desktops mit der benötigten Grafikleistung versorgen
  • Vorteil #2: Durch das direkte Durchreichen der Karte als PCI – Device an die virtuelle Maschine sind die VMware SVGA Treiber nicht mehr notwendig. Diese werden nun ersetzt durch die nativen Windows Treiber von NVIDIA. Durch das Vorhandensein dieser Treiber ist es nun auch möglich DirectX, OpenGL usw. zu nutzen
  • Nachteil #2: Durch die starre PCI – Passthrough Zuweisung ist die Möglichkeit eines Umzuges auf einen anderen Host im Live-Betrieb nicht gegeben. Selbst im Zuge einer Cold – Migration muss im anderen Host die gleiche Grafikkarte verbaut sein und die PCI – Passthrough Zuweisung neu vorgenommen werden. Dies ist nicht im Sinne einer Desktopvirtualisierung, aber ich bin sicher, dass hier in den nächsten Jahren Abhilfe geschaffen wird

03. vGPU

 

Seit dem Release von VMware vSphere 6 ist es nun auch möglich, das vGPU Feature unter ESXi zu nutzen. Durch vGPU ist es möglich, dass sich mehrere Benutzer eine physische GPU teilen, ohne auf die nativen Treiber im Betriebssystem und damit auf DirectX oder OpenGL verzichten zu müssen. Der vGPU Manager weist jedem Anwender genau so viel Grafikspeicher zu, wie er benötigt. Über den vGPU Manager können wir nun eine deutlich höhere Packungsdichte erzielen. Wie viele User auf einer NVIDIA GRID Karte arbeiten können, ist abhängig von der gewünschten Leistung. Jeder virtuellen Maschine wird ein Profil zugeordnet. In diesem ist festgelegt, wie viele Ressourcen die jeweilige virtuelle Maschine erhalten soll

profiles

  • Vorteil #1: Durch die Aufteilung der physikalischen Grafikprozessoren können mehrere User gleichzeitig auf einer GPU arbeiten. So können mit Hilfe einer NVIDIA GRID K1 maximal 32, unter Verwendung einer GRID K2 maximal 16 virtuelle Maschinen gleichzeitig die Ressourcen verwenden
  • Nachteil #1: Während alle anderen Varianten keine lizenzierten Funktionen darstellen, muss für das vGPU Feature eine Enterprise Plus Lizenz vorhanden sein. Diese kann entweder pro Socket oder im Rahmen einer VM-Lizenzierung (vSphere for Desktops) innerhalb einer VDI-Umgebung erworben werden
  • Vorteil #2: Auch bei dieser Variante kann durch das direkte Durchreichen der virtualisierten GPU als Shared PCI – Device an die virtuelle Maschine die Installation und Verwendung von OpenGL oder DirectX realisiert werden
  • Nachteil #2: Analog zur vDGA Technologie können virtuelle Maschinen mit aktiver vGPU nicht via vMotion auf einen anderen ESXi-Host migriert werden. Auch die Realisierung von vSphere HA für diese virtuellen Maschinen ist nicht möglich

03.01. vGPU – Voraussetzungen

Um vGPU für eine virtuelle Desktop Infrastruktur unter Citrix XenDesktop oder VMware Horizon View nutzen zu können, müssen folgende Voraussetzungen erfüllt sein:

  • VMware vCenter 6.0 oder höher
  • VMware ESXi 6.0 oder höher
  • Virtuelle Maschine mit Hardwareversion 11
  • NVIDIA GRID K1 oder K2  (Bitte beachten Sie, dass nicht jeder Server diese Grafikkarten aufnehmen kann. Eine stets aktuelle Auflistung der validierten Plattformen finden Sie unter: http://www.nvidia.com/object/enterprise-virtualization-where-to-buy.html)
  • VMware vSphere Enterprise Plus (pro Sockel) oder VMware vSphere for Desktops (je VM) Lizenzen

03.02. vGPU – Installation und Konfiguration

  1. Download der NVIDIA GRID K1/K2 Treiber für VMware ESXi 6 unter http://www.nvidia.de/Download/index.aspx?lang=de
  2. Übertragung der ESXi Treiber via SCP auf den ESXi Host in das /tmp VerzeichnisTreiber ESXi
  3. Installation der Treiber über die ESXCLI:

    esxcli software vib install -d /tmp/NVIDIA-vgx-VMware_ESXi_6.0_Host_Driver_346.68-1OEM.600.0.0.2494585-offline_bundle.zip –maintenance-mode

  4. Reboot des ESXi Hosts
  5. Nach dem Neustart kann der vGPU Manager über den Befehl

    nvidia-smi

    das erste Mal gestartet werden. (Da wir noch keine virtuelle Maschine mit vGPU Ressourcen ausgestattet haben, sehen wir außer Temperaturen und weiteren Infos nichts)GPU Manager 1

  6. Anschließend aktiveren wir über den vSphere Web Client das vGPU Feature für eine virtuelle Maschine. In den Einstellungen der virtuellen Maschine muss ein „Shared PCI-Device“ hinzugefügt werden. Des Weiteren muss der gesamte Gastarbeitsspeicher reserviert werden, da die virtuelle Maschine ansonsten nicht startetProfil1
  7. Um die bereitgestellte Grafikleistung innerhalb der virtuellen Maschine nutzen zu können, müssen die GRID Grafikkartentreiber installiert werden. Die Installationsdatei finden sie in der gleichen ZIP Datei, in der sich bereits die ESXi Treiber befanden. Die Installation verläuft sehr unspektakulär und erfordert nach erfolgreicher Durchführung einen Reboot der virtuellen MaschineTreiberWinDatei
  8. Nach erfolgreichem Reboot ist die NVIDIA GRID Karte im Geräte Manager der virtuellen Maschine verfügbar und kann genutzt werdengerätemanager
  9. Die aktuelle Auslastung der einzelnen virtuellen Maschinen kann jetzt auch über den vGPU Manager beobachtet werdenGPU Manager 2

Falls auch Sie sich für die Nutzung von vGPU oder die Umsetzung von VDI Projekten im Bereich 3D-CAD interessieren, können Sie sich jederzeit bei uns melden. Neben Live-Demos unterstützen wir auch gerne bei der Konzeptionierung, sowie Umsetzung eines Projektes auf Basis von Citrix XenDesktop oder VMware Horizon View.

Robert Wortmann

Robert ist seit 2014 bei der Proact Deutschland beschäftigt, wo er sich zunächst als technischer Ansprechpartner und Senior Conultant um Kundenlösungen im Bereich Security und Virtualisierung gekümmert hat. Aktuell ist er in seiner Funktion als Business Development Manager die Schnittstelle zur Technik und kümmert sich um die konstante Entwicklung und Umsetzung neuer Geschäftsideen und -felder.

 
Kommentare

Noch keine Kommentare vorhanden.

Hinterlassen Sie einen Kommentar