当初、PCIパススルー設定をして仮想マシンを起動すると、下記メッセージが表示されパワーオンに失敗していました。
モジュール「DevicePowerOn」のパワーオンに失敗しました。
ハードウェアまたはソフトウェアのサポートが使用できないため、デバイス pciPassthru0 の 13:0.3 への登録に失敗しました。
仮想マシンの起動に失敗しました。
この時に仮想マシンのログ(vmware.log)には、次の記録が残っていました。
vmx| I125: PCIPassthru: Failed to register device 0000:0d:00.3 error = 0xffffffff vmx| I125: Msg_Post: Error vmx| I125: [msg.pciPassthru.createAdapterFailedPlatformNotSupported] Failed to register the device pciPassthru0 for 013:00.3 due to unavailable hardware or software support. vmx| I125: ---------------------------------------- vmx| I125: Module 'DevicePowerOn' power on failed.vmkernel.logには、次の記録がありました。
cpu10:2100020)WARNING: PCI: 384: Dev @ 0000:0d:00.3 did not complete its pending transactions prior to being reset; will apply the reset anyway but this may cause PCI errors cpu7:2100020)WARNING: PCI: 471: Dev 0000:0d:00.3 is unresponsive after resetふと、リセット設定をすれば上手くいくのでは?と思い試したところうまく行きました。
リセット設定は、ESXiの/etc/vmware/passthru.mapに記述するようです。
フォーマットの説明はファイルの初めの方に記載されていますが、vendor-id device-id resetMethod fptShareableの順で記述します。
vendor-idとdevice-idは、次のようにlspciで調べることができます。
[root@esxi:~] lspci |grep -i usb 0000:08:00.1 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller 0000:08:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller 0000:0d:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller [root@esxi:~] lspci -n |grep -E '0000:0(8:00.[13]|d:00.3)' 0000:08:00.1 Class 0c03: 1022:149c 0000:08:00.3 Class 0c03: 1022:149c 0000:0d:00.3 Class 0c03: 1022:149c上記からvendor-idが1022、device-idが149cとなります。 ファイル内の他デバイスの記載を参考にresetMethodをd3d0、fptShareableはdefaultで指定しました。
[root@esxi:~] tail -2 /etc/vmware/passthru.map # AMD USB host controller 1022 149c d3d0 defaultこの設定で0000:0d:00.3のコントローラはPCIパススルーで利用できるようになりました。
仮想マシンも問題なく起動します。
また、0000:08:00.1と0000:08:00.3は、PCIデバイスの設定でパススルーをアクティブにできなかったのですが、上記調査中にvmkernel.logに下記を見つけました。
0:00:00:04.808 cpu0:2097152)PCI: 1305: Found a PCIe-to-PCIe bridge at 0000:00:08.1 0:00:00:04.808 cpu0:2097152)PCI: 423: 0000:00:08.1: PCIe v2 PCI Express Root Complex Port 0:00:00:04.808 cpu0:2097152)PCI: 427: Not a ACS capable device 0:00:00:04.808 cpu0:2097152)PCI: 488: 0000:00:08.2: PCIe v2 PCI Express Root Complex Port 0:00:00:04.808 cpu0:2097152)PCI: 248: 0000:00:08.2: Found support for extended capability 0xb (Vendor Spec 0:00:00:04.808 cpu0:2097152)PCI: 248: 0000:00:08.2: Found support for extended capability 0x19 (Secondary 0:00:00:04.808 cpu0:2097152)PCI: 248: 0000:00:08.2: Found support for extended capability 0x25 (Data Link 0:00:00:04.808 cpu0:2097152)PCI: 248: 0000:00:08.2: Found support for extended capability 0x26 (Physical L 0:00:00:04.808 cpu0:2097152)PCI: 248: 0000:00:08.2: Found support for extended capability 0x27 (Lane Margi 0:00:00:04.808 cpu0:2097152)PCI: 1305: Found a PCIe-to-PCIe bridge at 0000:00:08.2 0:00:00:04.808 cpu0:2097152)PCI: 423: 0000:00:08.2: PCIe v2 PCI Express Root Complex Port 0:00:00:04.808 cpu0:2097152)PCI: 427: Not a ACS capable device 0:00:00:04.808 cpu0:2097152)PCI: 488: 0000:00:08.3: PCIe v2 PCI Express Root Complex Port 0:00:00:04.808 cpu0:2097152)PCI: 248: 0000:00:08.3: Found support for extended capability 0xb (Vendor Spec 0:00:00:04.808 cpu0:2097152)PCI: 248: 0000:00:08.3: Found support for extended capability 0x19 (Secondary 0:00:00:04.808 cpu0:2097152)PCI: 248: 0000:00:08.3: Found support for extended capability 0x25 (Data Link 0:00:00:04.808 cpu0:2097152)PCI: 248: 0000:00:08.3: Found support for extended capability 0x26 (Physical L 0:00:00:04.808 cpu0:2097152)PCI: 248: 0000:00:08.3: Found support for extended capability 0x27 (Lane Margi 0:00:00:04.808 cpu0:2097152)PCI: 1305: Found a PCIe-to-PCIe bridge at 0000:00:08.3 0:00:00:04.808 cpu0:2097152)PCI: 423: 0000:00:08.3: PCIe v2 PCI Express Root Complex Port 0:00:00:04.808 cpu0:2097152)PCI: 427: Not a ACS capable device「Not a ACS capable device」とあるので、ACSを無効化すれば動作するようです。
試しに、ESXiのシステム>詳細設定でVMkernel.Boot.disableACSCheckをtrueに設定したところアクティブにでき、それぞれ仮想マシンからも利用できました。
参考URL
vSphere VMDirectPath I/O and Dynamic DirectPath I/O: Requirements for Platforms and Devices (2142307)
0 件のコメント:
コメントを投稿