PowerEdge: PCI-Passthrough "Einschalten des Moduls DevicePowerOn fehlgeschlagen" bei Verwendung von GPUs mit virtuellen Maschinen auf vSphere

Summary: Die VM wird nach der Konfiguration des PCI-Geräte-Passthrough auf dem ESXi-Host und dem Hinzufügen des Geräts zur VM nicht eingeschaltet. Es bleibt bei 80 % hängen und führt dann zu einem Fehler "Die Gesamtzahl der benötigten Seiten (4206594) überschreitet das Limit (917504)". ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

Fehlermeldung
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.
 

Screenshot des PCI-Fehlers


Vorbereitungen

Das Host-BIOS muss korrekt konfiguriert sein, um die NVIDIA-GPU für Passthrough zu aktivieren, und die virtuelle Maschine, die diese beschleunigten Workloads ausführen soll, muss bestimmte Anforderungen erfüllen. In diesem Abschnitt werden alle diese Anforderungen beschrieben.


Betroffene Geräte

Dieser Artikel ist nur relevant, wenn Ihrem PCI-Gerät Arbeitsspeicherregionen von insgesamt mehr als 16 GB zugeordnet sind. Befolgen Sie die in VMware KB 1010789 veröffentlichten AnweisungenDieser Hyperlink führt Sie zu einer Website außerhalb von Dell Technologies. zum Aktivieren von Passthrough-Geräten unter vSphere. In der Regel sind Karten mit einer erforderlichen Speicherzuordnung von mehr als 16 GB High-End-Karten. Es wird empfohlen, die Weisungen in diesem Artikel zu befolgen, um sie für die Verwendung im Passthrough-Modus innerhalb einer virtuellen Maschine zu aktivieren.


Host-BIOS

Das Host-BIOS muss so konfiguriert sein, dass es die großen Arbeitsspeicherbereiche unterstützt, die von diesen High-End-PCI-Geräten benötigt werden. Um dies zu aktivieren, suchen Sie die Host-BIOS-Einstellung für „Memory Mapped I/O above 4 GB“ und aktivieren Sie sie.

Speicherzuordnung in den integrierten Geräten in den System-BIOS-Einstellungen


Hinweis: Diese Option ist bei 16G nicht verfügbar, aber standardmäßig ist sie aktiviert und Sie können einer VM 48 GB GPU im Passthrough zuweisen.


Gastbetriebssystem

Hinweis: Diese Einstellungen werden nur benötigt, wenn der BIOS-Startmodus auf UEFI eingestellt ist. Wenn es sich um den Legacy- oder BIOS-Modus handelt, können Sie die folgenden Informationen ignorieren.

Um auf diese großen Speicherzuordnungen zuzugreifen, stellen Sie eine Verbindung zum VMware-Standort her. Das Gastbetriebssystem muss mit EFIDieser Hyperlink führt Sie zu einer Website außerhalb von Dell Technologies.gestartet werden. Das heißt, Sie müssen EFI in der VM aktivieren und dann eine EFI-Installation des Gastbetriebssystems durchführen.
 

PCI-Geräteverfügbarkeit auf dem Hostserver bearbeiten

Ein installiertes PCI-kompatibles GPU-Hardwaregerät wird anfänglich vom vSphere-Hypervisor beim Serverstart erkannt, ohne dass bestimmte Treiber im Hypervisor installiert sind.

vSphere erkennt alle PCI-Geräte auf diese Weise. Sie können die Liste der PCI-Geräte im vSphere Client-Tool anzeigen, indem Sie den Hostserver auswählen, auf dem Sie arbeiten, und die Menüoptionen befolgen: Konfigurieren >Hardware >PCI-Geräte >Bearbeiten, um die Liste anzuzeigen, wie im Beispiel in Abbildung 2 unten zu sehen.

Wenn das jeweilige GPU-Gerät zuvor nicht für DirectPath-I/O aktiviert wurde, können Sie das GPU-Gerät in den Direct Path-I/O-Modus (Passthrough) versetzen, indem Sie auf das Kontrollkästchen des Geräteeintrags klicken, wie im Beispiel mit dem NVIDIA-Gerät zu sehen ist.

Bearbeiten der PCI-Geräteverfügbarkeit im Betriebssystem


Aktivieren von High-End-Geräten in VM-Datei

Wenn die oben genannten Anforderungen erfüllt sind, müssen der VMX-Datei zwei Einträge hinzugefügt werden, entweder durch direktes Ändern der Datei oder durch Verwendung des vSphere-Clients, um diese Funktionen hinzuzufügen. Der erste Eintrag lautet:

pciPassthru.use64bitMMIO="TRUE"

Die Angabe des zweiten Eintrags erfordert eine einfache Berechnung. Addieren Sie die GPU-Speichergrößen aller GPU-Geräte(*), die Sie an die VM übergeben möchten, und runden Sie dann auf die nächste Zweierpotenz auf. Um beispielsweise Passthrough mit 4 16-GB-A2-Geräten zu verwenden, wäre der Wert: 32 + 32 = 64, aufgerundet auf die nächste Zweierpotenz lautet das Ergebnis 128. Verwenden Sie diesen Wert im zweiten Eintrag:

pciPassthru.64bitMMIOSizeGB="128"

Befolgen Sie bei diesen beiden Änderungen an der VMX-Datei den VMware-Wissensdatenbank- 1010789 vSphere-StandardanweisungenDieser Hyperlink führt Sie zu einer Website außerhalb von Dell Technologies. zum Aktivieren von Passthrough-Geräten auf Hostebene und zum Angeben, welche Geräte an Ihre VM übergeben werden sollen. Die VM sollte jetzt korrekt mit Ihrem Gerät im Passthrough-Modus gestartet werden.
 

Aktivieren von High-End-Geräten in der Benutzeroberfläche

Wählen Sie im vSphere Client erneut die virtuelle Maschine aus und verwenden Sie die folgenden Optionen: Einstellungen> bearbeiten VM-OptionenFortgeschritten>Konfigurationsparameter>Bearbeiten Sie die Konfiguration, um zur unten gezeigten Liste der PCI-bezogenen Optionen zu gelangen.

Seite

Wir ermitteln den Wert des Parameters „64bitMMIOSizeGB“ mithilfe einer einfachen Rechnung. Zählen Sie die Anzahl der High-End-PCI-GPU-Geräte, die Sie an diese VM übergeben möchten. Dabei kann es sich um eine oder mehrere GPUs handeln. Multiplizieren Sie diese Zahl mit 16 und runden Sie sie auf die nächste Zweierpotenz auf.

Um beispielsweise den Passthrough-Modus mit zwei GPU-Geräten in einer VM zu verwenden, wäre der Wert: 4 × 16 = 64, aufgerundet auf die nächste Zweierpotenz ergibt das 128.
 

Zuweisen eines GPU-Geräts zu einer virtuellen Maschine

In diesem Abschnitt wird die Zuweisung des GPU-Geräts zur VM beschrieben. Schalten Sie die virtuelle Maschine aus, bevor Sie ihr das GPU-Gerät zuweisen.

Um einer virtuellen Maschine den Zugriff auf ein PCI-Gerät zu ermöglichen, wählen Sie im vSphere Client die virtuelle Maschine aus, verwenden Sie die Option Edit Settings und scrollen Sie nach unten zur Liste PCI Device. Wenn Ihr Gerät dort noch nicht aufgeführt ist, verwenden Sie die Schaltfläche Neues Gerät hinzufügen, um es zur Liste hinzuzufügen. Nach dem Hinzufügen sollten ihre Einstellungen für die virtuelle Maschine ähnlich aussehen wie in Abbildung 7. In diesem Beispiel ist der relevante Eintrag PCI Device 0.

Screenshot mit dem neu hinzugefügten Gerät


Arbeitsspeicherreservierung

Wenn das PCI-Gerät einer VM zugewiesen ist, muss die virtuelle Maschine über eine Arbeitsspeicherreservierung für die vollständig konfigurierte Arbeitsspeichergröße für die VM verfügen. Dies erfolgt im vSphere-Client, indem Sie die VM auswählen und über Edit Settings>Virtual Hardware>Memory auf den Wert im Bereich Reservation zugreifen und diesen ändern.

Schalten Sie schließlich die virtuelle Maschine ein. Melden Sie sich nach dem Einschalten der virtuellen Maschine beim Gastbetriebssystem an und überprüfen Sie mithilfe der Befehle, ob die GPU-Karte vorhanden ist:

  • Verwenden Sie auf einer virtuellen Linux-Maschine den Befehl:
"lspci | grep nvidia"
  • Verwenden Sie auf einem Windows-Betriebssystem den Geräte-Manager in der Systemsteuerung , um die verfügbaren GPU-Geräte zu überprüfen

Die GPU ist jetzt für die Anwendungsnutzung im Passthrough-Modus bereit.

Additional Information

Troubleshooting

Wenn Sie die obigen Weisungen befolgt haben und Ihre VM immer noch nicht ordnungsgemäß startet, wenn die Geräte aktiviert sind, können die Informationen in diesem Abschnitt hilfreich sein. Wenn Sie die folgenden Vorschläge ausprobiert haben und weiterhin Probleme haben, kontaktieren Sie uns und wir können Ihnen helfen.

Zuordnungsproblem:
Wenn in der vmware.log Datei der VM ein Fehler ähnlich dem folgenden angezeigt wird:

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

Ihre BIOS-Einstellungen erfüllen nicht die ESXi-Anforderungen an die Aktivierung dieser Art von Passthrough-Gerät. ESXi 6.0 p4 bis ESXi 6.5 erfordert, dass der PCI-Geräten zugeordnete Arbeitsspeicher jeweils unter 16 TB liegt. Dieses Problem kann umgangen werden, wenn Ihr BIOS eine Steuerungsmöglichkeit dafür unterstützt, wie hoch der Arbeitsspeicher-Adressraum des Hosts ist, dem PCI-Arbeitsspeicherbereiche zugeordnet werden. Einige Hersteller wie SuperMicro bieten beispielsweise BIOS-Optionen, um zu ändern, wie hoch dieser Arbeitsspeicher zugeordnet wird. Auf SuperMicro-Systemen kann der MMIOHBase-Parameter von seinem Standardwert von 56 TB auf einen niedrigeren Wert geändert werden. Sugon-Systeme verfügen auch über eine ähnliche (ausgeblendete) BIOS-Einstellung. Wenden Sie sich an Ihren Systemanbieter, um zu erfahren, ob Ihr BIOS diese Neuzuordnungsfunktion unterstützt. Eine weitere Lösung besteht darin, Ihre ESXi-Version auf 6.5 u1 oder höher zu aktualisieren, wo die Einschränkung auf 16 TB entfernt wurde.

Falsche Konfiguration:
In der Datei vmware.log ist ein Fehler in der folgenden Form zu finden:

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

Zeigt an, dass Sie mehr als 4 GB-Zuordnungen in Ihrem Host-BIOS nicht korrekt aktiviert haben, wie im Abschnitt Host-BIOS oben beschrieben, oder die VMX-Einträge nicht korrekt angegeben haben.

Gerät kann nicht verwendet werden:
Wenn Sie alle oben genannten Anweisungen befolgt haben und Ihre VM ordnungsgemäß gestartet wurde, aber eine Meldung ähnlich der folgenden angezeigt wird, wenn Sie den Befehl nvidia-smi Dienstprogramm in Ihrem Gastbetriebssystem:

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

Wir empfehlen, sich direkt an NVIDIA zu wenden oder eine Websuche mit dieser Zeichenfolge durchzuführen, um zusätzliche Informationen zu finden, die möglicherweise hilfreich sind.

Affected Products

VMware ESXi 8.x

Products

C Series, HS Series, Modular Infrastructure, Rack Servers, Tower Servers, XE Servers, XR Servers, OEM Server Solutions
Article Properties
Article Number: 000199172
Article Type: How To
Last Modified: 17 Jan 2025
Version:  7
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.