Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products

PowerEdge: PCI Passthrough "Не вдалося ввімкнути модуль 'DevicePowerOn'" під час використання графічних процесорів з віртуальними машинами на vSphere

Summary: Віртуальна машина не вмикається після налаштування передачі PCI Device на хості ESXi та додавання пристрою до віртуальної машини. Він застрягає на 80%, а потім призводить до помилки 2022-04-22T03:04:15.771Z| vmx| | І005: PCIPassthru: загальна кількість необхідних сторінок (4206594) перевищує ліміт (917504), помилка 2022-04-22T03:04:15.771Z| vmx| | І005: Не вдалося увімкнути модуль 'DevicePowerOn'. ...

This article applies to   This article does not apply to 

Instructions

PCI error.PNG


Підготовчі заходи

BIOS вашого хоста має бути правильно налаштований, щоб увімкнути графічний процесор Nvidia для передачі, а віртуальна машина, призначена для виконання цих прискорених робочих навантажень, повинна відповідати певним вимогам. У цьому розділі описані всі ці вимоги.

Які пристрої?

Ця стаття актуальна лише в тому випадку, якщо ваш пристрій PCI відображає області пам'яті, загальні розміри яких перевищують 16 ГБ. Дотримуйтесь інструкцій VMware KB 1010789 опублікованих, щоб увімкнути прохідні пристрої під vSphere. Як правило, карти, які вимагають більше 16 ГБ відображення пам'яті, є картами високого класу. Вам слід слідувати інструкціям у цій статті, щоб увімкнути їх для використання в режимі передачі у віртуальній машині.
 

BIOS хоста

BIOS вашого хоста має бути налаштований на підтримку великих областей пам'яті, необхідних для цих високоякісних пристроїв PCI. Щоб увімкнути це, знайдіть налаштування BIOS хоста для «ввід/вивід із відображенням пам'яті понад 4 ГБ» і увімкніть його.

MMIO.png

ПРИМІТКА. Ця опція недоступна на 16G, за замовчуванням вона активована, і ви повинні мати можливість виділити 48 ГБ графічного процесора для передачі на віртуальну машину.

Гостьова ОС 

Примітка: Ці настройки потрібні тільки в тому випадку, якщо у вас в режимі завантаження BIOS встановлено UEFI, якщо це режим Legacy або BIOS ви можете проігнорувати нижченаведені.

Щоб отримати доступ до цих великих відображень пам'яті, підключіться до сайту VMware Гостьова ОС повинна завантажитися з EFI. Тобто ви повинні включити EFI у віртуальній машині, а потім виконати EFI-інсталяцію гостьової ОС.
 

Редагування доступності пристрою PCI на хост-сервері

Встановлений PCI-сумісний апаратний пристрій GPU спочатку розпізнається гіпервізором vSphere під час завантаження сервера без наявності будь-яких конкретних драйверів, встановлених у гіпервізор.

Таким чином vSphere розпізнає всі пристрої PCI. Ви можете переглянути список пристроїв PCI, які можна знайти в інструменті vSphere Client, вибравши конкретний хост-сервер, на якому ви працюєте, і дотримуючись вибору меню.

Налаштуйте" > "Апаратне забезпечення" > "Пристрої PCI" > "Редагувати", щоб побачити список, як видно в прикладі на рисунку 2 нижче.

Якщо конкретний пристрій графічного процесора раніше не було ввімкнено для вводу/виводу DirectPath, ви можете перевести пристрій графічного процесора в режим прямого вводу/виводу (passthrough), натиснувши прапорець на вході пристрою, як показано в прикладі пристрою NVIDIA.

image.png


Увімкнення пристроїв високого класу у файлі віртуальної машини

Відповідно до вищезазначених вимог, до файлу VMX віртуальної машини необхідно додати два записи, або шляхом безпосередньої зміни файлу, або за допомогою клієнта vSphere для додавання цих можливостей. Перший запис:

pciPassthru.use64bitMMIO="ПРАВДА"

Вказівка другого запису вимагає простого обчислення. Підсумуйте розміри пам'яті графічного процесора всіх пристроїв графічного процесора (*), які ви збираєтеся передати у віртуальну машину, а потім округліть до наступного степеня два. Наприклад, для використання passthrough із 4 пристроями A2 по 16 ГБ значення буде таким: 32 + 32 = 64, округлені в більшу сторону до наступного степеня двійки, щоб отримати 128. Використовуйте це значення у другому записі:

pciPassthru.64bitMMIOSizeGB="128"

З цими двома змінами у файлі VMX дотримуйтесь стандартних інструкцій VMware KB 1010789 vSphere щодо ввімкнення прохідних пристроїв на рівні хоста та вказання, які пристрої слід передати у вашу віртуальну машину. Тепер віртуальна машина повинна правильно завантажуватися з вашим пристроєм у режимі passthrough.
 

Увімкнення пристроїв високого класу в інтерфейсі користувача

У клієнті vSphere знову виберіть віртуальну машину та скористайтеся опціями.

Edit Settings VM > Options Advanced >> Configuration Parameter > Edit Configuration Configuration (Редагувати конфігурацію), щоб перейти до списку параметрів, пов'язаних з PCI, наведеного нижче.

image.png


Ми обчислюємо значення параметра "64bitMMIOSizeGB" за допомогою простого підходу. Порахуйте кількість високоякісних графічних процесорів PCI, які ви збираєтеся передати в цю віртуальну машину. Це може бути один або кілька графічних процесорів. Помножте це число на 16 і округліть його до наступного степеня двійки.

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

Призначення пристрою графічного процесора віртуальній машині

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

Щоб увімкнути доступ віртуальної машини до пристрою PCI, у клієнті vSphere виберіть віртуальну машину, скористайтеся опцією «Редагувати налаштування» та прокрутіть униз до списку пристроїв PCI. Якщо вашого пристрою там ще немає, скористайтеся кнопкою «Додати новий пристрій», щоб додати його до списку. Після додавання налаштування вашої віртуальної машини повинні виглядати аналогічно тим, що показані на малюнку 7. У цьому прикладі відповідним записом є «Пристрій PCI 0».

image.png


Резервування пам'яті

Коли пристрій PCI призначається віртуальній машині, віртуальна машина повинна мати резервування пам'яті для повністю налаштованого розміру пам'яті для віртуальної машини. Робиться це в клієнті vSphere шляхом вибору віртуальної машини, за допомогою "Edit Settings > Virtual Hardware > Memory" для доступу та зміни значення в області резервування.

Нарешті, увімкніть віртуальну машину. Після включення віртуальної машини увійдіть в гостьову ОС і перевірте наявність карти GPU при використанні.

  • На віртуальній машині Linux використовуйте команду
"lspci | grep nvidia"

Або

  • В операційній системі Windows використовуйте «Диспетчер пристроїв» на панелі керування, щоб перевірити доступні пристрої графічного процесора


Тепер графічний процесор готовий до використання в режимі передачі.

Additional Information

Виправлення неполадок

Якщо ви дотримувалися наведених вище інструкцій, а ваша віртуальна машина все ще неправильно завантажується з увімкненими пристроями, матеріал цього розділу може бути корисним. Якщо ви скористалися наведеними нижче пропозиціями, але все ще виникають проблеми, зв'яжіться з нами, і ми зможемо вам допомогти.
 

Проблема картографування:
Якщо у файлі vmware.log віртуальної машини з'являється помилка, подібна до наведеної нижче:

1 І120: PCIPassthru: 0000:82:00.0 : Device BAR 0 запитував 64-розрядну адресу пам'яті, яка перевищувала тип MPN (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| І120: PCIPassthru: загальна кількість необхідних сторінок (2097186) перевищує ліміт (917504), помилка

Вказує на те, що ви неправильно включили відображення «вище 4 ГБ» у BIOS вашого хоста, як описано в розділі «BIOS хоста» вище, або неправильно вказали записи VMX.

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

1 Не вдається визначити ручку пристрою для графічного процесора 0000:13:00.0: Невідома помилка

Ми рекомендуємо звернутися безпосередньо до Nvidia або виконати пошук в Інтернеті за допомогою цього рядка, щоб знайти додаткову інформацію, яка може бути корисною.

Affected Products

VMware ESXi, VMware vSphere Web Access