ESXi6.0でRadeon RX480のパススルーについて
昨日購入したRadeon RX480でパススルーの設定ができた。
設定などはググれば出てくるのでその方法についての説明は割愛するが、我が家の構成ではこんな感じ・・・というメモ的なものを置いておく。必要であれば参考にされたし。
ホストマシンの構成
ESXiでのパススルーにCPUの性能などは関係ないので主にマザーボードとか拡張機器周りについて。
- マザーボード:MS-7793(FM2-A85XA-G65)
32bitのPCIとM.2スロット必要なので選んだもの。もちろん32bit PCIはブリッジチップ経由なのが気に入らないが仕方がない。 - 拡張カード
1.Radeon RX480
2.RealtekのGbE
3.32bit PCIブリッジ(玄人志向のPCI-PCIEX1)
→ Ultra320SCSI
4.4ポートUSB3.0
5.32bit PCIブリッジ(マザーボード標準のもの)
→ Ultra320SCSI
→ 5ポートGbEスイッチ&インターフェイス
素直ではない構成だと思う。2017年になってもまだUltra320SCSIが現役でその両方がPCI-E to PCIの変換経由とか、そろそろU320は捨てろと言われそうだが、便利なので捨てられないw
上記構成をESXi6.0から見たらこんな感じ。
VMにパススルーしたいものにチェックを入れた画面。これをVM側の設定に反映させるだけなので設定はいたってシンプル。あとはVMがハードウェアを認識するのでドライバをいれたら終わる。
パススルーしているRadeon RX480とRadeonのオーディオ、RealtekのGbEとUSB3.0が実デバイスとして見えている。その他はVMwareの文字列が見えるものが並んでいたりする。特に問題なくサクッと設定できてしまうので助かった。
パススルー設定で注意すること
PCI-Eな拡張カードはだいたい問題なくパススルーできる感じ。(といってもサンプルがグラボとUSBとGbEなので少ないが)
PCI-E to PCIをカマした32bit PCIのデバイスは、それ単体でのパススルーができず必ずPCI-E to PCIブリッジごとのパススルーとなる。このためマザーボードに2スロット以上あったとしても、そのスロット単位ではパススルーできないので注意すること。
どうしてもそういうことをしたいなら、32bit PCIを持たないマザーボードを購入し、玄人志向とかが販売しているPCI-E x1に取り付けるカード型のブリッジを用意したほうが良い。(これだとロープロ専用になるけどね)
また、Ultra320SCSI等のカード側にBIOSの乗っているカードはパススルーしてもうまく動作しない。よくわからないが、ホスト起動時にカード側のBIOSが起動してしまっているため、パススルーしたVM側のPOST時には既にカードが起動しておりホストとVMで競合を起こしているのだと思う。どうしてもやりたい場合は無理なのであきらめて、ESXi側からSCSIデバイスをVMに割り当てるほうが良いと思う。
(この方法はこの方法でSCSIデバイスのLUNはESXiに無視されるようなので、同一SCSI ID配下のLUNに割り当てられたロボットが認識しないとかあるので悩ましい・・・)
まとめ
レガシーなカードのパススルーはやめとけ