Wenn ESXi-Hosts in Ihrer vSphere IaaS control plane-Umgebung über ein oder mehrere NVIDIA GRID GPU-Grafikgeräte verfügen, können Sie VMs zur Verwendung der NVIDIA GRID vGPU-Technologie (virtual GPU) konfigurieren. Sie können auch andere PCI-Geräte auf einem ESXi-Host konfigurieren, um sie einer VM im Passthrough-Modus zur Verfügung zu stellen.

Bereitstellen einer VM mit vGPU in vSphere IaaS control plane

NVIDIA GRID GPU-Grafikgeräte sind so konzipiert, dass sie komplexe Grafikvorgänge optimieren und dadurch mit Hochleistung ausgeführt werden können, ohne dabei den Hauptprozessor zu überlasten. NVIDIA GRID vGPU bietet eine beispiellose Grafikleistung, Kosteneffizienz und Skalierbarkeit, indem ein einzelner physischer Grafikprozessor (GPU) von mehreren VMs gemeinsam als separate vGPU-fähige Passthrough-Geräte verwendet wird.

Überlegungen

Wenn Sie NVIDIA vGPU verwenden, gelten die folgenden Bedingungen:
  • Drei-Zonen-Supervisor unterstützt keine VMs mit vGPU.
  • VMs mit vGPU-Geräten, die vom VM-Dienst verwaltet werden, werden automatisch ausgeschaltet, wenn ein ESXi-Host in den Wartungsmodus wechselt. Dies kann sich vorübergehend auf Arbeitslasten auswirken, die in den VMs ausgeführt werden. Die VMs werden automatisch eingeschaltet, nachdem der Host im Wartungsmodus ausgeführt wurde.
  • DRS verteilt vGPU-VMs breit auf die Hosts des Clusters. Weitere Informationen finden Sie unter DRS-Platzierung von vGPU-VMs im Handbuch Handbuch zur vSphere-Ressourcenverwaltung.

Anforderungen

Erfüllen Sie zum Konfigurieren von NVIDIA vGPU die folgenden Voraussetzungen:

  • Überprüfen Sie im VMware-Kompatibilitätshandbuch, ob ESXi unterstützt wird, und erkundigen Sie sich beim Anbieter, ob der Host die Stromversorgungs- und Konfigurationsanforderungen erfüllt.
  • Konfigurieren Sie die Grafikeinstellungen des ESXi-Hosts mit mindestens einem Gerät im Modus Direkt freigegeben. Weitere Informationen finden Sie unter Konfigurieren von Hostgrafiken in der Dokumentation zu Handbuch zur vSphere-Ressourcenverwaltung.
  • Die Inhaltsbibliothek, die Sie für VMs mit vGPU-Geräten verwenden, muss Images enthalten, deren Startmodus auf EFI festgelegt ist, z. B. CentOS.
  • Installieren Sie die NVIDIA vGPU-Software. NVIDIA stellt ein vGPU-Softwarepaket bereit, das die folgenden Komponenten enthält.

    Weitere Informationen finden Sie in der entsprechenden Dokumentation zur NVIDIA Virtual GPU-Software.

Hinzufügen eines vGPU-Geräts zu einer VM-Klasse mit vSphere Client

Erstellen oder bearbeiten Sie eine vorhandene VM-Klasse, um eine virtuelle NVIDIA GRID GPU (vGPU) hinzuzufügen.

Voraussetzungen

Erforderliche Rechte:
  • Namespaces.Clusterweite Konfiguration ändern
  • Namespaces.Namespace-Konfiguration ändern
  • VM-Klassen.VM-Klassen verwalten

Prozedur

  1. Erstellen oder bearbeiten Sie eine vorhandene VM-Klasse.
    Option Aktion
    Neue VM-Klasse erstellen
    1. Wählen Sie im vSphere Client-Startmenü die Option Arbeitslastverwaltung aus.
    2. Klicken Sie auf die Registerkarte Dienste und klicken Sie dann im Bereich VM-Dienst auf Verwalten.
    3. Klicken Sie auf der Seite VM-Dienst auf VM-Klassen und dann auf VM-Klasse erstellen.
    4. Führen Sie die angezeigten Anweisungen aus.
    Bearbeiten einer VM-Klasse
    1. Wählen Sie im vSphere Client-Startmenü die Option Arbeitslastverwaltung aus.
    2. Klicken Sie auf die Registerkarte Dienste und klicken Sie dann im Bereich VM-Dienst auf Verwalten.
    3. Klicken Sie auf der Seite VM-Dienst auf VM-Klassen.
    4. Klicken Sie im Bereich der ausgewählten VM-Klasse auf Verwalten und dann auf Bearbeiten.
    5. Führen Sie die angezeigten Anweisungen aus.
  2. Klicken Sie auf der Seite Konfiguration auf die Registerkarte Virtuelle Hardware, klicken Sie auf Neues Gerät hinzufügen und wählen Sie PCI-Gerät aus.
    PCI-Geräteoption im Menü „Neues Gerät“ hinzufügen
  3. Wählen Sie in der Liste der verfügbaren Geräte auf der Seite Geräteauswahl die Option „NVIDIA GRID vGPU“ aus und klicken Sie auf Auswählen.
    Das Gerät wird auf der Seite „Virtuelle Hardware“ angezeigt.
  4. Klicken Sie auf die Registerkarte Erweiterte Parameter und legen Sie die Parameter mit den folgenden Attributen und Werten fest.
    Option Bezeichnung
    Parameter Wert
    pciPassthru0.cfg.enable_uvm 1
    pciPassthru1.cfg.enable_uvm 1
    Attribute und Werte für erweiterte Parameter hinzufügen
  5. Überprüfen Sie Ihre Konfiguration und klicken Sie auf Beenden.

Ergebnisse

Ein PCI-Geräte-Tag im Bereich der VM-Klasse gibt an, dass die VM-Klasse vGPU-fähig ist.

PCI-Geräte-Tag im Bereich der VM-Klasse

Hinzufügen eines vGPU-Geräts zu einer VM-Klasse mithilfe der Datencenter-CLI

Neben dem vSphere Client können Sie auch den Befehl Data Center CLI (DCLI) verwenden, um vGPUs und erweiterte Konfigurationen hinzuzufügen.

Weitere Informationen zu DCLI-Befehlen finden Sie unter Erstellen und Verwalten von VM-Klassen mithilfe der Datencenter-CLI.

Prozedur

  1. Melden Sie sich bei vCenter Server mit dem Root-Benutzerkonto an und geben Sie dcli +i ein, um die DCLI im interaktiven Modus zu verwenden.
  2. Führen Sie den folgenden Befehl aus, um eine VM-Klasse zu erstellen.
    Im folgenden Beispiel enthält die VM-Klasse my-class zwei CPUs, 2048 MB Arbeitsspeicher und eine VirtualMachineConfigSpec mit zwei vGPU-Beispielprofilen, nämlich mockup-vmiop-8c und mockup-vmiop. Die extraConfig-Felder pciPassthru0.cfg.enable_uvm und pciPassthru1.cfg.enable_uvm sind auf 1 eingestellt.
    dcli +i +show-unreleased com vmware vcenter namespacemanagement virtualmachineclasses create --id my-class --cpu-count 2 --memory-mb 2048 --config-spec '{"_typeName":"VirtualMachineConfigSpec","deviceChange":[{"_typeName":"VirtualDeviceConfigSpec","operation":"add","device":{"_typeName":"VirtualPCIPassthrough","key":20,"backing":{"_typeName":"VirtualPCIPassthroughVmiopBackingInfo","vgpu":"mockup-vmiop-8c"}}},{"_typeName":"VirtualDeviceConfigSpec","operation":"add","device":{"_typeName":"VirtualPCIPassthrough","key":20,"backing":{"_typeName":"VirtualPCIPassthroughVmiopBackingInfo","vgpu":"mockup-vmiop"}}}],"extraConfig":[{"_typeName":"OptionValue","key":"pciPassthru0.cfg.enable_uvm","value":{"_typeName":"string","_value":"1"}},{"_typeName":"OptionValue","key":"pciPassthru1.cfg.enable_uvm","value":{"_typeName":"string","_value":"1"}}]}'
    

Installieren des NVIDIA-Gasttreibers in einer VM in vSphere IaaS control plane

Wenn die VM ein für vGPU konfiguriertes PCI-Gerät enthält, installieren Sie nach dem Erstellen und Starten der VM in Ihrer vSphere IaaS control plane-Umgebung den NVIDIA vGPU-Grafiktreiber, um GPU-Vorgänge vollständig zu aktivieren.

Voraussetzungen

  • Stellen Sie die VM mit vGPU bereit. Achten Sie darauf, dass die YAML-Datei der VM auf die VM-Klasse mit der vGPU-Definition verweist. Weitere Informationen finden Sie unter Bereitstellen einer virtuellen Maschine in vSphere IaaS control plane.
  • Vergewissern Sie sich, dass Sie das vGPU-Softwarepaket von der NVIDIA-Downloadseite heruntergeladen und das Paket dekomprimiert haben und dass die Gastlaufwerkkomponente bereit ist. Informationen finden Sie in der entsprechenden Dokumentation zur NVIDIA Virtual GPU-Software.
    Hinweis: Die Version der Treiberkomponente muss der Version des vGPU-Managers entsprechen, die ein vSphere-Administrator auf dem ESXi-Host installiert hat.

Prozedur

  1. Kopieren Sie das Linux-Treiberpaket für die NVIDIA vGPU-Software, z. B. NVIDIA-Linux-x86_64-version-grid.run, auf die Gast-VM.
  2. Beenden Sie alle Anwendungen, bevor Sie versuchen, das Treiberinstallationsprogramm auszuführen.
  3. Starten Sie das Installationsprogramm für den NVIDIA vGPU-Treiber.
    sudo ./NVIDIA-Linux-x86_64-version-grid.run
  4. Akzeptieren Sie die NVIDIA Software-Lizenzvereinbarung und klicken Sie auf Ja, um die X-Konfigurationseinstellungen automatisch zu aktualisieren.
  5. Stellen Sie sicher, dass der Treiber installiert wurde.
    Beispiel:
    ~$ nvidia-smi
    Wed May 19 22:15:04 2021
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 460.63       Driver Version: 460.63       CUDA Version: 11.2     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  GRID V100-4Q        On   | 00000000:02:00.0 Off |                  N/A|
    | N/AN/AP0    N/A/  N/A|    304MiB /  4096MiB |      0%      Default |
    |                               |                      |                  N/A|
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+

Bereitstellen einer VM mit PCI-Geräten in vSphere IaaS control plane

Zusätzlich zu vGPU können Sie auch andere PCI-Geräte auf einem ESXi-Host konfigurieren, um sie einer VM im Passthrough-Modus zur Verfügung zu stellen.

vSphere IaaS control plane unterstützt Dynamic DirectPath I/O-Geräte. Mithilfe von Dynamic DirectPath I/O kann die VM direkt auf die physischen PCI- und PCIe-Geräte zugreifen, die mit einem Host verbunden sind. Sie können Dynamic DirectPath I/O verwenden, um einer VM mehrere PCI-Passthrough-Geräte zuzuweisen. Jedes Passthrough-Gerät kann gemäß seines PCI-Anbieter- und Gerätebezeichners angegeben werden.
Hinweis: Wenn Sie Dynamic DirectPath I/O für PCI-Passthrough-Geräte konfigurieren, verbinden Sie die PCI-Geräte mit dem Host und markieren Sie sie als für Passthrough verfügbar. Weitere Informationen finden Sie unter Aktivieren von Passthrough für ein Netzwerkgerät auf einem Host in der Dokumentation zu vSphere-Netzwerk.