GPU
VMware_ESXi
Ryzen

Threadripperを買ったのでESXiでGPUパススルーしよう

Ryzen ThreadripperでESXiを構築する

Ryzen Threadripperが出てスレッド数の暴力・メモリ大容量でせっかくなのでESXiを構築し、GPUパススルーで普段のパワー用メインマシンとTV録画用のマシンを別々に立てようかと思いました。

2017/09/28時点
GPUパススルーできました。
GTX1080とRadeion6450のどちらもできました。

揃えたパーツ

  • CPU:AMD Ryzen Threadripper 1920X
  • マザボ:MSI X399 GAMING PRO CARBON AC (BIOS:7B09v15)
  • メモリ:Crucial DDR4-PC4-19200 16GB×4枚(64GB)
  • PCI:EVGA 1080 GTX (メインVGA)
  • PCI:玄人志向 Radeon HD 6450(ESXi用VGA)
  • PCI:Intel Ethernet Server Adapter I210-T1
  • PCI:AREA SD-PE4U3-3E1L
  • PCI:PLEX PX-W3PE4
  • 電源:CORSAIR RM750x
  • ESXi:ESXi 6.5u1
  • 仮想マシン1:Windows 7 Pro(メイン)

BIOSの設定

マザーボードが8/10時点ではSVMやIOMMUの項目が見当たらなかったので
7B09v15に上げる。
IOMMUとSVMを有効にする。
BIOS設定CPUのSVMとIOMMU.png

ESXiのインストールディスクを作る

高いRAIDカードを購入する気にはなれなかったので、
SATAで接続できるようにESXiのドライバーに追加するのでESXiカスタムする。

必要なもの

  • Powershell 4.0
  • VMware PowerCLI
  • ESXi-Customizer-PS

追加ドライバー

xachiのドライバーのみ追加

若干嵌った部分

ESXi-Customizer-PSのパワーシェルについている署名の有効期限が切れているので
ISOを作成できない・・・なのでパワーシェルの署名部分を削る。
(セキュリティ的にはどうなんだこれ・・・というか署名部分更新できないのか・・・)

ESXiインストール

サーバー用NICアダプタを購入してましたが、
特に問題なくマザーボード側のアダプタも認識しインストール完了

ESXi設定

1.GPUをパススルー設定するため、[ホスト]-[管理]から[ハードウェア]-[PCIデバイス]でGPUをパススルー設定
2017-09-23_234024.png

2'.ESXiの「/etc/vmware/passthru.map」を編集
ESXiのSSHサービスを有効化し、SSHで接続し、下記文言を追加。
(ベンダーIDとハードウェアIDと電源管理と共有化?の設定)
bash:
10de 1b80 d3d0 false
10de 10f0 d3d0 false

2017-09-28_210529.png

仮想マシンの設定

1.起動方法をEFIに設定
2017-09-24_000141.png

2.CPUのCPU/MMU仮想化を[ハードウェアのCPUおよびMMU]に設定
2017-09-24_000444.png

3.Windowsのインストール
インストール後シャットダウンしてGPU設定を行う。

GPU設定

1.[設定の編集]-[仮想マシンオプション]-[詳細]-[構成の編集]で下記良く見かけるパラメータを追加
hypervisor.cpuid.v0="FALSE"
2017-09-24_000520.png

1'.今回の認識させるのに[設定の編集]-[仮想マシンオプション]-[詳細]-[構成の編集]で更にパラメータを追加
ESXi
vhv.enable = "TRUE"
hypervisor.cpuid.v0 = "FALSE"
pciHole.start = "1200"
pciHole.end = "2200"
pciPassthru0.msiEnabled = "FALSE"
pciPassthru1.msiEnabled = "FALSE"

※pciPassthru[X].msiEnabledの部分は追加するPCI何番目かで変わる。

2.[設定の編集]-[その他のデバイスの追加]-[PCIデバイス]からGPUとAUDIOを追加
 ※ついでにPCIのUSB拡張カードも追加
2017-09-24_000111.png

3'.ESXi自体を再起動
上記設定を行っても、そのまま仮想マシンを起動してもダメで、ESXi自体を再起動させないとだめだった。

結果

GPUを認識!
2017-09-29_062043.png