ステップバイステップのセットアップ、テスト、パフォーマンス分析を使用して、AI、VDI、レンダリング用に Proxmox vGPU を構成する方法を学びます。
Proxmox Server Solutions は最近、仮想環境 (VE) ハイパーバイザー向けの NVIDIA vGPU サポートを発表しました。これにより、レンダリング、VDI、AI、およびその他のアプリケーション向けの GPU アクセラレーションのまったく新しい世界が実現します。ハイパーバイザーの新機能セットをレビューして説明し、そのパフォーマンスを評価します。ぜひご参加ください。
vGPU サポートの何がすごいのでしょうか?
NVIDIA の vGPU ソフトウェアについてご存じない方のために説明すると、このソフトウェアは GPU のコンピューティング リソースとメモリ リソースを複数の仮想マシン (VM) に分割して分散することを可能にします。この設定では、VM は GPU の処理能力を交互に使用し、必要に応じてカードのメモリの一部を割り当てます。このアプローチにより、ゲスト VM のワークロードの強度が変化しても、GPU はピーク使用率を維持できます。
始める前に…(前提条件)
Proxmox VE (PVE)でGPU仮想化環境を立ち上げる前に、いくつか準備が必要です。多くのデータセンターの製品と同様に、NVIDIAのvGPUソフトウェアは無料ではありません。 購入 or 評価版にサインアップする 仮想GPUソフトウェアを購入してNVIDIAエンタープライズアカウントを作成します。次に、 vGPU対応カード 適切なドライバーをダウンロードしてください ライセンスポータル「Linux KVM」ドライバーの最新バージョンを入手します。少なくとも、次のものをダウンロードしてください。
- vGPU ソフトウェア: 18.0
- ホストドライバー: 570.124.03
- Linux ゲスト ドライバー: 570.124.06
- Windows ゲスト ドライバー: 572.60
このプロジェクトでは、NVIDIA L40S と Dell PowerEdge R760 を活用しました。
さらに、ゲストでvGPU機能を有効化するには、専用ライセンスサーバー(DLS)またはクラウドライセンスサーバー(CLS)が必要になります。クイックスタートガイドは、 こちら.
次に、サーバーのUEFI(BIOS)設定で適切な仮想化機能が有効になっていることを確認します。 VT-d or AMD-v, SR-IOV, 4G以上のデコード, サイズ変更可能なバー, 代替ルーティング ID の解釈 (アリ) 設定を確認し、すべてが有効になっていることを確認します。
ご注意: 一部の機能はユーザーに公開されていない可能性があるため、UEFI メニューにこれらの機能がすべて表示されない場合があります。
最後に、適切なバージョンの Proxmox VE を使用していることを確認します。vGPU 機能には、少なくとも pve-manager バージョン 8.3.4、カーネル 6.18.12-8-pve 以降が必要です。以下に示すように、目的のサーバーの [概要] タブに移動して、PVE ノードのソフトウェア バージョンを確認できます。
最も優れたホスト (Proxmox ホスト vGPU セットアップ)
これで準備はすべて整いました。次は Proxmox VE サーバーの設定です。Proxmox VE サーバーの Web インターフェイスで、画面の左側にあるサーバー名をクリックし、「シェル」タブを選択します。表示されるコンソール ウィンドウに次のコマンドを入力し、完了したら Enter キーを押します。
apt をインストール pve-nvidia-vgpu-helper
これにより、vGPU セットアップ ツールがサーバーにインストールされ、Proxmox vGPU サポートの準備が整います。サーバーがスクリプトのインストールを完了するか、すでに存在していることを通知したら、もう 1 つのコマンドを実行してツールを実行します。
pve-nvidia-vgpu-helper セットアップ
すべての質問に「Y」と答え、コンソール ウィンドウが戻ってスクリプトが終了するまで続行します。サーバーの「概要」タブに移動して「再起動」ボタンを押すか、「シェル」タブのコンソールに再起動コマンドを入力して Enter キーを押すことで、サーバーのクイック再起動を実行します。
次に、NVIDIAのvGPUホストドライバーをサーバーにロードする必要があります。サーバーの再起動が完了したら、SSHまたはSCP転送ツール(例: WinSCPの ホスト ドライバーをノードにコピーします。
ご注意: すべてのドライバーを圧縮 (.zip) フォルダーとしてまとめてダウンロードした場合は、まずその内容を解凍し、「Host_Drivers」フォルダーから「.run」ファイルを選択する必要があります。
ファイルをサーバーの「/home」ディレクトリに配置し、次のコマンドでインストーラーを実行する準備をします。
cd /home chown root NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run chmod +X NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run ./NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run --dkms
ご注意: 「NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run」を、ダウンロードしたドライバーの実際の名前に置き換えます。ファイルが「/home」ディレクトリに配置されたら、「ls」コマンドを使用してファイル名を表示できます。
ドライバーがサーバーにインストールされたので、Proxmox vGPU 構成のホスト側が完了するまであと数ステップです。仮想マシン間で分割できるデバイスとして GPU をマークする前に、シングル ルート I/O 仮想化 (SR-IOV) を有効にする必要があります。 NVIDIAはこの機能を定義している 「…物理 PCIe デバイスが PCIe バスを介して複数回存在できるようにするテクノロジ。このテクノロジにより、個別のリソースを持つデバイスの複数の仮想インスタンスが可能になります。」SR-IOV は、最新の GPU の基本的な vGPU 機能に必要な重要なテクノロジであるため、次のコマンドを使用して起動時にオンになるように設定します。
systemctl を有効にする --now [メール保護]
最後に、GPU のリソースをマッピングして、VM 間できれいに分割することができます。Proxmox VE サーバーの Web インターフェイスで、左上隅の「データセンター」をクリックし、下にスクロールして「リソース マッピング」タブを選択します。
ページの「PCI デバイス」セクションの下にある「追加」ボタンをクリックし、次のウィンドウの「名前:」フィールドに、マッピングする GPU を表す名前を入力します。
次に、「仲介デバイスで使用」というラベルの付いたボックスをチェックし、「ノード上のマッピング」ドロップダウン メニューに、マップされている GPU を持つサーバーが含まれていることを確認します。デバイスのリストを下にスクロールし、すべてのデバイス ID の「ベンダー」列に「NVIDIA Corporation」が含まれていることを確認します。これが当てはまる場合は、表の左上にあるチェックボックスをクリックしてすべてのデバイスを選択します。それ以外の場合は、ベンダーが「NVIDIA Corporation」であるデバイスのみを選択します。
ご注意: システムに複数の GPU がインストールされている場合は、目的のサーバーの「シェル」タブで「lspci」コマンドを使用して、各カードに対応する ID を判別できます。
デバイスの選択が完了したら、ポップアップ ウィンドウの右下にある [作成] ボタンをクリックして選択を確定します。これで、NVIDIA GPU を Proxmox VE サーバーのゲスト用の vGPU にスライスする準備が整いました。
ゲストへのサービス提供(仮想マシンへの vGPU の割り当て)
仮想マシンに vGPU を割り当てて使用するための準備がすべて整いました。まず、通常どおり新しい仮想マシンを作成するか、既存の VM を使用します。このデモでは、Windows Server 2025 仮想マシンを使用します。
Proxmox VE サーバーの Web インターフェイスで、適切な方法 (noVNC コンソール、ゲストの電源メニューなど) を使用して仮想マシンをシャットダウンし、ゲストの「ハードウェア」タブをクリックします。
「追加」ボタンをクリックした後に表示されるドロップダウン メニューで、「PCI デバイス」を選択します。
ポップアップの「追加: PCI デバイス」ウィンドウで、「デバイス:」フィールドでリソース マップされた GPU に割り当てた名前を選択します。
次に、「MDev タイプ:」フィールドをクリックして、表示される仲介デバイス タイプ オプションのリストを確認します。各選択肢には数字と文字の指定があることに気付くでしょう。数字はゲストに割り当てられた VRAM の量 (ギガバイト単位) を表し、「A」、「B」、「Q」は vGPU の使用例を示します。
- Q – RTX エンタープライズ ドライバーを搭載した仮想ワークステーション (RTX vWS ライセンスが必要)
- B – 仮想デスクトップ(NVIDIA Virtual PC ライセンスまたは RTX vWS ライセンスが必要)
- A – アプリケーション ソリューション (NVIDIA 仮想アプリケーション ライセンスが必要)
ご注意: さまざまなvGPUプロファイルと必要なライセンスの詳細については、こちらをご覧ください。 こちら.
このデモでは、「NVIDIA L40S-12Q」プロファイルを使用しました。希望する仲介デバイス タイプを選択したら、「PCI-Express」チェックボックスをオンにして、青い「追加」ボタンをクリックして終了します。
VM に vGPU が割り当てられましたが、動作させるにはゲスト ドライバーとライセンス トークンをインストールする必要があります。これで、仮想マシンの電源をオンにしてログインできます。
ログイン後、先ほど取得したNVIDIA vGPUゲストドライバーを ライセンスポータル 任意の方法(SMB、SCP、直接ダウンロードなど)でVMにダウンロードします。または、次のようなソフトウェアを使用して、ドライバを含む仮想CD-ROMファイル(.iso)を作成し、PVEサーバーのストレージにアップロードすることもできます。 ImgBurnを 多数の vGPU 対応ゲストを同時にデプロイします。
実行可能ファイルをダブルクリックしてドライバー インストーラー ファイルを実行し、表示されるインストール メニューの指示に従います。
「抽出パス:」フィールドのデフォルトの場所にドライバーを抽出し、プロンプトが表示されたら「高速」インストール オプションを選択します。
ドライバーのインストールが完了したら、「閉じる」ボタンをクリックしてメニューを終了します。
次に、ゲストでvGPUライセンスをアクティベートする必要があります。アクティベーション方法は、専用ライセンスサーバー(DLS)を選択するかクラウドライセンスサーバー(CLS)を選択するか、オペレーティングシステムによって大きく異なります。NVIDIAの ライセンス システム クイック スタート ガイド と クライアント ライセンス ユーザー ガイド 特定の設定でクライアントをアクティブ化する詳細な手順については、こちらをご覧ください。
クラウド ライセンス サーバーを使用し、アクティベーションのためにゲストに配置するトークン ファイルを受け取りました。このファイルをゲストに移動し、「C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken」フォルダーにコピーします。
次に、アクティベーション プロセスを完了するには、ゲストを再起動する必要があります。
ここで説明するホストとゲストの構成手順をすべて実行すると、GPU を必要とするプログラムやアプリケーションを実行できるようになります。再起動後にゲストにリモート デスクトップ プロトコル (RDP) を有効にするか、お気に入りのリモート デスクトップ ソフトウェアをインストールして、GPU アクセラレーションによるリモート ビューイングの素晴らしさを享受することを忘れないでください。
エンジンを始動する (Proxmox vGPU を試す)
仮想 GPU を備えた仮想サーバーがいくつかできたので、実際に試してみましょう。各 VM は、8 個の固定 Intel Xeon Platinum 8580 vCPU (ハイパースレッド コア 4 個)、32 ギガバイトの DDR5 4800 MT/s レジスタード ECC RAM、および 40 ギガバイトの VRAM を備えた NVIDIA L12S-12Q (仮想ワークステーション) vGPU プロファイルで構成されています。仮想マシンの完全なハードウェア構成は、以下で確認できます。
Cinebench 2024
Maxon の Cinema 4D モデリングおよびアニメーション ソフトウェアをベースにした Cinebench 2024 は、vGPU でのレンダリング パフォーマンスを興味深く客観的に評価します。40 台の仮想マシンで「48Q」(VRAM 48 ギガバイトすべて) プロファイルの L12S の性能をフルに発揮した場合と、「XNUMXQ」プロファイルで XNUMX 台の仮想マシンで実行した場合を比較してみましょう。
40 台の仮想マシンが L21,147S 全体を占有するのはあまり意味がありませんが、シングル パス GPU ベンチマークで 2,514 ポイントというパフォーマンスは印象的です。ただし、GPU を 2,567 分割すると、GPU の CUDA コアを共有する NVIDIA のタイム スライス アプローチの影響がわかります。ベンチマークをすべての VM で同時に実行した場合、個々のスコアは XNUMX から XNUMX の範囲になります。
「12Q」プロファイルの単一の仮想マシンでテストを再実行し、他の 15,133 つの仮想マシンをアイドル状態にすると、スコアは XNUMX に戻ります。完全な GPU のスコアに戻ったわけではありませんが、パーティション化された vGPU としては依然として立派なスコアです。
ブレンダーのベンチマーク
Blender でさらにいくつかのレンダリング ベンチマークを続けましょう。Cinebench 2024 と同様の傾向に従い、GPU を XNUMX 分割すると、同じプロファイルで同じワークロードを実行する単一の仮想マシンと比較すると、全体的なパフォーマンスが大幅に低下します。
Monster ベンチマークで実証されているように、GPU の計算能力を共有する VM が 8 台しかない場合、個々のレンダリング パフォーマンスは同じプロファイルを持つ単一の VM の 2.4% 程度にしかならない可能性があります。ただし、XNUMX 台の仮想マシンが他の仮想マシンに対してかなりのリードを獲得し、最もパフォーマンスの低い仮想マシンのスコアの最大 XNUMX 倍を獲得しているのが観察されました。
Junkshop と Classroom のベンチマークでも同様の結果が得られており、4 つの VM のうち 3 つでパフォーマンスが大幅に低下し、1 つのゲストが他のゲストよりもはるかに高いスコアを獲得しています。
興味深いことに、2025 台の仮想マシンの vGPU に高い優先度が与えられ、大幅にリードする瞬間が短時間あるようです。たとえば、Classroom ベンチマークでは、2025 台目の Windows Server 2 VM (WINXNUMX-XNUMX) は、同時に実行されていたにもかかわらず、他の VM の XNUMX 倍以上のパフォーマンスを達成しました。これが vGPU ソフトウェアのスケジュールによるものか、GPU 自体の性質によるものかは正確には判断できませんが、このカードでの NVIDIA のタイム スライスのみのアプローチに特有のパフォーマンスの異常が浮き彫りになっています。
まとめ:
NVIDIA の vGPU ソフトウェアのセットアップとサポートは、他の競合プラットフォームほど洗練されていないかもしれません。それでも、Proxmox 仮想環境システムをすでに実行している組織やホームラボにとっては、エキサイティングで価値のある機能です。GPU リソースを分割するとパフォーマンスが大幅に低下しますが、多くの組織は依然として NVIDIA の vGPU テクノロジを活用しており、GPU を共有する方がこの欠点を上回ると判断しています。この姿勢は、多くのハイパースケーラーやスペースが限られたデータセンターで採用されており、できるだけ多くのテナント (この場合は、vGPU を備えた仮想マシン) を可能な限り小さなフットプリントに詰め込むことが、最も効率的で収益性の高いオプションです。
Proxmox Server Solutionsの最近の急速な機能拡張には、ソフトウェア定義ネットワーク、Linux 6.11カーネルのサポートなどがあり、 専用のデータセンター管理システム 大きな進歩が見られ、ハイパーバイザー分野で有効な選択肢になりつつあることが証明されています。この分野での継続的な発展を期待しており、近々 PVE に登場するエキサイティングなツールやテクノロジーについてさらに詳しくお伝えできることを楽しみにしています。
StorageReview と連携する
ニュースレター | YouTube |ポッドキャスト iTunes/Spotifyは | Instagram | Twitter | TikTok | RSSフィード