LoginSignup
3
2

ProxmoxでWindowsVMにGPUパススルーする

Last updated at Posted at 2023-10-24

はじめに

Proxmoxのホストになっているワークステーションはオンボードグラフィックがない代わりにPCIにGPUが刺さってた。
ゲームも画像AIも全然やったことないので、よくわからないけど、使わないのはもったいないので「GPUパススルー」ってのをやってみる。

環境

仮想化のホスト機はこんな感じ

  • HP Z640
  • CPU: Xeon E5-2650L v3 × 2(24コア48スレ)
  • メモリ: DDR4 128GB (2400MHzがCPUで2133MHz駆動)
  • ストレージ: M.2 NVMe 1TB (HP Z Turboドライブ経由)
  • GPU: NVIDIA Quadro K620

このうちのGPUをホストからVMにパススルーしてWindows10で利用できるようにしてみる。

ホスト側の設定変更

作業前にBIOSでVT-dを有効にする必要がある。
HP Z640の場合はVT-xもVT-dもセキュリティ設定の中にいるので、ちょっとわかりにくい。

BIOS設定を修正したら、GRUB設定を修正する。

vi /etc/default/grub
# 初期状態では以下
GRUB_CMDLINE_LINUX_DEFAULT="quiet"

# これを以下のように修正する
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
grub設定を反映
update-grub

これでホストを再起動したら dmesg にVT-dが出ているか確認する。

このようになっていればOK
# dmesg | grep -i virtualization
[    7.116733] DMAR: Intel(R) Virtualization Technology for Directed I/O

WindowsVMを作成

WindowsのMediaCreationTool を利用してISOファイルを生成する。
image.png

ISOファイルが作成できたらpveのストレージ(local)の「ISOイメージ」→「アップロード」でホストに転送する
image.png

以下のようにWindowsVMを作成する。
このあとでGPUを指定するので start=1 しないでおく。

qm create 999 \
  --name win-gpu \
  --cores 4 \
  --cpu host \
  --memory 8192  \
  --machine q35 \
  --bios ovmf \
  --efidisk0 local-lvm:0 \
  --boot order='sata0;sata1' \
  --sata0 local-lvm:32 \
  --sata1 local:iso/Windows.iso,media=cdrom \
  --net0 e1000,bridge=vmbr0,tag=10

# 失敗したら以下のように削除
# qm stop 999 && qm destroy 999 --purge

作成できたら「VM」→「ハードウェア」→「追加」から「PCIデバイス」を選択
image.png

別ダイアログが表示されるので「RawDevice」のプルダウンメニュから型番ぽいのを選択
image.png

「全機能」をオン「PCI-Express」をオンにして「追加」する
image.png

以下のように追加されればOK
image.png

Windows上でのGPUの認識

これでVMを起動してWindowsをインストールしたらK620のドライバもインストールしておく。
image.png

で、リモートデスクトップ経由でVMに接続して状態を確認する。

タスクマネージャでK620として認識されている
image.png

「パススルー」ってくらいなので、まるごと見えてる
image.png

センサー類もちゃんと取得できてる
image.png

さいごに

自分には縁がない機器なので、そもそも使いどころがよくわからないのですが、GPU使って画像生成?とか高速計算とかで使うんですかね?

とりあえず、つかえた。ってことで。

3
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2