Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

PowerEdge : l’erreur « Module 'DevicePowerOn' power on failed » s’affiche lors de l’utilisation de processeurs graphiques avec des machines virtuelles sur vSphere

Summary: La machine virtuelle ne s’allume pas après la configuration du mode Transfert du processeur graphique sur l’hôte ESXi et l’ajout du périphérique à la machine virtuelle. Elle se bloque à 80 % et génère une erreur 2022-04-22T03:04:15.771Z| vmx| | I005: PCIPassthru: total number of pages needed (4206594) exceeds limit (917504), failing 2022-04-22T03:04:15.771Z| vmx| | I005: Module 'DevicePowerOn' power on failed. ...

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Instructions

PCI error.PNG


Informations préliminaires

Vous devez configurer correctement votre BIOS hôte pour activer le processeur graphique Nvidia pour le transfert ; par ailleurs, la machine virtuelle destinée à exécuter ces charges applicatives accélérées doit répondre à des exigences spécifiques. Consultez cette section pour connaître toutes ces exigences.

Quels périphériques ?

Cet article vous concerne uniquement si votre périphérique PCI mappe les régions de mémoire dont la taille totale est supérieure à 16 Go. Suivez les instructions publiées dans l’article 1010789 de la base de connaissances VMware pour activer les périphériques de transfert sous vSphere. En règle générale, les cartes qui nécessitent un mappage de mémoire supérieur à 16 Go sont des cartes haut de gamme. Vous devez suivre les instructions de cet article pour les activer en mode Transfert au sein d’une machine virtuelle.
 

BIOS hôte

La configuration de votre BIOS hôte doit prendre en charge les grandes régions de mémoire requises par ces périphériques PCI haut de gamme. Pour ce faire, recherchez le paramètre « Memory mapped I/O above 4GB » dans le BIOS hôte et activez-le.

MMIO.png


Système d’exploitation invité 

Remarque : ces paramètres sont nécessaires uniquement si vous définissez le mode de démarrage du BIOS sur UEFI, si son mode Hérité ou BIOS vous permet d’ignorer les paramètres ci-dessous.

Pour accéder à ces mappages de mémoire volumineux, connectez-vous au système d’exploitation invité du site VMware Guest OS must boot with EFI (Le système d’exploitation invité doit démarrer avec EFI). Autrement dit, vous devez activer EFI dans la machine virtuelle, puis effectuer une installation EFI du système d’exploitation invité.
 

Modification de la disponibilité des périphériques PCI sur le serveur hôte

Un processeur graphique compatible PCI installé est initialement reconnu par l’hyperviseur vSphere au démarrage du serveur, sans qu’il ne soit nécessaire d’installer des pilotes spécifiques sur l’hyperviseur.

vSphere reconnaît tous les périphériques PCI de cette manière. Vous pouvez afficher la liste des périphériques PCI qui se trouvent dans l’outil vSphere Client en choisissant le serveur hôte sur lequel vous travaillez et en suivant les choix de menu.

Configurez « > Hardware » > « PCI Devices » > « Edit » pour afficher la liste, comme illustré dans un exemple de la Figure 2 ci-dessous.

Si le périphérique de processeur graphique particulier n’a pas été précédemment activé pour DirectPath I/O, vous pouvez placer le périphérique de processeur graphique en mode Direct Path I/O (transfert) en cochant la case sur l’entrée de périphérique, comme illustré dans l’exemple de périphérique NVIDIA.

image.png


Activation des périphériques haut de gamme dans le fichier de machine virtuelle

Une fois les exigences ci-dessus satisfaites, vous devez ajouter deux entrées au fichier VMX de la machine virtuelle, soit en modifiant le fichier directement soit en utilisant vSphere Client pour ajouter ces fonctionnalités. La première entrée est la suivante :

pciPassthru.use64bitMMIO="TRUE"

Pour spécifier la deuxième entrée, un calcul simple est nécessaire. Additionnez les tailles de mémoire de tous les processeurs graphiques(*) que vous avez l’intention de transmettre à la machine virtuelle, puis arrondissez à la puissance de deux suivante. Par exemple, pour utiliser le transfert avec 4 périphériques A2 de 16 Go, la valeur doit être la suivante : 32 + 32 = 64, arrondie à la puissance de deux suivante, c’est-à-dire 128. Utilisez cette valeur dans la deuxième entrée :

pciPassthru.64bitMMIOSizeGB="128"

Une fois ces deux modifications apportées au fichier VMX, suivez les instructions vSphere standard de l’article 1010789 de la base de connaissances VMware pour activer les périphériques de transfert au niveau de l’hôte et spécifier les périphériques devant être transmis à votre machine virtuelle. La machine virtuelle doit maintenant démarrer correctement avec votre périphériques en mode Transfert.
 

Activation des périphériques haut de gamme dans l’interface utilisateur

Dans vSphere Client, choisissez à nouveau la machine virtuelle et utilisez les options.

Edit Settings > VM Options >Advanced > Configuration Parameters > Edit Configuration » pour accéder à la liste des options PCI affichées ci-dessous.

image.png


Nous utilisons une approche simple pour calculer la valeur du paramètre « 64bitMMIOSizeGB ». Comptez le nombre de processeurs graphiques PCI haut de gamme que vous souhaitez transmettre à cette machine virtuelle. Il peut s’agir d’un ou de plusieurs processeurs graphiques. Multipliez ce nombre par 16 et arrondissez-le à la puissance de deux suivante.

Par exemple, pour utiliser le mode Transfert avec deux processeurs graphiques dans une machine virtuelle, la valeur serait la suivante : 4 * 16 = 64, arrondie à la puissance de deux suivante pour donner 128.
 

Attribution d’un processeur graphique à une machine virtuelle

Dans cette section, nous vous expliquons comment attribuer un processeur graphique à la machine virtuelle. Mettez la machine virtuelle hors tension avant de lui attribuer le processeur graphique.

Pour activer l’accès d’une machine virtuelle à un périphérique PCI, dans vSphere Client, sélectionnez la machine virtuelle, utilisez l’option « Edit Settings » (Modifier les paramètres) et faites défiler l’écran vers le bas jusqu’à la liste des périphériques PCI. Si votre périphérique n’y figure pas déjà, utilisez le bouton « Add New Device » (Ajouter un nouveau périphérique) pour l’ajouter à la liste. Une fois le périphérique ajouté, les paramètres de votre machine virtuelle doivent être similaires à ceux illustrés à la Figure 7. Dans cet exemple, l’entrée pertinente est « PCI Device 0 ».

image.png


Réservation de mémoire

Lorsque le périphérique PCI est attribué à une machine virtuelle, la machine virtuelle doit disposer d’une réservation de mémoire pour la taille de mémoire entièrement configurée de la machine virtuelle. Cette opération s’effectue dans le client vSphere en choisissant la machine virtuelle, à l’aide de « Edit Settings > Virtual Hardware > Memory » pour accéder à la valeur et la modifier dans la zone Reservation.

Enfin, mettez la machine virtuelle sous tension. Après avoir mis la machine virtuelle sous tension, connectez-vous au système d’exploitation invité et vérifiez que le processeur graphique est présent.

  • Sur une machine virtuelle Linux, utilisez la commande
"lspci | grep nvidia"

ou

  • Sur un système d’exploitation Windows, utilisez le « Gestionnaire de périphériques » du Panneau de configuration pour connaître les processeurs graphiques disponibles.


Le processeur graphique est maintenant prêt à être utilisé par l’application en mode Transfert.

Additional Information

Dépannage

Si vous avez suivi les instructions ci-dessus et que votre machine virtuelle ne démarre toujours pas correctement avec les périphériques activés, consultez cette section. Si vous avez suivi les suggestions ci-dessous et que vous rencontrez toujours des problèmes, contactez-nous afin que nous puissions vous aider.
 

Problème de mappage :
Si une erreur similaire à celle-ci s’affiche dans le fichier vmware.log de la machine virtuelle :

1 I120 : PCIPassthru: 0000:82:00.0 : Device BAR 0 requested 64-bit memory address that exceeded MPN type (62105227100160)

Vos paramètres de BIOS ne répondent pas aux exigences ESXi pour l’activation de ce type de périphérique de transfert. Pour utiliser ESXi 6.0 p4 via ESXi 6.5, la mémoire mappée pour les périphériques PCI doit être inférieure à 16 To. Vous pouvez contourner ce problème à condition que votre BIOS vous permette de contrôler le niveau de mappage des régions de mémoire PCI dans d’espace d’adressage de la mémoire. Certains fabricants, dont SuperMicro, disposent d’options de BIOS permettant de modifier le niveau de mappage de cette mémoire. Sur les systèmes SuperMicro, il est possible de modifier la valeur par défaut de 56 To du paramètre MMIOHBase en sélectionnant une valeur plus basse. Les systèmes Sugon possèdent également un paramètre BIOS similaire (masqué). Contactez le fournisseur de votre système pour vérifier si votre BIOS prend en charge cette fonctionnalité de remappage. Une autre solution consiste à mettre à jour votre ESXi vers la version 6.5 u1 ou une version ultérieure, ce qui supprime la limite de 16 To.

Configuration incorrecte :
L’erreur suivante est consignée dans le fichier vmware.log :

1 2016-07-07T09:18:37.624Z| vmx| I120: PCIPassthru: total number of pages needed (2097186) exceeds limit (917504), failing

Cette erreur indique que vous n’avez pas correctement activé les mappages « supérieurs à 4 Go » dans votre BIOS hôte, conformément aux instructions de la rubrique « BIOS hôte » ci-dessus, ou que vous n’avez pas correctement spécifié les entrées VMX.

Impossible d’utiliser le périphérique :
Si vous avez suivi toutes les instructions ci-dessus et que votre machine virtuelle a démarré correctement, mais qu’un message similaire au suivant s’affiche lors de l’exécution de l’utilitaire nvidia-smi dans votre système d’exploitation invité :

1 Unable to determine the device handle for GPU 0000:13:00.0: Unknown Error

Nous vous suggérons de contacter Nvidia directement ou d’effectuer une recherche sur Internet à l’aide de cette chaîne pour trouver des informations supplémentaires susceptibles de vous aider.

Article Properties


Affected Product

Servers, PowerEdge

Last Published Date

15 Dec 2022

Version

4

Article Type

How To