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: vSphere에서 가상 머신과 함께 GPU를 사용할 때 PCI 패스스루 "Module 'DevicePowerOn' power on failed"가 나타남

Summary: ESXi 호스트에서 PCI 디바이스 패스스루를 구성하고 디바이스를 VM에 추가한 후에는 VM이 켜지지 않습니다. 80%에서 멈춘 다음 오류가 발생합니다. 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


준비 단계

패스스루에 Nvidia GPU를 사용하려면 호스트 BIOS를 올바르게 구성해야 하며, 이러한 가속화된 워크로드를 실행할 가상 머신은 특정 요구 사항을 충족해야 합니다. 이 섹션에서는 이러한 모든 요구 사항에 대해 설명합니다.

어떤 디바이스입니까?

이 문서는 PCI 디바이스가 총 크기가 16GB를 초과하는 메모리 영역을 매핑하는 경우에만 해당됩니다. vSphere에서 패스스루 디바이스를 활성화하려면 VMware KB 1010789 게시된 지침을 따르십시오. 일반적으로 16GB 이상의 메모리 매핑이 필요한 카드는 하이엔드 카드입니다. 이 문서의 지침에 따라 가상 머신 내에서 패스스루 모드에서 사용할 수 있도록 설정해야 합니다.
 

호스트 BIOS

이러한 하이엔드 PCI 디바이스에 필요한 대용량 메모리 영역을 지원하도록 호스트 BIOS를 구성해야 합니다. 이를 활성화하려면 "memory mapped I/O above 4 GB"에 대한 호스트 BIOS 설정을 찾아 활성화합니다.

MMIO.png


게스트 OS 

참고: 이러한 설정은 BIOS 부팅 모드가 UEFI로 지정된 경우에만 필요합니다. 레거시 또는 BIOS 모드인 경우 아래 사항을 무시할 수 있습니다.

이러한 대용량 메모리 매핑에 액세스하려면 VMware 사이트 게스트 OS는 EFI로 부팅해야 함에 연결하십시오. 즉, VM에서 EFI를 활성화한 다음 게스트 OS의 EFI 설치를 수행해야 합니다.
 

호스트 서버에서 PCI 디바이스 가용성 편집

설치된 PCI 호환 GPU 하드웨어 디바이스는 하이퍼바이저에 특정 드라이버를 설치하지 않고 서버 부팅 시 vSphere 하이퍼바이저에서 처음에 인식됩니다.

vSphere는 모든 PCI 디바이스를 이 방식으로 인식합니다. vSphere Client 툴에서 작업 중인 특정 호스트 서버를 선택하고 메뉴 선택 항목에 따라 PCI 디바이스 목록을 볼 수 있습니다."

아래 그림 2의 예에서 볼 수 있듯이 "Hardware" > "PCI Devices" > "Edit" > 를 선택하여 목록을 봅니다.

특정 GPU 디바이스가 이전에 DirectPath I/O에 대해 활성화되지 않은 경우 NVIDIA 디바이스 예에 표시된 대로 디바이스 항목의 확인란을 클릭하여 GPU 디바이스를 Direct Path I/O(패스스루) 모드로 전환할 수 있습니다.

image.png


VM 파일에서 하이엔드 디바이스 활성화

위의 요구 사항이 충족되면 파일을 직접 수정하거나 vSphere Client를 사용하여 이러한 기능을 추가하는 방식으로 VM의 VMX 파일에 두 개의 항목을 추가해야 합니다. 첫 번째 항목은 다음과 같습니다.

pciPassthru.use64bitMMIO="TRUE"

두 번째 항목을 지정하려면 간단한 계산이 필요합니다. VM에 전달하려는 모든 GPU 디바이스(*)의 GPU 메모리 크기를 합산한 후 2의 다음 거듭제곱으로 반올림합니다. 예를 들어 16GB A2 디바이스 4개와 패스스루를 사용하려면 값은 32 + 32 = 64이며, 2의 다음 거듭제곱으로 반올림하여 128을 산출합니다. 두 번째 항목에 이 값을 사용합니다.

pciPassthru.64bitMMIOSizeGB="128"

VMX 파일에 대한 이러한 두 가지 변경 사항을 적용할 경우 호스트 레벨에서 패스스루 디바이스를 설정하고 VM에 전달할 디바이스를 지정하기 위한 VMware KB 1010789 표준 vSphere 지침을 따르십시오. 이제 패스스루 모드에서 디바이스를 사용하여 VM이 올바르게 부팅됩니다.
 

UI에서 하이엔드 디바이스 활성화

vSphere Client에서 가상 머신을 선택하고 옵션을 다시 사용합니다."

Edit SettingsVM > Options >Advanced > Configuration ParametersEdit > Configuration"을 클릭하여 아래에 표시된 PCI 관련 옵션 목록으로 이동합니다.

image.png


간단한 방식으로 "64bitMIOSizeGB" 매개변수의 값을 계산합니다. 이 VM에 전달하려는 하이엔드 PCI GPU 디바이스의 수를 계산합니다. GPU는 하나 이상이 될 수 있습니다. 이 숫자에 16을 곱한 후 2의 다음 거듭제곱으로 반올림합니다.

예를 들어 한 VM에서 두 개의 GPU 디바이스로 패스스루 모드를 사용하려면 값은 4 * 16 = 64이며 2의 다음 거듭제곱으로 반올림하여 128을 산출합니다.
 

가상 머신에 GPU 디바이스 할당

이 섹션에서는 VM에 GPU 디바이스를 할당하는 방법을 설명합니다. GPU 디바이스를 할당하기 전에 가상 머신의 전원을 끕니다.

PCI 디바이스에 대한 가상 머신 액세스를 설정하려면 vSphere Client에서 가상 머신을 선택하고 "Edit Settings" 옵션을 사용하여 PCI Device 목록으로 스크롤합니다. 디바이스가 목록에 없는 경우 "Add New Device" 버튼을 사용하여 목록에 추가합니다. 가상 머신 설정이 추가되면 그림 7에 나와 있는 것과 비슷한 모양이 됩니다. 이 예에서 관련 항목은 "PCI Device 0"입니다.

image.png


메모리 예약

PCI 디바이스가 VM에 할당되면 가상 머신에는 VM의 전체 구성된 메모리 크기에 해당하는 메모리가 예약되어야 합니다. 이 작업은 vSphere Client에서 VM을 선택하고 "Edit SettingsVirtual > Hardware > Memory"를 사용하여 Reservation 영역의 값에 액세스하고 변경하면 됩니다.

마지막으로 가상 머신을 켭니다. 가상 머신을 켠 후 게스트 OS에 로그인하고 GPU 카드가 있는지 확인합니다.

  • Linux 가상 머신에서는 다음 명령을 사용합니다.
"lspci | grep nvidia"

또는

  • Windows 운영 체제의 경우 컨트롤 패널에서 "Device Manager"를 사용하여 사용 가능한 GPU 디바이스를 확인합니다.


이제 GPU가 패스스루 모드에서 애플리케이션을 사용할 준비가 되었습니다.

Additional Information

문제 해결

위의 지침을 따랐는데도 디바이스가 활성화된 상태에서 VM이 제대로 부팅되지 않으면 이 섹션의 자료가 도움이 될 수 있습니다. 아래 제안 사항을 시도했지만 여전히 문제가 있는 경우 Dell에 문의하시면 도움을 드리겠습니다.
 

매핑 문제:
VM의 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 디바이스에 매핑된 메모리가 모두 16TB 미만이어야 합니다. BIOS가 호스트의 메모리 주소 공간 PCI 메모리 영역이 매핑되는 수준을 제어할 수 있는 기능을 지원하는 경우 이 문제를 해결할 수 있습니다. 예를 들어 SuperMicro와 같은 일부 제조업체는 이 메모리의 매핑 수준을 변경할 수 있는 BIOS 옵션을 제공합니다. SuperMicro 시스템에서는 MMIOHBase 매개변수를 기본값인 56TB에서 더 낮은 값으로 변경할 수 있습니다. Sugon 시스템에도 유사한(숨겨진) BIOS 설정이 있습니다. 시스템 공급업체에 문의하여 BIOS가 이 재매핑 기능을 지원하는지 확인하십시오. 또 다른 해결 방법은 ESXi 버전을 6.5u1 이상으로 업데이트하여 16TB 제한을 제거하는 것입니다.

잘못된 구성:
다음 형식의 vmware.log 파일에 오류가 있습니다.

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

이는 위의 "호스트 BIOS" 섹션에 설명된 대로 호스트 BIOS에서 "4GB 초과" 매핑을 올바르게 활성화하지 않았거나 VMX 항목을 올바르게 지정하지 않았음을 나타냅니다.

디바이스를 사용할 수 없음:
위의 지침을 모두 따르고 VM이 올바르게 부팅되었지만 게스트 OS에서 nvidia-smi 유틸리티를 실행할 때 다음과 유사한 메시지가 표시되는 경우:

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

Nvidia에 직접 문의하거나 이 문자열을 사용하여 웹 검색을 수행하여 도움이 될 수 있는 추가 정보를 찾는 것이 좋습니다.

Article Properties


Affected Product

Servers, PowerEdge

Last Published Date

15 Dec 2022

Version

4

Article Type

How To