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: Błąd „Module 'DevicePowerOn' power on failed” przy przekazywaniu PCI podczas korzystania z GPU z maszynami wirtualnymi w oprogramowaniu vSphere

Summary: Maszyna wirtualna nie włącza się po skonfigurowaniu przekazywania urządzenia PCI na hoście ESXi i dodaniu urządzenia do maszyny wirtualnej. Zatrzymuje się na poziomie 80%, a następnie pojawia się błąd 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


Uwagi wstępne

System BIOS hosta musi być prawidłowo skonfigurowany w celu włączenia GPU Nvidia do przekazywania, a maszyna wirtualna przeznaczona do uruchamiania tych przyspieszonych obciążeń roboczych musi spełniać określone wymagania. W tej sekcji opisano wszystkie te wymagania.

Które urządzenia?

Ten artykuł ma zastosowanie tylko wtedy, gdy urządzenie PCI mapuje regiony pamięci, których rozmiar przekracza 16 GB. Postępuj zgodnie z opublikowanymi instrukcjami artykułu 1010789 bazy wiedzy VMware, aby włączyć przekazywanie urządzeń w oprogramowaniu vSphere. Z reguły karty wymagające ponad 16 GB mapowania pamięci to karty klasy wyższej. Postępuj zgodnie z instrukcjami zawartymi w tym artykule, aby umożliwić korzystanie z nich w trybie przekazywania w maszynie wirtualnej.
 

System BIOS hosta

System BIOS hosta musi być skonfigurowany do obsługi dużych regionów pamięci wymaganych przez te urządzenia PCI klasy wyższej. Aby włączyć tę funkcję, znajdź ustawienie systemu BIOS hosta dla opcji „odwzorowane w pamięci we/wy powyżej 4 GB” i włącz je.

MMIO.png


System operacyjny gościa 

Uwaga: ustawienia te są potrzebne tylko wtedy, gdy tryb rozruchu systemu BIOS jest ustawiony na UEFI, a jeśli to tryb Legacy lub BIOS, można zignorować poniższe.

Aby uzyskać dostęp do tych dużych mapowań pamięci, należy połączyć się z witryną VMwareSystem operacyjny gościa musi się uruchomić z EFI. Oznacza to, że należy włączyć EFI w maszynie wirtualnej, a następnie przeprowadzić instalację EFI systemu operacyjnego gościa.
 

Edytowanie dostępności urządzeń PCI na serwerze hosta

Zainstalowane urządzenie sprzętowe GPU zgodne z PCI jest początkowo rozpoznawane przez monitor maszyn wirtualnych vSphere podczas rozruchu serwera bez żadnych sterowników zainstalowanych w monitorze maszyny wirtualnej.

vSphere rozpoznaje w ten sposób wszystkie urządzenia PCI. Listę urządzeń PCI, które znajdują się w narzędziu vSphere Client, można wyświetlić, wybierając konkretny serwer hosta, na którym pracujesz, a następnie postępując zgodnie z opcjami wyświetlanymi w menu".

"Configure" > "Hardware" > "PCI Devices" > "Edit", aby wyświetlić listę, jak pokazano w przykładzie na rysunku 2 poniżej.

Jeśli dane urządzenie GPU nie zostało wcześniej włączone dla DirectPath I/O, możesz umieścić urządzenie GPU w trybie Direct Path I/O (passthrough), klikając pole wyboru we wpisie urządzenia, jak pokazano w przykładzie urządzenia NVIDIA.

image.png


Włączanie urządzeń klasy wyższej w pliku maszyny wirtualnej

Po spełnieniu powyższych wymagań do pliku VMX maszyny wirtualnej należy dodać dwa wpisy, modyfikując plik bezpośrednio lub używając klienta vSphere w celu dodania tych możliwości. Pierwszy wpis to:

pciPassthru.use64bitMMIO="TRUE"

Określenie drugiego wpisu wymaga prostej kalkulacji. Podsumuj rozmiary pamięci GPU wszystkich urządzeń GPU(*), które mają być przekazywane do maszyny wirtualnej, a następnie zaokrąglij do kolejnej potęgi dwójki. Na przykład, aby użyć przekazywania z 4 urządzeniami A2 16 GB, wartość powinna być następująca: 32 + 32 = 64, zaokrąglone do kolejnej potęgi dwójki z wynikiem 128. Użyj tej wartości w drugim wpisie:

pciPassthru.64bitMMIOSizeGB="128"

W przypadku tych dwóch zmian w pliku VMX postępuj zgodnie ze standardowymi instrukcjami vSphere artykułu 1010789 bazy wiedzy VMware, aby włączyć przekazywanie urządzeń na poziomie hosta i określić, które urządzenia powinny być przekazywane do maszyny wirtualnej. Maszyna wirtualna powinna teraz poprawnie uruchomić się z urządzeniem w trybie przekazywania.
 

Włączanie urządzeń klasy wyższej w interfejsie użytkownika

Ponownie w kliencie vSphere Client wybierz maszynę wirtualną i skorzystaj z opcji".

Edytuj ustawienia Opcje >>maszyny wirtualnej Zaawansowane > parametry > konfiguracji Edytuj konfigurację", aby przejść do listy opcji związanych z interfejsem PCI przedstawionej poniżej.

image.png


Obliczamy wartość parametru „64bitMMIOSizeGB” przy użyciu prostego podejścia. Policz liczbę urządzeń GPU PCI klasy wyższej, które mają być przekazywane do tej maszyny wirtualnej. Może to być jedno lub więcej urządzeń GPU. Pomnóż tę liczbę razy 16 i zaokrąglij ją do kolejnej potęgi dwójki.

Na przykład, aby użyć trybu przekazywania z dwoma urządzeniami GPU w jednej maszynie wirtualnej, wartość powinna być następująca: 4 * 16 = 64, zaokrąglone do kolejnej potęgi dwójki, co daje 128.
 

Przypisywanie urządzenia GPU do maszyny wirtualnej

W tej sekcji opisano przypisanie urządzenia GPU do maszyny wirtualnej. Wyłącz maszynę wirtualną przed przypisaniem do niej urządzenia GPU.

Aby włączyć dostęp maszyny wirtualnej do urządzenia PCI, w kliencie vSphere wybierz maszynę wirtualną, użyj opcji „Edit Settings” i przewiń w dół do listy urządzeń PCI. Jeśli urządzenie nie znajduje się jeszcze na liście, użyj przycisku „Add New Device”, aby dodać je do listy. Po dodaniu, ustawienia maszyny wirtualnej powinny wyglądać podobnie do tych przedstawionych na rysunku 7. W tym przykładzie odpowiednim wpisem jest „PCI Device 0”.

image.png


Rezerwacja pamięci

Po przypisaniu urządzenia PCI do maszyny wirtualnej, maszyna wirtualna musi mieć rezerwację pamięci dla pełnego skonfigurowanego rozmiaru pamięci maszyny wirtualnej. Odbywa się to w kliencie vSphere poprzez wybranie maszyny wirtualnej za pomocą polecenia "Edit Settings > Virtual Hardware > Memory" w celu uzyskania dostępu i zmiany wartości w obszarze Reservation.

Na koniec włącz maszynę wirtualną. Po włączeniu maszyny wirtualnej zaloguj się do systemu operacyjnego gościa i sprawdź, czy karta GPU jest obecna.

  • W maszynie wirtualnej Linux użyj polecenia
"lspci | grep nvidia"

Lub

  • W systemie operacyjnym Windows użyj „Menedżera urządzeń” w Panelu sterowania, aby sprawdzić dostępne urządzenia GPU


Urządzenie GPU jest teraz gotowe do użytku w trybie przekazywania aplikacji.

Additional Information

Rozwiązywanie problemów

Jeśli użytkownik postępował zgodnie z powyższymi instrukcjami, a maszyna wirtualna nadal nie uruchamia się prawidłowo z włączonymi urządzeniami, pomocne mogą być materiały zawarte w tej sekcji. Jeśli po wypróbowaniu poniższych sugestii nadal występują problemy, skontaktuj się z nami.
 

Problem z mapowaniem:
w przypadku wyświetlenia błędu podobnego do poniższego w pliku vmware.log maszyny wirtualnej:

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

Ustawienia systemu BIOS nie spełniają wymagań oprogramowania ESXi dotyczących włączania tego typu urządzenia przekazywania. ESXi 6.0 p4 do ESXi 6.5 wymaga, aby pamięć zmapowana dla urządzeń PCI była poniżej 16 TB. Może być możliwe obejście tego problemu, jeśli system BIOS obsługuje możliwość kontrolowania wysokości mapowania regionów pamięci PCI w przestrzeni adresu pamięci hosta. Niektórzy producenci, np. SuperMicro, mają opcje systemu BIOS, które umożliwiają zmianę wysokości mapowania tej pamięci. W systemach SuperMicro parametr MMIOHBase można zmienić na wartość niższą niż domyślna 56 TB. Systemy Sugon również mają podobne (ukryte) ustawienie systemu BIOS. Skontaktuj się z dostawcą systemu, aby dowiedzieć się, czy system BIOS obsługuje tę funkcję ponownego mapowania. Innym rozwiązaniem jest aktualizacja systemu ESXi do wersji 6.5 u1 lub nowszej, która usunęła ograniczenie 16 TB.

Nieprawidłowa konfiguracja:
błąd w pliku vmware.log w następującej postaci:

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

Oznacza, że w systemie BIOS hosta nie włączono prawidłowo mapowań „powyżej 4 GB” zgodnie z opisem w powyższej sekcji „Host BIOS” lub nie określono prawidłowo wpisów VMX.

Nie można korzystać z urządzenia:
jeśli po wykonaniu wszystkich powyższych instrukcji maszyna wirtualna uruchomiła się prawidłowo, ale podczas uruchamiania narzędzia nvidia-smi w systemie operacyjnym gościa wyświetlany jest komunikat podobny do następującego:

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

Zalecamy bezpośredni kontakt z firmą Nvidia lub przeprowadzenie wyszukiwania w Internecie za pomocą tego ciągu znaków w celu znalezienia dodatkowych informacji, które mogą być pomocne.

Article Properties


Affected Product

Servers, PowerEdge

Last Published Date

15 Dec 2022

Version

4

Article Type

How To