皆さんこんにちは。SB C&Sの湯村です。
「【連載】NVIDIA vGPU ご紹介」シリーズ第2回は、「vSphere環境でのvGPUセットアップ手順」です。本記事では、NVIDIA GPUを搭載したvSphere環境においてvGPUを利用できるようにするためのステップをご紹介します。
セットアップの流れ
vSphere環境でvGPUをセットアップすると、下図のような環境が構築されます。緑色で記載されている部分がvGPUを利用するために必要なコンポーネントです。
vSphere環境でvGPUを利用するためには、大きく分けて「vSphere環境設定」と「vGPUライセンス設定」の2つのステップに従う必要があります。vSphere環境でvGPUを利用するための設定を行った後に、NVIDIAライセンスポータルにてvGPUライセンスを利用するための設定を行います。以下に、それぞれの環境における設定項目を記載します。
1. vSphere環境設定
ESXiホストにおけるGPU認識確認
vGPU Managerのインストール
vMotionの構成確認
グラフィックタイプの変更
vGPUプロファイルを適用した仮想マシンの作成
vGPUグラフィックスドライバーのインストール
2. vGPUライセンス設定
ライセンスサーバーの作成
サービスインスタンスの作成
ライセンスサーバーとサービスインスタンスのバインド(紐づけ)
サービスインスタンスへライセンスサーバーのインストール
クライアント構成トークンの生成および配置
1. vSphere環境設定
ESXiホストにおけるGPU認識確認
vSphere ClientでESXiホストを管理しているvCenter Serverへログインします。[設定] タブ > [グラフィック] の順にクリックし、グラフィックデバイスに搭載しているGPUが表示されていることを確認します。
※今回の環境はサーバーに1枚のNVIDIA T4を搭載しているため、1行だけ名前が表示されていますが、複数枚搭載していればその分だけ名前が表示されます。
vGPU Managerのインストール
ESXiホストにインストールするvGPU ManagerをNVIDIA License Portal(NLP)からダウンロードします。 NLPにログイン後、以下の通りにクリックしてパッケージをダウンロードします。
※NVIDIAアカウントが必要です。
[SOFTWARE DOWNLOADS] > [PRODUCT FAMILY] で [vGPU] を選択 > [PLATFORM] で[VMware vSphere] を選択 > vSphereのバージョンに対応したパッケージで [Download]
の順にクリックします。
確認を求められるので、[AGREE AND DOWNLOAD] をクリックします。
ダウンロードしたZipファイル内にあるVIBファイル(vSphere Installation Bundle)を探します。
※ファイル内にあるZipファイルを開くとVIBファイルがあります。
VIBファイルをESXiホストのローカルデータストアにアップロードします。
※今回はvSphere Clientから直接ファイルをアップロードしました。
インストールを行う前に、ESXiホストをメンテナンスモードにします。メンテナンスモードに移行が完了したらSSHでESXiホストに接続し、以下のコマンドでインストールを行います。
#esxcli software vib install -d <アップロード先の絶対パス>
インストールが完了したらESXiホストを再起動し、メンテナンスモードを解除します。メンテナンスモード解除後、以下のコマンドを実行し、GPU情報が取得できることを確認します。
#nvidia-smi
vMotionの構成確認
[vCenterインスタンス] > [設定] タブ > [詳細設定] > [設定の編集]
の順にクリックします。
[vgpu.hotmigrate.enabled] を有効にし、[保存] をクリックします。
グラフィックタイプの変更
対象ESXiホストの [設定] タブ > [グラフィック] > [ホストのグラフィック] > [編集]
の順にクリックします。
[直接共有] を選択し、[OK] をクリックします。
続いて、[グラフィックデバイス] > [搭載GPU] > [編集]
の順にクリックします。
[直接共有] を選択し、[OK] をクリックします。
vGPUプロファイルを適用した仮想マシンの作成
※今回はWindows 10のOSをインストールした仮想マシンを作成しています。
仮想マシンを作成する過程において、仮想ハードウェアの設定画面で [メモリ] を開き、[すべてのゲストメモリを予約(すべてロック)] にチェックを入れます。
[新規デバイスを追加] > [PCIデバイス] の順にクリックします。追加したPCIデバイスを開き、[NVIDIA GRID vGPU] を選択します。vGPUプロファイルで適切なプロファイルを選択し、[OK] をクリックします。
vGPUグラフィックスドライバーのインストール
【補足】グラフィックスドライバーをゲストOSにインストールすると、vSphere Client上のコンソール機能(Web ConsoleやRemote Console)が使用できなくなります。つまり、グラフィックスドライバーをインストールする前にリモートデスクトップ等で接続できるような環境を整えておくと、これ以降の作業がしやすくなります。
先ほどダウンロードしたZipファイルの中にあるexeファイルをゲストOS上で実行します。
ファイル保管先はそのままで [OK] をクリックします。
契約書を読み、[同意して続行する] をクリックします。
[高速] を選択し、[次へ] をクリックします。
インストールが終了したら、[今すぐ再起動する] をクリックしてゲストOSを再起動します。
再起動後、デスクトップ上で右クリックし、[NVIDIA コントロール パネル] をクリックします。NVIDIA コントロール パネルが起動したらグラフィックスドライバーが実行されています。
※この時点ではvGPUライセンスを適用していないため、「NVIDIA ライセンスがありません。」というWindowsの通知が届きます。
vGPUライセンス設定
vSphere環境設定を終えたら、vGPUのライセンスを適用します。
※今回はクラウド上にライセンスシステムを配置させるCLS(Cloud License Service)を使用しています。CLSやDLS(Delegated License Service)の違い等、vGPUライセンスの仕組みについては割愛します。詳細は「第5回 vGPUライセンスの仕組み」でご紹介しますので、そちらをご覧ください。
ライセンスサーバーの作成
NVIDIA License Portal(NLP)にログインします。
※アカウントが必要です。
[CREATE SERVER] をクリック > ライセンスサーバーの [Name] と [Description] を入力 > [Next: Select features] をクリック
の順に操作します。
使用するライセンスを選択し、[Next: Preview server creation] をクリックします。
※今回は仮想マシン1台に1つのライセンスを割り当てるため、ライセンスの数量はデフォルトの「1」となっています。仮想マシンの必要な分だけ [ADDED] で数量を変更してください。
[CREATE SERVER] をクリックします。
ライセンスサーバーが作成されたことを確認します。
サービスインスタンスの作成
[SERVICE INSTANCES] > [ACTIONS] > [Create CLS instance]
の順にクリックします。
[Name] と [Description] を入力し、[CREATE SERVICE INSTANCE] をクリックします。
※どちらも必須入力項目です。
サービスインスタンスが作成されたことを確認します。
ライセンスサーバーとサービスインスタンスのバインド(紐づけ)
[LIST SERVERS] > 作成したライセンスサーバーの [Actions] > [Bind]
の順にクリックします。
先ほど作成したサービスインスタンスをプルダウン内から選択し、[BIND] をクリックします。
ライセンスサーバーにサービスインスタンスがバインドされたことを確認します。
サービスインスタンスへライセンスサーバーのインストール
使用するライセンスサーバーの [Actions] > [Install]
の順にクリックします。
[INSTALL SERVER] をクリックします。
※バインドされているサービスインスタンスが自動的にインストール対象となります。
ライセンスサーバーがインストールされたことを確認します。
クライアント構成トークンの生成および配置
[SERVICE INSTANCES] > 作成したサービスインスタンスの [Actions] > [Generate client config token]
の順にクリックします。
先ほどインストールしたライセンスサーバーを選択し、[DOWNLOAD CLIENT CONFIGURATION TOKEN] をクリックします。
ゲストOS上の以下のフォルダにダウンロードしたトークンファイルを配置します。
トークンファイルの配置フォルダ:%SystemDrive%:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken
※このフォルダは、vGPUグラフィックスドライバーをインストールした際に自動的に作成されます。vGPU Managerのバージョンとグラフィックスドライバーのバージョンに互換性がないと、このフォルダが作成されませんので注意してください。
Windowsのサービスを起動し、[NVIDIA Display Container LS] サービスを再起動します。
※このサービスが起動していることによって、仮想マシンとサービスインスタンスの通信が常に行われるようになります。
ライセンスが適用されていることを確認するために、NVIDIA License Portalに再度戻ります。作成したライセンスサーバーを選択し、
[License Pools] タブ > [Initial LP]
の順にクリックします。すると、[In USE / ALLOCATED] の値が割り当てた分だけ使われていることがわかります。
※今回はライセンスプールに1つのライセンスのみ存在しますので、「1/1」となっています。
以上でvSphere環境の仮想マシンがvGPUを使用できるようになりました。ライセンス割り当てに関しては手順が少々多いため、本記事を参考にしていただき同様の環境を構築してみてください。また、Nutanix AHV環境におけるセットアップ手順についても技術ブログで公開しております。是非そちらも併せてご覧ください。
次回は、本記事で詳しく触れていなかった「ライセンスサーバー」や「サービスインスタンス」等のライセンス周りの概念についてご紹介します。
関連記事
著者紹介
SB C&S株式会社
ICT事業本部 技術本部 技術統括部 第1技術部 2課
湯村 成一 - Seiichi Yumura -
Dell Technologies社製品のプリセールス業務を行うエンジニア。
主にVxRail・Azure Stack HCIといったHCI製品を担当している。