免責事項:これは英文の記事「Module 'DevicePowerOn' power on failed to start the virtual machine after adding/enabling GPU as PCIpassthru device」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。
vSphere 仮想マシンに PCI パススルーを使用して GPU を追加する場合、いくつか追加の設定を行う必要があります。
これを行わない場合、仮想マシンは起動しません。
状態失敗 - モジュール「DevicePowerOn」のパワーオンに失敗しました。
エラーモジュール「DevicePowerOn」のパワーオンに失敗しました。仮想マシンの起動に失敗しました。
vmware.log に以下のログが出力されます:
YYYY-MM-DDTHH:MM:SS In(05) vmx - PCIPassthru: Device ####:##:##.# barIndex 0 type 2 realaddr #x###### size ###### flags 0YYYY-MM-DDTHH:MM:SS In(05) vmx - PCIPassthru: Device ####:##:##.# barIndex 1 type 3 realaddr #x###### size ###### flags 12YYYY-MM-DDTHH:MM:SS In(05) vmx - PCIPassthru: Device ####:##:##.# barIndex 3 type 3 realaddr #x###### size ###### flags 12YYYY-MM-DDTHH:MM:SS In(05) vmx - PCIPassthru: Device has PCI Express Cap Version 2(size 60)YYYY-MM-DDTHH:MM:SS In(05) vmx - PCIPassthru: Registered a PCI device for ####:##:##.# vIRQ 0x11, physical MSI = Enabled (vmmInt = Enabled),IntrPin = 1YYYY-MM-DDTHH:MM:SS In(05) vmx - PCIPassthru: total number of pages needed (######) exceeds limit (######), failingYYYY-MM-DDTHH:MM:SS In(05) vmx - Module 'DevicePowerOn' power on failedYYYY-MM-DDTHH:MM:SS In(05) vmx - VMX_PowerOn: ModuleTable_PowerOn = 0YYYY-MM-DDTHH:MM:SS In(05) svga - SVGA thread is exiting the main loopYYYY-MM-DDTHH:MM:SS In(05) vmx - Destroying virtual dev for scsi0:0 vscsi=#######
この事象は通常、仮想マシンに割り当てられている全 GPU 分に対して十分な Memory Mapped I/O (MMIO) 空間が割り当てられていない場合に発生します。
pciPassthru.use64bitMMIO = TRUEpciPassthru.64bitMMIOSizeGB = "MMIO_Space_In_GB"pciPassthru.use64bitMMIO = TRUEpciPassthru.64bitMMIOSizeGB = 128pciPassthru.64bitMMIOSizeGB パラメータに設定する "MMIO_Space_In_GB" の値は、以下の手順で決定します:
2 の累乗: 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024
その他の構成例:
注: Nvidia H20 GPU の場合、想定される MMIO サイズを機能させるために追加の VM 構成が必要です。詳細は vGPU Power-on Failure with libnvidia-vgx.so on NVIDIA H20 GPUs を参照してください。
Msg_post: Error
[msg.efi.pciMmioError] The Firmware could not allocate ###### KB of PCI MMIO Increase the size of PCI MMIO and try again