PowerEdge. Ошибка транзитного режима PCI «Module "DevicePowerOn" Power On failed» при использовании графических процессоров на виртуальных машинах в vSphere

Summary: Виртуальная машина не включается после настройки транзитного режима устройств PCI на хосте ESXi и добавления устройства в виртуальную машину. Он зависает на 80%, а затем выдает ошибку «общее количество необходимых страниц (4206594) превышает ограничение (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

Сообщение об ошибке
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.
 

Снимок экрана с ошибкой PCI


Предварительные действия

BIOS хоста необходимо правильно настроить, чтобы обеспечить транзит графического процессора NVIDIA, а виртуальная машина, предназначенная для выполнения этих ускоренных рабочих нагрузок, должна соответствовать определенным требованиям. В этом разделе описаны все эти требования.


Какие устройства?

Данная статья актуальна только в том случае, если ваше устройство PCI сопоставляет области памяти, общий размер которых превышает 16 Гбайт. Следуйте опубликованным инструкциямЭта гиперссылка позволяет перейти на сайт за пределами Dell Technologies. 1010789 базе знаний VMware, чтобы включить транзитные устройства в vSphere. Как правило, платы, для которых требуется сопоставление более 16 Гбайт памяти, это платы высшего класса. Следуйте инструкциям в этой статье, чтобы включить их для использования в режиме транзитной передачи на виртуальной машине.


BIOS хоста

Для поддержки больших областей памяти, необходимых для этих устройств PCI высшего класса, необходимо настроить BIOS хоста. Чтобы включить эту функцию, найдите параметр BIOS хоста «Memory Mapped I/O above 4 GB» и включите его.

Сопоставление памяти во встроенных устройствах в настройках BIOS системы


Примечание. Этот параметр недоступен в 16-м поколениях, но по умолчанию он активирован, и вы можете выделить 48 Гбайт графического процессора для виртуальной машины.


Гостевая ОС

Примечание. Эти параметры необходимы только в том случае, если установлен режим загрузки BIOS UEFI. Если выбран режим Legacy или BIOS, можно игнорировать приведенные ниже сведения.

Чтобы получить доступ к этим большим сопоставлениям памяти, подключитесь к сайту VMware. Гостевая ОС должна загрузиться с помощью EFIЭта гиперссылка позволяет перейти на сайт за пределами Dell Technologies.. Это означает, что на виртуальной машине необходимо включить EFI, а затем выполнить установку гостевой ОС через EFI.
 

Редактирование доступности устройств PCI на хост-сервере

Установленный физический графический процессор, совместимый с PCI, первоначально распознается гипервизором vSphere во время загрузки сервера без установки каких-либо определенных драйверов на гипервизоре.

vSphere распознает все устройства PCI таким образом. Список устройств PCI, имеющихся в инструменте vSphere Client, можно просмотреть, выбрав конкретный хост-сервер, с которым вы работаете, и следуя пунктам меню: Настроить >Скобяные изделия >Устройства > PCI Отредактируйте, чтобы увидеть список, как показано в примере на рис. 2 ниже.

Если конкретное устройство графического процессора ранее не было включено для операций ввода-вывода DirectPath, его можно перевести в режим ввода-вывода Direct Path (транзитная), установив флажок в записи устройства, как показано в примере с устройством NVIDIA.

Редактирование доступности устройств PCI в ОС


Включение устройств высшего класса в файле виртуальной машины

Если указанные выше требования выполнены, в файл VMX виртуальной машины необходимо добавить две записи, изменив файл напрямую или добавив эти возможности с помощью клиента vSphere. Первая запись:

pciPassthru.use64bitMMIO="TRUE"

Для указания второй записи требуется простой расчет. Суммируйте объем памяти графического процессора для всех графических устройств(*), которые вы собираетесь передать в виртуальную машину, а затем округлите до следующего значения, равного степени числа 2. Например, для использования транзитного подключения с 4 устройствами A2 емкостью 16 Гбайт значение будет: 32 + 32 = 64, округляем до следующего значения степени числа 2, получаем 128. Используйте это значение во второй записи:

pciPassthru.64bitMMIOSizeGB="128"

Внесите эти два изменения в файл VMX и следуйте содержащимся в статье базы знаний VMware 1010789 стандартным инструкциямЭта гиперссылка позволяет перейти на сайт за пределами Dell Technologies. по vSphere, чтобы включить транзитные устройства на уровне хоста и указать, какие устройства должны быть переданы в виртуальную машину. Теперь виртуальная машина должна правильно загружаться, когда устройство находится в транзитном режиме.
 

Включение устройств высшего класса в пользовательском интерфейсе

В клиенте vSphere Client снова выберите виртуальную машину и используйте параметры: Изменить настройки>Параметры> ВМПродвинутый>Параметры> конфигурации Отредактируйте конфигурацию, чтобы получить доступ к списку параметров, связанных с PCI, показанному ниже. 

Страница редактирования конфигурационных параметров

Мы рассчитаем значение параметра «64bitMMIOSizeGB», используя простой подход. Подсчитайте количество графических процессоров PCI высшего класса, которые вы собираетесь передать в эту виртуальную машину. Это может быть один или несколько графических процессоров. Умножьте это число на 16 и округлите его до следующего значения, равного степени числа 2.

Например, для использования транзитного режима с двумя графическими процессорами в одной виртуальной машине значение будет следующим: 4 * 16 = 64, округляем до следующего значения степени числа 2, получаем 128.
 

Назначение графического процессора виртуальной машине

В этом разделе описывается назначение графического процессора виртуальной машине. Выключите виртуальную машину, прежде чем назначать ей графический процессор.

Чтобы включить доступ виртуальной машины к устройству PCI, в клиенте vSphere выберите виртуальную машину, используйте параметр Edit Settings и прокрутите вниз до списка устройств PCI. Если устройство еще не указано в списке, используйте кнопку Добавить новое устройство, чтобы добавить его в список. После добавления настройки виртуальной машины должны выглядеть так, как показано на рис. 7. В этом примере соответствующей записью является устройство PCI Device 0.

Снимок экрана, показывающий новое добавленное устройство


Резервирование памяти

Когда устройство PCI назначено виртуальной машине, ей необходимо зарезервировать память до полного настроенного объема памяти для виртуальной машины. Для этого в клиенте vSphere Client выберите виртуальную машину и перейдите в раздел Изменить настройки>виртуальной аппаратной>памяти для доступа и изменения значения в области резервирования.

Наконец, включите виртуальную машину. После включения виртуальной машины выполните вход в гостевую ОС и проверьте наличие платы графического процессора с помощью следующих команд:

  • На виртуальной машине Linux используйте команду:
"lspci | grep nvidia"
  • В операционной системе Windows для проверки доступных графических процессоров используйте Диспетчер устройств на панели управления

Теперь графический процессор готов к работе в транзитном режиме.

Additional Information

Поиск и устранение неисправностей

Если вы следовали приведенным выше инструкциям и виртуальная машина по-прежнему не загружается должным образом при включенных устройствах, рекомендуется использовать материалы, приведенные в этом разделе. Если вы уже опробовали приведенные ниже предложения и у вас по-прежнему возникают проблемы, свяжитесь с нами, и мы поможем вам.

Проблема сопоставления:
Если в vmware.log файле виртуальной машины отображается ошибка, аналогичная следующей:

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

Настройки BIOS не соответствуют требованиям ESXi для включения транзитного устройства этого типа. Для транзита между ESXi 6.0 p4 и ESXi 6.5 требуется, чтобы объем памяти, привязанный к устройствам PCI, был ниже 16 Тбайт. Эту проблему можно решить, если BIOS поддерживает возможность управления уровнем адресного пространства памяти хоста, в котором сопоставляются области памяти PCI. Некоторые производители, например, SuperMicro, предоставляют параметры BIOS для изменения количества сопоставленной памяти. В системах SuperMicro параметр MMIOHBase можно изменить на более низкое значение, по умолчанию оно равно 56 Тбайт. Системы Sugon также имеют аналогичную (скрытую) настройку BIOS. Обратитесь к поставщику системы, чтобы узнать, поддерживает ли BIOS эту функцию переназначения. Другое решение — обновить ESXi до 6.5 u1 или более поздней версии, где убрано ограничение в 16 Тбайт.

Неправильная конфигурация.
Ошибка следующей формы в файле vmware.log:

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

Указывает на то, что в BIOS хоста неправильно включены сопоставления более 4 Гбайт , как описано в разделе «Host BIOS » выше, или неправильно указаны записи VMX.

Не удается использовать устройство:
Если вы выполнили все приведенные выше инструкции и виртуальная машина загрузилась правильно, но при запуске команды отображается сообщение, подобное следующему nvidia-smi в гостевой ОС:

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

Мы рекомендуем обратиться непосредственно в NVIDIA или выполнить поиск этой строки в Интернете, чтобы найти дополнительную информацию, которая может быть полезна.

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.