SB C&Sの最新技術情報 発信サイト

C&S ENGINEER VOICE

【連載】NVIDIA vGPU ご紹介 第2回 vSphere環境でのvGPUセットアップ手順

仮想化
2022.10.12

皆さんこんにちは。SB C&Sの湯村です。

【連載】NVIDIA vGPU ご紹介」シリーズ第2回は、「vSphere環境でのvGPUセットアップ手順」です。本記事では、NVIDIA GPUを搭載したvSphere環境においてvGPUを利用できるようにするためのステップをご紹介します。

セットアップの流れ

vSphere環境でvGPUをセットアップすると、下図のような環境が構築されます。緑色で記載されている部分がvGPUを利用するために必要なコンポーネントです。ポンチ.png

vSphere環境でvGPUを利用するためには、大きく分けて「vSphere環境設定」と「vGPUライセンス設定」の2つのステップに従う必要があります。vSphere環境でvGPUを利用するための設定を行った後に、NVIDIAライセンスポータルにてvGPUライセンスを利用するための設定を行います。以下に、それぞれの環境における設定項目を記載します。

1. vSphere環境設定

​​​​​​​​​​ESXiホストにおけるGPU認識確認
vGPU Managerのインストール
vMotionの構成確認
グラフィックタイプの変更
vGPUプロファイルを適用した仮想マシンの作成
vGPUグラフィックスドライバーのインストール

2. vGPUライセンス設定

ライセンスサーバーの作成
サービスインスタンスの作成
ライセンスサーバーとサービスインスタンスのバインド(紐づけ)
サービスインスタンスへライセンスサーバーのインストール
クライアント構成トークンの生成および配置

1. vSphere環境設定

​​​​​​​​​​ESXiホストにおけるGPU認識確認

【目的】サーバーに搭載したGPUがESXiホスト上で認識されていることを確認します。

vSphere ClientESXiホストを管理しているvCenter Serverへログインします。[設定] タブ > [グラフィック] の順にクリックし、グラフィックデバイスに搭載しているGPUが表示されていることを確認します。
※今回の環境はサーバーに1枚のNVIDIA T4を搭載しているため、1行だけ名前が表示されていますが、複数枚搭載していればその分だけ名前が表示されます。

1.png

vGPU Managerのインストール

【目的】物理GPUをvGPUとして利用するために必要なvGPU Managerを対象のESXiホストにインストールします。

ESXiホストにインストールするvGPU ManagerNVIDIA License Portal(NLPからダウンロードします。 NLPにログイン後、以下の通りにクリックしてパッケージをダウンロードします。
NVIDIAアカウントが必要です。
[SOFTWARE DOWNLOADS] [PRODUCT FAMILY] [vGPU] を選択 > [PLATFORM] [VMware vSphere] を選択 > vSphereのバージョンに対応したパッケージで [Download]
の順にクリックします。

1.png

確認を求められるので、[AGREE AND DOWNLOAD] をクリックします。

2.png

ダウンロードしたZipファイル内にあるVIBファイル(vSphere Installation Bundle)を探します。
※ファイル内にあるZipファイルを開くとVIBファイルがあります。

1.png

VIBファイルをESXiホストのローカルデータストアにアップロードします。
※今回はvSphere Clientから直接ファイルをアップロードしました。

2.pngインストールを行う前に、ESXiホストをメンテナンスモードにします。メンテナンスモードに移行が完了したらSSHでESXiホストに接続し、以下のコマンドでインストールを行います。
#esxcli software vib install -d <アップロード先の絶対パス>

3.png

インストールが完了したらESXiホストを再起動し、メンテナンスモードを解除します。メンテナンスモード解除後、以下のコマンドを実行し、GPU情報が取得できることを確認します。
#nvidia-smi

4.png以上で、vGPU Managerのインストールは完了です。

vMotionの構成確認

【目的】vGPUを構成した仮想マシンに対してもvSphere vMotionがサポートされていますが、vCenter Serverの設定でvGPU hot migrationが有効になっている必要があります。vCenter Serverの設定を閲覧し、設定が有効になっているか確認します。

[vCenterインスタンス] [設定] タブ > [詳細設定] [設定の編集]
の順にクリックします。

1.png[vgpu.hotmigrate.enabled] を有効にし、[保存] をクリックします。

2.png

グラフィックタイプの変更

【目的】vSphere 6.5以降のvGPU Managerをインストールすると、デフォルトのグラフィックタイプが「共有」になっています。vGPU機能を有効にするためにはグラフィックタイプを「直接共有」に変更する必要があります。

対象ESXiホストの [設定] タブ > [グラフィック] [ホストのグラフィック] [編集]
の順にクリックします。

1.png

[直接共有] を選択し、[OK] をクリックします。

2.png

続いて、[グラフィックデバイス] [搭載GPU] [編集]
の順にクリックします。

3.png

[直接共有] を選択し、[OK] をクリックします。

4.png

vGPUプロファイルを適用した仮想マシンの作成

【目的】vGPUプロファイルを適用した仮想マシンを作成します。vGPUプロファイルは仮想マシンのPCIデバイスとして割り当てられます。
※今回はWindows 10のOSをインストールした仮想マシンを作成しています。

仮想マシンを作成する過程において、仮想ハードウェアの設定画面で [メモリ] を開き、[すべてのゲストメモリを予約(すべてロック)] にチェックを入れます。

1.png

[新規デバイスを追加] [PCIデバイス] の順にクリックします。追加したPCIデバイスを開き、[NVIDIA GRID vGPU] を選択します。vGPUプロファイルで適切なプロファイルを選択し、[OK] をクリックします。

2.png

vGPUグラフィックスドライバーのインストール

【目的】vGPUを利用するゲストOSにvGPUグラフィックスドライバーをインストールします。
【補足】グラフィックスドライバーをゲストOSにインストールすると、vSphere Client上のコンソール機能(Web ConsoleやRemote Console)が使用できなくなります。つまり、グラフィックスドライバーをインストールする前にリモートデスクトップ等で接続できるような環境を整えておくと、これ以降の作業がしやすくなります。

先ほどダウンロードしたZipファイルの中にあるexeファイルをゲストOS上で実行します。

1.png

ファイル保管先はそのままで [OK] をクリックします。

1.png

契約書を読み、[同意して続行する] をクリックします。

2.png

[高速] を選択し、[次へ] をクリックします。

3.png

インストールが終了したら、[今すぐ再起動する] をクリックしてゲストOSを再起動します。

4.png再起動後、デスクトップ上で右クリックし、[NVIDIA コントロール パネル] をクリックします。NVIDIA コントロール パネルが起動したらグラフィックスドライバーが実行されています。
※この時点ではvGPUライセンスを適用していないため、「NVIDIA ライセンスがありません。」というWindowsの通知が届きます。

5.png

vGPUライセンス設定

vSphere環境設定を終えたら、vGPUのライセンスを適用します。
※今回はクラウド上にライセンスシステムを配置させるCLS(Cloud License Service)を使用しています。CLSやDLS(Delegated License Service)の違い等、vGPUライセンスの仕組みについては割愛します。詳細は「第5vGPUライセンスの仕組み」でご紹介しますので、そちらをご覧ください。

ライセンスサーバーの作成

【目的】ライセンスのもととなるライセンスサーバーを作成します。

NVIDIA License Portal(NLP)にログインします。
※アカウントが必要です。

[CREATE SERVER] をクリック > ライセンスサーバーの [Name] [Description] を入力 > [Next: Select features] をクリック
の順に操作します。

1.png

使用するライセンスを選択し、[Next: Preview server creation] をクリックします。
※今回は仮想マシン1台に1つのライセンスを割り当てるため、ライセンスの数量はデフォルトの「1」となっています。仮想マシンの必要な分だけ [ADDED] で数量を変更してください。

2.png

[CREATE SERVER] をクリックします。

3.png

ライセンスサーバーが作成されたことを確認します。

4.png

サービスインスタンスの作成

【目的】vGPUを利用する仮想マシンと通信を行うサービスインスタンスを作成します。

[SERVICE INSTANCES] > [ACTIONS][Create CLS instance]
の順にクリックします。

1.png

 [Name] [Description] を入力し、[CREATE SERVICE INSTANCE] をクリックします。
※どちらも必須入力項目です。

2.png

サービスインスタンスが作成されたことを確認します。

3.png

ライセンスサーバーとサービスインスタンスのバインド(紐づけ)

【目的】作成したライセンスサーバー(ライセンスのもと)とサービスインスタンスをバインドします。ライセンスサーバーをサービスインスタンスにバインドすると、サーバー上のライセンスはそのサービスインスタンスからのみ使用できるようになります。

[LIST SERVERS] > 作成したライセンスサーバーの [Actions] [Bind]
の順にクリックします。

1.png

先ほど作成したサービスインスタンスをプルダウン内から選択し、[BIND] をクリックします。

2.png

ライセンスサーバーにサービスインスタンスがバインドされたことを確認します。

3.png

サービスインスタンスへライセンスサーバーのインストール

【目的】ライセンスサーバーをサービスインスタンスにバインドした後、ライセンスサーバーをサービスインスタンスにインストールすることで、サーバー上のライセンスをインスタンスで使用できるようになります。

使用するライセンスサーバーの [Actions] [Install]
の順にクリックします。

1.png

[INSTALL SERVER] をクリックします。
※バインドされているサービスインスタンスが自動的にインストール対象となります。

2.png

ライセンスサーバーがインストールされたことを確認します。

3.png

クライアント構成トークンの生成および配置

【目的】ライセンスサーバーとサービスインスタンスの設定が完了したら、クライアント構成トークンを生成し、vGPUを利用する仮想マシンに配置します。

[SERVICE INSTANCES] > 作成したサービスインスタンスの [Actions] [Generate client config token]
の順にクリックします。

1.png

先ほどインストールしたライセンスサーバーを選択し、[DOWNLOAD CLIENT CONFIGURATION TOKEN] をクリックします。

2.png

ゲストOS上の以下のフォルダにダウンロードしたトークンファイルを配置します。
トークンファイルの配置フォルダ:%SystemDrive%:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken
※このフォルダは、vGPUグラフィックスドライバーをインストールした際に自動的に作成されます。vGPU Managerのバージョンとグラフィックスドライバーのバージョンに互換性がないと、このフォルダが作成されませんので注意してください。

3.png

Windowsのサービスを起動し、[NVIDIA Display Container LS] サービスを再起動します。
※このサービスが起動していることによって、仮想マシンとサービスインスタンスの通信が常に行われるようになります。

4.png

ライセンスが適用されていることを確認するために、NVIDIA License Portalに再度戻ります。作成したライセンスサーバーを選択し、
[License Pools] タブ > [Initial LP]
の順にクリックします。すると、[In USE / ALLOCATED] の値が割り当てた分だけ使われていることがわかります。
※今回はライセンスプールに1つのライセンスのみ存在しますので、「1/1」となっています。

5.png以上でvSphere環境の仮想マシンがvGPUを使用できるようになりました。ライセンス割り当てに関しては手順が少々多いため、本記事を参考にしていただき同様の環境を構築してみてください。また、Nutanix AHV環境におけるセットアップ手順についても技術ブログで公開しております。是非そちらも併せてご覧ください。

次回は、本記事で詳しく触れていなかった「ライセンスサーバー」や「サービスインスタンス」等のライセンス周りの概念についてご紹介します。

著者紹介

SB C&S株式会社
ICT事業本部 ICT事業戦略・技術本部 技術統括部 第1技術部 3課

湯村 成一 - Seiichi Yumura -