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: Erro de passagem da PCI "Module 'DevicePowerOn' power on failed" ao usar GPUs com máquinas virtuais no vSphere

Summary: A VM não é ativada após a configuração da passagem do dispositivo PCI no host do ESXi e adição do dispositivo à VM. Ela fica travada em 80% e, em seguida, resulta em um erro 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


Preliminares

O BIOS do host deve ser configurado corretamente para habilitar a GPU NVIDIA como passagem, e a máquina virtual destinada a executar essas cargas de trabalho aceleradas deve atender a requisitos específicos. Esta seção descreve todos esses requisitos.

Quais dispositivos?

Este artigo só é relevante se o dispositivo PCI mapear regiões de memória cujos tamanhos totalizam mais de 16 GB. Siga as instruções publicadas na KB da VMware 1010789 para habilitar dispositivos de passagem no vSphere. Como regra, as placas que exigem mais de 16 GB de mapeamento de memória são placas de alto nível. Você deve seguir as instruções deste artigo para habilitá-las para uso no modo de passagem em uma máquina virtual.
 

BIOS do host

O BIOS do host deve ser configurado para dar suporte às grandes regiões de memória necessárias para esses dispositivos PCI de alto nível. Para ativar isso, localize a configuração do BIOS do host para "Memory mapped I/O above 4 GB" e ative-a.

MMIO.png


Sistema operacional convidado 

Nota: Essas configurações serão necessárias somente se o modo de inicialização do BIOS estiver definido como UEFI, se o modo Legacy ou BIOS for ignorado.

Para acessar esses mapeamentos de memória grandes, conecte-se ao local da VMware Guest OS must boot with EFI. Ou seja, você deve habilitar o EFI na VM e, em seguida, fazer uma instalação EFI do sistema operacional convidado.
 

Como editar a disponibilidade do dispositivo PCI no servidor host

Um dispositivo de hardware de GPU compatível com PCI instalado é reconhecido inicialmente pelo hypervisor vSphere no momento da inicialização do servidor sem ter drivers específicos instalados no hypervisor.

O vSphere reconhece todos os dispositivos PCI dessa forma. Você pode ver a lista de dispositivos PCI encontrados na ferramenta vSphere Client escolhendo o servidor host específico no qual está trabalhando e seguindo as opções do menu."

Configure > "Hardware" > "PCI Devices" > "Edit" para ver a lista, como visto em um exemplo na Figura 2 abaixo.

Se o dispositivo de GPU específico não tiver sido habilitado anteriormente para o DirectPath I/O, você poderá colocar o dispositivo GPU no modo de E/S de caminho direto (passagem) clicando na caixa de seleção na entrada do dispositivo, como visto no exemplo de dispositivo NVIDIA.

image.png


Como habilitar dispositivos de alto nível no arquivo da VM

Com os requisitos acima atendidos, duas entradas devem ser adicionadas ao arquivo VMX da VM, seja modificando o arquivo diretamente ou usando o vSphere Client para adicionar esses recursos. A primeira entrada é:

pciPassthru.use64bitMMIO="TRUE"

Especificar a segunda entrada requer um cálculo simples. Somar os tamanhos de memória da GPU de todos os dispositivos de GPU(*) que você pretende passar para a VM e, em seguida, arredondar para a próxima potência de dois. Por exemplo, para usar a passagem com 4 dispositivos A2 de 16 GB, o valor seria: 32 + 32 = 64, arredondado para a próxima potência de dois para produzir 128. Use esse valor na segunda entrada:

pciPassthru.64bitMMIOSizeGB="128"

Com essas duas alterações no arquivo VMX, siga as instruções padrão do vSphere da KB da VMware 1010789 para habilitar dispositivos de passagem no nível do host e para especificar quais dispositivos devem ser passados para a VM. A VM agora deve inicializar corretamente com o dispositivo no modo de passagem.
 

Como habilitar dispositivos de alto nível na interface do usuário

No vSphere Client novamente, escolha a máquina virtual e use as opções.

" Edit Settings > VM Options >Advanced > Configuration Parameters > Edit Configuration" para chegar à lista de opções relacionadas a PCI mostrada abaixo.

image.png


Calculamos o valor do parâmetro "64bitMMIOSizeGB" usando uma abordagem simples. Conte o número de dispositivos de GPU PCI de alto nível que você pretende transmitir para essa VM. Pode ser uma ou mais GPUs. Multiplique esse número por 16 e arredonde-o para a próxima potência de dois.

Por exemplo, para usar o modo de passagem com dois dispositivos de GPU em uma VM, o valor seria: 4 * 16 = 64, arredondado para a próxima potência de dois para dar 128.
 

Como atribuir um dispositivo de GPU a uma máquina virtual

Esta seção descreve a atribuição do dispositivo da GPU à VM. Desligue a máquina virtual antes de atribuir o dispositivo de GPU a ela.

Para habilitar o acesso de uma máquina virtual a um dispositivo PCI, no vSphere Client, selecione a máquina virtual, use a opção "Edit Settings" e role para baixo até a lista PCI Device. Se o dispositivo ainda não estiver listado, use o botão "Add New Device" para adicioná-lo à lista. Depois de adicionadas, as configurações da máquina virtual devem ser semelhantes às mostradas na Figura 7. Neste exemplo, a entrada relevante é "PCI Device 0".

image.png


Reserva de memória

Quando o dispositivo PCI é atribuído a uma VM, a máquina virtual deve ter uma reserva de memória para o tamanho da memória totalmente configurada para a VM. Isso é feito no vSphere Client escolhendo a VM, usando "Edit Settings > Virtual Hardware > Memory" para acessar e alterar o valor na área Reservation.

Por fim, ligue a máquina virtual. Depois de ativar a máquina virtual, faça log-in no sistema operacional convidado e verifique se a placa GPU está sendo utilizada.

  • Em uma máquina virtual Linux, use o comando
"lspci | grep nvidia"

Ou

  • Em um sistema operacional Windows, use o "Gerenciador de dispositivos" no Painel de controle para verificar os dispositivos GPU disponíveis


A GPU agora está pronta para uso do aplicativo no modo de passagem.

Additional Information

Solução de problemas

Se você seguiu as instruções acima e sua VM ainda não inicializa corretamente com os dispositivos ativados, o material desta seção pode ser útil. Se você tiver tentado as sugestões abaixo e ainda estiver tendo problemas, entre em contato conosco que podemos ajudá-lo.
 

Problema de mapeamento:
Se você vir um erro semelhante ao seguinte no arquivo vmware.log da VM:

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

Your BIOS settings do not meet ESXi requirements for enabling this type of passthrough device. O ESXi 6.0 p4 até o ESXi 6.5 exige que a memória mapeada para dispositivos PCI esteja abaixo de 16 TB. Talvez seja possível contornar esse problema se o BIOS for compatível com a capacidade de controlar a que altura no espaço de endereçamento de memória do host as regiões de memória PCI estão mapeadas. Alguns fabricantes como a SuperMicro, por exemplo, têm opções de BIOS para alterar a altura dessa memória mapeada. Em sistemas SuperMicro, o parâmetro MMIOHBase pode ser alterado para um valor menor a partir de seu padrão de 56 TB. Os sistemas Sugon também têm uma configuração de BIOS semelhante (oculta). Verifique com o fornecedor do sistema para saber se o BIOS é compatível com esse recurso de remapeamento. Outra solução é atualizar a versão do ESXi para a versão 6.5 u1 ou posterior, que removeu a limitação de 16 TB.

Configuração incorreta:
Um erro no arquivo vmware.log do seguinte formulário:

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

Indica que os mapeamentos não foram habilitados corretamente "acima de 4 GB" no BIOS do host, conforme descrito na seção "BIOS do Host" acima ou que as entradas do VMX não foram especificadas de maneira correta.

Não é possível usar o dispositivo:
Se você seguiu todas as instruções acima e a VM foi inicializada corretamente, mas você vê uma mensagem semelhante à seguinte ao executar o utilitário nvidia-smi em seu sistema operacional convidado:

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

Sugerimos entrar em contato diretamente com a NVIDIA ou realizar uma pesquisa na Web usando essa string para encontrar informações adicionais que possam ser úteis.

Article Properties


Affected Product

Servers, PowerEdge

Last Published Date

15 Dec 2022

Version

4

Article Type

How To