Si des hôtes ESXi dans votre environnement vSphere IaaS control plane disposent d'un ou de plusieurs périphériques graphiques NVIDIA GRID GPU, vous pouvez configurer des machines virtuelles pour qu'elles utilisent la technologie NVIDIA GRID virtual GPU (vGPU). Vous pouvez également configurer d'autres périphériques PCI sur un hôte ESXi pour les rendre disponibles pour une machine virtuelle en mode relais.

Déploiement d'une machine virtuelle avec vGPU dans vSphere IaaS control plane

Les périphériques graphiques NVIDIA GRID GPU sont conçus pour optimiser les opérations graphiques complexes et leur permettre de s'exécuter à des performances élevées sans surcharger le CPU. En partageant un seul processeur graphique physique entre plusieurs machines virtuelles qui font office de périphériques relais distincts sur lesquels vGPU est activée, la technologie NVIDIA GRID vGPU offre des performances graphiques, une rentabilité et une évolutivité incomparables.

Considérations

Les considérations suivantes s'appliquent si vous utilisez NVIDIA vGPU :
  • Le Superviseur à trois zones ne prend pas en charge les machines virtuelles avec vGPU.
  • Les machines virtuelles disposant de périphériques vGPU gérées par le service de VM sont automatiquement mises hors tension lorsqu'un hôte ESXi passe en mode de maintenance. Cela peut affecter temporairement les charges de travail en cours d'exécution dans les machines virtuelles. Les machines virtuelles sont automatiquement mises sous tension dès que l'hôte sort du mode de maintenance.
  • DRS distribue les machines virtuelles vGPU de manière étendue sur les hôtes du cluster. Pour plus d'informations, reportez-vous à la section Placement DRS des machines virtuelles vGPU dans le guide Gestion des ressources vSphere.

Configuration requise

Pour configurer NVIDIA vGPU, respectez les conditions requises suivantes :

  • Vérifiez qu'ESXi est pris en charge dans le Guide de compatibilité VMware, puis vérifiez auprès du fournisseur que l'hôte répond aux exigences d'alimentation et de configuration.
  • Configurez les paramètres graphiques de l'hôte ESXi avec au moins un périphérique en mode Partagés en direct. Reportez-vous à la section Configuration de graphiques d'hôte dans la documentation Gestion des ressources vSphere.
  • La bibliothèque de contenu que vous utilisez pour les machines virtuelles avec des périphériques vGPU doit inclure des images avec le mode de démarrage défini sur EFI, telles que CentOS.
  • Installez le logiciel NVIDIA vGPU. NVIDIA fournit un module logiciel vGPU qui inclut les composants suivants.

    Pour plus d'informations, consultez la documentation du logiciel NVIDIA Virtual GPU appropriée.

Ajouter un périphérique vGPU à une classe de machine virtuelle à l'aide de vSphere Client

Créez ou modifiez une classe de machine virtuelle existante pour ajouter un GPU virtuel NVIDIA GRID (vGPU).

Conditions préalables

Privilèges requis :
  • Espaces de noms.Modifier la configuration à l'échelle du cluster
  • Espaces de noms.Modifier la configuration de l'espace de noms
  • Classes de machine virtuelle.Gérer les classes de machine virtuelle

Procédure

  1. Créez ou modifiez une classe de machine virtuelle existante.
    Option Action
    Créer une classe de VM
    1. Dans le menu d'accueil de vSphere Client, sélectionnez Gestion de la charge de travail.
    2. Cliquez sur l'onglet Services, puis cliquez sur Gérer dans le volet Service de VM.
    3. Sur la page Service de VM, cliquez sur Classes de VM, puis sur Créer une classe de VM.
    4. Suivez les invites.
    Modifier la classe de machine virtuelle
    1. Dans le menu d'accueil de vSphere Client, sélectionnez Gestion de la charge de travail.
    2. Cliquez sur l'onglet Services, puis cliquez sur Gérer dans le volet Service de VM.
    3. Sur la page Service de VM, cliquez sur Classes de VM.
    4. Dans le volet de classe de machine virtuelle, cliquez sur Gérer, puis sur Modifier.
    5. Suivez les invites.
  2. Sur la page Configuration, cliquez sur l'onglet Matériel virtuel, cliquez sur Ajouter un nouveau périphérique, puis sélectionnez Périphérique PCI.
    Option Périphérique PCI dans le menu Ajouter un nouveau périphérique
  3. Dans la liste des périphériques disponibles sur la page Sélection d'un périphérique, sélectionnez NVIDIA GRID vGPU, puis cliquez sur Sélectionner.
    Le périphérique apparaît sur la page Matériel virtuel.
  4. Cliquez sur l'onglet Paramètres avancés, puis définissez les paramètres avec les attributs et les valeurs suivants.
    Option Description
    Paramètre Valeur
    pciPassthru0.cfg.enable_uvm 1
    pciPassthru1.cfg.enable_uvm 1
    Ajout d'attributs et de valeurs pour les paramètres avancés
  5. Vérifiez votre configuration et cliquez sur Terminer.

Résultats

Une balise Périphériques PCI dans le volet de classe de machine virtuelle indique que la classe de machine virtuelle est compatible avec les vGPU.

Balise Périphériques PCI dans le volet Classe de VM

Ajouter un périphérique vGPU à une classe de machine virtuelle à l'aide de l'interface de ligne de commande du centre de données

En plus de vSphere Client, vous pouvez utiliser les commandes DCLI (interface de ligne de commande du centre de données) pour ajouter des vGPU et des configurations avancées.

Pour plus d'informations sur l'utilisation des commandes DCLI, reportez-vous à la section Créer et gérer des classes de machine virtuelle à l'aide de l'interface de ligne de commande du centre de données.

Procédure

  1. Connectez-vous à l'instance de vCenter Server en utilisant le compte d'utilisateur racine, puis entrez dcli +i pour utiliser la DCLI en mode interactif.
  2. Exécutez la commande suivante pour créer une classe de machine virtuelle.
    Dans l'exemple suivant, la classe de machine virtuelle my-class inclut deux CPU, 2 048 de mémoire et une VirtualMachineConfigSpec avec deux exemples de profils vGPU, mockup-vmiop-8c et mockup-vmiop. Les champs extraConfig pciPassthru0.cfg.enable_uvm et pciPassthru1.cfg.enable_uvm sont définis sur 1.
    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"}}]}'
    

Installer le pilote NVIDIA invité dans une machine virtuelle dans vSphere IaaS control plane

Si la machine virtuelle inclut un périphérique PCI configuré pour vGPU, après avoir créé et démarré la machine virtuelle dans votre environnement vSphere IaaS control plane, installez le pilote graphique NVIDIA vGPU pour activer entièrement les opérations GPU.

Conditions préalables

  • Déployez la machine virtuelle avec vGPU. Assurez-vous que le fichier YAML de la machine virtuelle fait référence à la classe de machine virtuelle avec la définition de vGPU. Reportez-vous à la section Déployer une machine virtuelle dans vSphere IaaS control plane.
  • Vérifiez que vous avez téléchargé le module logiciel vGPU depuis le site de téléchargement NVIDIA, que vous avez décompressé le module et que le composant du lecteur invité est prêt. Pour plus d'informations, reportez-vous à la documentation appropriée du logiciel de GPU virtuel NVIDIA.
    Note : La version du composant de pilote doit correspondre à la version de vGPU Manager qu'un administrateur vSphere a installé sur l'hôte ESXi.

Procédure

  1. Copiez le module du pilote logiciel Linux NVIDIA vGPU, par exemple NVIDIA-Linux-x86_64-version-grid.run, sur la machine virtuelle invitée.
  2. Avant de tenter d’exécuter le programme d’installation du pilote, arrêtez toutes les applications.
  3. Démarrez le programme d'installation du pilote NVIDIA vGPU.
    sudo ./NVIDIA-Linux-x86_64-version-grid.run
  4. Acceptez le contrat de licence du logiciel NVIDIA et sélectionnez Oui pour mettre à jour automatiquement les paramètres de configuration X.
  5. Vérifiez que le pilote a été installé.
    Par exemple,
    ~$ 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                                                 |
    +-----------------------------------------------------------------------------+

Déploiement d'une machine virtuelle avec des périphériques PCI dans vSphere IaaS control plane

En plus du vGPU, vous pouvez configurer d'autres périphériques PCI sur un hôte ESXi pour les rendre disponibles pour une machine virtuelle en mode relais.

vSphere IaaS control plane prend en charge les périphériques Dynamic DirectPath I/O. Grâce à Dynamic DirectPath I/O, la machine virtuelle peut accéder directement aux périphériques PCI et PCIe physiques connectés à un hôte. Vous pouvez utiliser Dynamic DirectPath I/O pour attribuer plusieurs périphériques de relais PCI à une machine virtuelle. Chaque périphérique de relais peut être spécifié par son fournisseur PCI et son identifiant de périphérique.
Note : Lors de la configuration de Dynamic DirectPath I/O pour les périphériques de relais PCI, connectez les périphériques PCI à l'hôte et marquez-les comme disponibles pour le relais. Reportez-vous à la section Activer le relais d'un périphérique réseau sur un hôte dans la documentation Mise en réseau vSphere.