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: PCI-Passthrough „Einschalten des Moduls DevicePowerOn ist 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. Der Vorgang bleibt bei 80 % hängen und führt dann zu einem Fehler. 2022-04-22T03:04:15.771Z| vmx| | I005: PCIPassthru: Gesamtzahl der benötigten Seiten (4206594) überschreitet das Limit (917504), Fehler. 2022-04-22T03:04:15.771Z| vmx| | I005: Das Einschalten des Moduls „DevicePowerOn“ ist fehlgeschlagen. ...

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


Vorbereitungen

Das Host-BIOS muss korrekt konfiguriert sein, um für eine Nvidia-Grafikkarte Passthrough zu aktivieren, und die virtuelle Maschine zur Ausführung dieser beschleunigten Workloads 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 veröffentlichten Weisungen im VMware-Wissensdatenbankartikel 1010789, um Passthrough-Geräte unter vSphere zu aktivieren. 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.

MMIO.png


Gastbetriebssystem 

Hinweis: Diese Einstellungen sind nur erforderlich, wenn der BIOS-Startmodus auf UEFI eingestellt ist. Im Legacy- oder BIOS-Modus können Sie das unten genannte ignorieren.

Um auf diese großen Speicherzuordnungen zuzugreifen, muss die Verbindung zum Gastbetriebssystem des VMware-Standort mit EFI 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 Host-Server auswählen, auf dem Sie arbeiten, und die Menüoptionen befolgen.

" Configure", > "Hardware", > "PCI Devices", > "Edit", um die Liste anzuzeigen, wie in einem Beispiel in Abbildung 2 unten dargestellt.

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.

image.png


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-Wissensdatenbankartikel 1010789 vSphere-Standardanweisungen zum Aktivieren von Passthrough-Geräten auf Hostebene und zur Angabe, 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 Optionen."

Edit Settings > VM Options >Advanced > Configuration Parameters > Edit Configuration", um zur Liste der unten gezeigten PCI-bezogenen Optionen zu gelangen.

image.png


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 den Zugriff einer virtuellen Maschine auf ein PCI-Gerät zu aktivieren, wählen Sie im vSphere-Client die virtuelle Maschine aus, verwenden Sie die Option „Edit Settings“ und scrollen Sie nach unten zur Liste der PCI-Geräte. Wenn Ihr Gerät nicht bereits dort aufgeführt ist, verwenden Sie die Schaltfläche „Add New Device“, 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 lautet der relevante Eintrag „PCI Device 0“.

image.png


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 mit "Edit Settings Virtual > Hardware > Memory" auf den Wert im Bereich Reservation zugreifen und ihn ä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, ob die GPU-Karte vorhanden ist.

  • Verwenden Sie auf einer virtuellen Linux-Maschine den Befehl
"lspci | grep nvidia"

Oder

  • 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 nachstehenden Vorschläge ausprobiert und weiterhin Probleme haben, kontaktieren Sie uns und wir helfen Ihnen.
 

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

1 I120: PCIPassthru: 0000:82:00.0: Geräte BAR 0 hat eine 64-Bit-Speicheradresse angefordert, die den MPN-Typ überschritten hat (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: Gesamtzahl der benötigten Seiten (2097186) überschreitet das Limit (917504), Fehler.

Dies zeigt an, dass Sie Zuordnungen „über 4 GB“ in Ihrem Host-BIOS nicht wie oben im Abschnitt „Host-BIOS“ beschrieben aktiviert haben oder dass die VMX-Einträge nicht korrekt angegeben wurden.

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

1 Der Geräte-Handle für GPU 0000:13:00.0 kann nicht ermittelt werden: Unknown Error

In diesem Fall wird empfohlen, Nvidia direkt zu kontaktieren oder eine Websuche mit dieser Zeichenfolge durchzuführen, um zusätzliche, möglicherweise hilfreiche Informationen zu finden.

Article Properties


Affected Product

Servers, PowerEdge

Last Published Date

15 Dec 2022

Version

4

Article Type

How To