Windows Server 2025 Hyper-VのGPUパーティション分割をいじってみた(仮)

2.2K Views

January 26, 25

スライド概要

profile-image

主に勉強会の資料を公開しています。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Windows Server Community Meetup#5 2025/01/25 ロゴ作成中 Windows Server and Cloud User Group Japan 後藤 諭史(Satoshi GOTO)

2.

ロゴ作成中 後藤 諭史( Satoshi GOTO )  国内SIerでプリセールスやっています  仮想化製品が主な専門分野です。 が、基本的には雑用係   Microsoft MVP - Cloud and Datacenter Management (Jul.2012 - Jun.2025) Microsoft MVP – Microsoft Azure(Jul.2024 - Jun.2025) 2

3.

ロゴ作成中 本セッション資料ですが、個人で準備した環境において、個人的に実施した検証/結果を基に記載しています。 あくまで個人の意見/見解であり、所属する会社の正式な回答/見解ではない事に留意してください。 3

4.

ロゴ作成中  Hyper-Vまわりも大きな機能強化あり ◦ エッジでの高速ネットワーク(AccelNet) → SR-IOVを利用したネットワークの高速化 ◦ Hyper-Vマネージャーの既定値の変更(第2世代VMが既定に) ◦ Hypervisor-enforced paging translation(HVPT) → システムデータの整合性を確保するために線形アドレス変換を強制する セキュリティ機能 ◦ GPU パーティション分割 ◦ 動的プロセッサの互換性 ◦ ワークグループ クラスター ◦ Network ATC ◦ スケーラビリティ(第2世代VMで最大240TBメモリと2,048vCPUのサポート)  Azure Local 23H2で実装された機能含む 4

5.

ロゴ作成中  GPUを仮想マシンに利用させるための手法の一つ ◦ GPU パーティション分割(GPU-P) ◦ 個別のデバイスの割り当て(Discrete Device Assignment:DDA) ◦ RemoteFX vGPU(2021/04/13のアップデートで無効化)  DDAがPCIeデバイス全体を仮想マシンに割り当てるのに対し、GPUを パーティション化して複数の仮想マシンで共有できるのがGPU-P  GPU-PはAzure Local 23H2で実装され、Windows Server 2025でも実装 → DDAはWindows Server 2016 Hyper-Vでも利用可能  ライブマイグレーション対応! → クラスター内で同じGPUで統一する必要あり 5

6.

ロゴ作成中  ドキュメントはこのあたり GPU パーティション分割 https://learn.microsoft.com/ja-jp/windows-server/virtualization/hyper-v/gpu-partitioning  Windows Server 2025 Hyper-Vと対応ゲストOSの仮想マシン  対応ハードウェア ◦ シングルルートI/O仮想化(SR-IOV)が利用可能なハードウェア ◦ 入出力メモリ管理ユニット (IOMMU) DMA ビット トラッキング対応プロセッサ ◦ 具体的にはIntel VT-DまたはAMD-Viをサポートするプロセッサ ◦ 対応GPUと対応ドライバー ◦ NVIDIA Aシリーズ(NVIDIA A2/A10/A16/A40) ◦ NVIDIA Lシリーズ(NVIDIA L2/L4/L40/L40S) 6

7.

ロゴ作成中 7

8.

ロゴ作成中  GPU-Pを動作させるためにはWDDM(Windows Display Driver Model)ド ライバーのインストールが必要  が、NVIDIAのサポートサイトからダウンロードしたドライバーはTCC (Tesla Computing Cluster)ドライバーであり、GPU-P設定不可 8

9.

ロゴ作成中  NVIDIAのvGPUソフトウェアライセンスを取得する必要あり 9

10.

ロゴ作成中  評価版ライセンスを取得 https://www.nvidia.com/ja-jp/data-center/resources/vgpu-evaluation/ 10

11.

ロゴ作成中 DDAドライバー?? とりあえずダウンロード 11

12.

ロゴ作成中  WDDMモードが使用可能に まずはここまで来ることが必要 12

13.

ロゴ作成中  NVIDIAコントロールパネルがまるで違うものに TCCモード タスクマネージャーにも「GPU」が出現 WDDMモード 13

14.

ロゴ作成中  ドキュメントはこのあたり 仮想マシンへの GPU のパーティション分割と割り当て https://learn.microsoft.com/ja-jp/windows-server/virtualization/hyper-v/partition-assign-vm-gpu? tabs=powershell  Hyper-Vホストでパーティション設定実施 コマンドレットは「Set-VMHostPartitionableGpu」 14

15.

ロゴ作成中  ドキュメントどおりGPUを割り当てる コマンドレットは「 Add-VMGpuPartitionAdapter」  割り当て確認コマンドレットは「Get-VMGpuPartitionAdapter」  ドキュメントの通りに出力されないが、とりあえず仮想マシンを起動…… 15

16.

ロゴ作成中  エラーが出て起動不可…… 16

17.

ロゴ作成中 以降の手順は、公式手順ではない手順になっています。 とりあえず動かすことを目的としているため、無保証です。 17

18.

ロゴ作成中  NVIDIAのドライバー関連を調べていると、Windows Server 2025のGPU-P サポートが怪しい Windows Serverのサポートマトリクス 最新版のVer.17系でもWindows Server 2022までのサポート (だからDDAのみ?) 18

19.

ロゴ作成中  イベントログを手掛かりに、このへんのレジストリをいじってみる  レジストリキーのドキュメント DXGKARG_GETVIRTUALGPUPROFILE 構造体 (dispmprt.h) https://learn.microsoft.com/ja-jp/windows-hardware/drivers/ddi/dispmprt/ns-dispmprt-_dxgkarg_getvirtualgpuprofile 19

20.

ロゴ作成中  仮想マシンは起動。GPUパーティションも割り当たっている 20

21.

ロゴ作成中  リソース不足でデバイスが動作していない 21

22.

ロゴ作成中  NVIDIA のドキュメント(Azure Local用ドキュメント)を読む限りでは、 以下のコマンドレットの追加実行が必要な模様 Set-VM -GuestControlledCacheTypes $true -VMName $VMName Set-VM -LowMemoryMappedIoSpace 1GB -VMName $VMName Set-VM -HighMemoryMappedIoSpace 32GB -VMName $VMName  起動後、正常動作を確認 22

23.

ロゴ作成中  GPUがないと怒られて、インストールできない  なので、ホストからドライバーをコピーして(無理やり)インストール 23

24.

ロゴ作成中 24

25.

ロゴ作成中  NVIDIA T1000でやってみた ※ T1000はNVIDIAのドキュメント上、DDAでもサポート対象外のGPU 25

26.

ロゴ作成中  NVIDIA A2と同じ設定をしてみると、できたっぽい……! が、FFベンチは起動せず…… パーティションはアサインされている GPUは見えている 26

27.

ロゴ作成中  2VM同時にGPUを使用できるので、DDAではないと思われる 27

28.

ロゴ作成中  Windows Server 2025環境で、とりあえずはGPU-Pは動きました しかしながら、ハードウェア(DELL T320/Xeon E5-2470 v2)の問題か、ドライバーの 問題か、数手間かける必要があったので今後切り分けが必要か (そもそもこの手順でサポート大丈夫なのか……?) 仮想マシンでのドライバーインストール方法も切り分けが必要  対応GPUでなくとも、GPU-Pの設定はできるっぽい……。が、要切り分け  WDDMドライバーのライセンスが必要。長期間検証時にはライセンス購入が必要  やっぱりハードウェアの世界は面白い 28

29.

ロゴ作成中  Windows Server 2025 の新機能 https://learn.microsoft.com/ja-jp/windows-server/get-started/whats-new-windows-server-2025  GPU パーティション分割 https://learn.microsoft.com/ja-jp/windows-server/virtualization/hyper-v/gpu-partitioningInsider  仮想マシンへのGPUのパーティション分割と割り当て https://learn.microsoft.com/ja-jp/windows-server/virtualization/hyper-v/partition-assign-vmgpu?tabs=powershell  NVIDIA Virtual GPU Software v17.0 through 17.4 https://docs.nvidia.com/vgpu/17.0/grid-vgpu-release-notes-microsoft-windows-server/index.html 29

30.

ロゴ作成中 30