TrueNAS ScaleにPCI Passthroughを使ってWindowsをインストールする



PCI Passthroughを使う理由

TrueNASはVMを作成できますが、当時こちらの環境下では仮想ディスクに負荷をかけると動作が不安定になったり切断されてしまう問題が発生しました。
現在は修正されているとは思いますがSSDの性能を最大限に活かせるのでパススルーでインストールします。

パススルーを使うデメリットとして仮想ディスクではないのでVMのディスクのスナップショットを作成したり気軽にバックアップできない事が挙げられます。

環境

  • OS TrueNAS Dcale Dragonfish-24.04.2

  • CPU Intel Core i5-9500

  • メモリ DDR4 32GB

  • SSD Samsung 256GB (NVMe)(boot-pool)

  • SSD WD Blue SN550 (NVMe)

  • HDD WD 6TB

  • HDD Seagate 6TB

必要なもの

VMの作成

この辺りは解説されている方がいらっしゃるので変更した点のみ説明します。

仮想ディスクは使用しませんがスキップできないので適当に作成しておきます。


「Installation Media」はWindows 10のisoファイルを指定します。
アクセス権の設定が必要ですので新たにデータセットを作成してlibvirt-qemu ユーザーを追加してそこにWindowsとVirtIO Driverのisoファイルを配置してください。
私はこの辺りで苦労したので念のため書いておきました。

PCI Passthrough の設定

Virtual Machines 画面を開いてDeviceを押してAddを押します。

TypeをPCI Passthrough DeviceにしてPCI Passthrough DeviceにNVMe SSDを選択します。Device OrderはCD-ROMデバイスの次にしておきます。
仮想ディスクが必要ない場合はこの時点で削除して構いません。

Windowsのインストール

スタートでVMを起動しDisplayで画面を開きます。
Windowsのインストールメディアから起動せずUEFI Shell が起動してしまう場合は再起動して何らかのキーを押してください。うまくいかない(UEFI Shellが表示される)場合はUEFI設定画面から起動しましょう。
UEFI Shell に

exit

と入力してUEFI Shell を終了して設定画面に入りBoot Manager からCD/DVDデバイスを選択して起動させましょう。

起動順序を変更する場合
Boot Maintenance Manager
Boot Options
Change Boot Order
の順に選択して+-キーで変更して保存します。保存を忘れないように気をつけてください。

Windowsのインストールメディアから起動したら通常通りインストールを進めます。インストール先にNVMe SSDが表示されていると思います。インストール中にUEFI Shell が起動してしまったら上記の設定を変更します。

インストールが完了したらVirtIOドライバーをインストールします。WindowsをシャットダウンしてDeviceのCD-ROMの詳細を開きVirtIOドライバのisoファイルを指定します。起動してDVDドライブからvirtio-win-guest-toolsを実行してインストールします。
インストールが完了したら、CD-ROMデバイスの詳細からisoファイルを外しておきます。これでISOファイルとデータセットは削除しても大丈夫です。
あとは通常のインストールと同じですので省略します。

まとめ

PCI Passthrough Deviceの設定、UEFIでの起動順序の設定が通常のインストールと異なる点です。あとは通常の方法と同じです。


この記事が気に入ったらサポートをしてみませんか?