パススルー デバイスは、リソースを効率的に使用するための手段を提供し、環境のパフォーマンスを高めます。

vSphere 8.0 以前では、パススルー デバイスの追加または削除は、仮想マシンがパワーオフされている場合にのみ実行されていました。vSphere の現在のバージョンでは、VMDirectPathI/O デバイスのホットアドとホットリムーブがサポートされています。ホットアドは、仮想マシンがパワーオン状態のときにパススルー デバイスを追加する手順です。

VMDirectPathI/O デバイスのホットアドおよびホットリムーブのサポートでは、次の機能を使用できます。
  • vSphere API による仮想マシンへのパススルー対応デバイスのホットアド。この操作は、次のいずれかの方法で実行できます。
    1. ESXi 起動時に検出された既存デバイスのパススルーを有効にし、デバイスを仮想マシンにホットアドします。
    2. または、ホストの空の PCIe ホットプラグ スロットに新しいデバイスを物理的にホットアドし、新しく追加されたデバイスに対してパススルーを有効にしてから、デバイスを仮想マシンにホットアドすることもできます。
      注: この機能を使用するには、サーバの PCIe ネイティブ ホット プラグ証明書が必要です。
  • vSphere API による仮想マシンからのパススルー デバイスのホット リムーブ。
  • 仮想マシンで使用されているパススルー デバイスのサプライズ ホット リムーブ。ホストのデバイスからこのデバイスを物理的に取り出すことができます。
    注: この機能を使用するには、サーバの PCIe ネイティブのサプライズ ホット プラグ証明書が必要です。
    注: VMDirectPath I/O のホットアドとホットリムーブは、NVMe デバイスでのみサポートされています。 vSphere Client では、VMdirectPathI/O のホット アドとホット リムーブのサポートを利用できません。
次の機能は、パススルーのホット プラグが有効になっている仮想マシンではサポートされません。
  • ゲスト OS に公開される入出力メモリ管理ユニット (IOMMU)。
  • CPU ホット プラグ。
  • メモリ ホット プラグ。
  • 動的 Direct Path I/O。
  • vCPU の数が 128 を上回る仮想マシンのサポート。
  • パススルーのホット プラグが有効になっている仮想マシンでは、仮想割り込み(別名、割り込みポスト)が無効になる場合があります。
  • ホストからパススルー デバイスの物理的なホット リムーブを正常に実行することはできない。
  • ユーザー インターフェイスでのホットアドとホットリムーブのサポート。
  • 仮想マシン Direct Path I/O で使用できないすべての機能。

プラットフォーム、デバイス、およびゲスト OS の要件

サーバとデバイスの要件

  • VMDirectPath I/O デバイスのホットアドおよびホットリムーブ機能が、サーバの Original Equipment Manufacturer (OEM) でサポートされていることを確認する。
  • サーバ プラットフォーム ファームウェアが、ユニファイド エクステンシブル ファームウェア インターフェイス (UEFI) である。
  • サーバ プラットフォームとデバイスが、KB2142307に記載されている要件を満たしていることを確認する。
  • サーバが、仮想マシンの Direct Path I/O に対して認定されている。
  • 仮想マシンからパススルー デバイスのサプライズ ホットリムーブを実行する場合は、PCIe ネイティブのサブライズ ホット プラグに対してサーバ モデルを認定する必要があります。
注: サーバ証明書の詳細については、 VMware 互換性ガイドを参照してください。

ゲスト OS の要件

  • ゲスト OS が NVMe ホットプラグと NVMe サプライズ ホットリムーブをサポートしていることを確認する。
  • NVMe ドライバ I/O スタックのすべての修正を含む、安定した最新の GOS ディストリビューションを使用する。

vCenter Server と ESXi の要件

ESXi と vCenter Server のバージョンは 8.0 Update 1 以降である必要があります。

制限

  • 単一の ReconfigureVM API 呼び出しでホットアドできるパススルー デバイスの最大数は 1 です。
  • 単一の ReconfigureVM API 呼び出しでホット リムーブできるパススルー デバイスの最大数は 1 です。
  • パススルー デバイスのホットアドまたはホットリムーブが要求された場合、同じ ReconfigureVM API 呼び出しで他の仮想マシンの再構成変更を要求することはできません。
  • 仮想マシンがサポートできる NVMe パススルー デバイスの最大数は 32 です。

VMDirectPath I/O デバイスのホット アドとホット リムーブの有効化

vCenter Server と ESXi ホストを準備することで、VMDirectPath I/O デバイスのホット アドとホット リムーブを有効にすることができます。

前提条件

vCenter Server と ESXi ホストを準備します。
  • ビルドを組み合わせて vCenter Server をデプロイし、ESXi のステートフル インストールを実行します。
  • VMKernel 起動パラメータを設定します。
    set -s maxIntrCookies -v 4096
  • ESXi ホストを再起動します。
  • データセンターをデプロイしてホストを追加します。

手順

  1. vSphere Client のホストを参照して移動します。
  2. [構成] タブの [ハードウェア] を展開し、[PCI デバイス] をクリックします。
  3. [NVMe PCI] デバイスを選択し、[パススルーの切り替え] をクリックします。

次のタスク

仮想マシンを準備して構成します。

仮想マシンの準備と構成

パススルー デバイスは、リソースを効率的に使用するための手段を提供し、環境のパフォーマンスを高めます。仮想マシンを準備および構成できます。

仮想マシンのデプロイと構成(UEFI ブート)

手順

  1. vSphere Client で、仮想マシンを参照して移動します。
    1. データセンター、フォルダ、クラスタ、リソース プール、またはホストを選択して、仮想マシンを検索します。
    2. [仮想マシン] タブをクリックします。
  2. 仮想マシンを右クリックし、[設定の編集] を選択します。
  3. [メモリ] セクションを展開し、[すべてのゲスト メモリを予約 (すべてロック)] を設定します。
  4. [保存] をクリックします。
  5. vSphere API ReconfigVM_Task() を使用して、仮想マシンの [fixedPassthruHotPlugEnabled][TRUE] に設定します。詳細については、https://developer.broadcom.com を参照してください。
    注: https://developer.broadcom.com の検索バーを使用して Hotplug という用語を検索してください。
    1. vCenter Server で、[[仮想マシン] を右クリック > [互換性] > [仮想マシンの互換性のアップグレード]][vmx-20] の順にクリックして、[保存] をクリックします。
    2. vSphere API を使用して motherboardLayoutACPI に設定します。詳細については、https://developer.broadcom.comを参照してください。
      注: https://developer.broadcom.com の検索バーを使用して Hotplug という用語を検索してください。
  6. (オプション)パススルー対応 PCI デバイスを仮想マシンに追加します。
  7. 仮想マシンをパワーオンします。
    注: 次のホットプラグ操作を続行する前に、進行中のホットプラグ操作が成功したことを確認します。
  8. vSphere API を使用して、パススルー デバイスのホット アドとホット リムーブを実行します。詳細については、https://developer.broadcom.comを参照してください。
    注: https://developer.vmware.com/samples の検索バーを使用して Hotplug という用語を検索してください。

次のタスク

ホット プラグ操作が成功したかどうかを確認します。

vSphere Client を使用したホット プラグ操作が正常に完了したかどうかの確認

ホットアド、ホットリムーブ、サプライズ ホットリムーブ操作が正常に完了したかどうかを確認するには、vSphere Client を使用して確認します。

手順

  1. vSphere Client で仮想マシンを探します。
  2. データセンター、フォルダ、クラスタ、リソース プール、またはホストを選択し、[仮想マシン] タブをクリックします。
  3. [仮想マシン] をクリックしてリスト内の仮想マシンをクリックします。
  4. [PCI デバイス] テーブルで以下を確認します。
    オプション 説明

    vSphere API を使用した仮想マシンへのパススルー対応デバイスのホットアドが正常に完了したかどうかを確認する。

    ホットアドが実行されたパススルー デバイスが表示されます。

    vSphere API を使用した仮想マシンからのパススルー デバイスのホットリムーブが正常に完了したかどうかを確認する。

    ホット リムーブが実行されたパススルー デバイスは表示されません。

    ESXi ホストからの仮想マシンのパススルー デバイスのサプライズ ホットリムーブ(物理的なホット リムーブ)が正常に完了したかどうかを確認する。

    • サプライズ ホットリムーブが実行されたデバイスは表示されません。
    • ホスト ビューで、次の操作を実行します。
      1. vSphere Client のホストを参照して移動します。
      2. [構成] タブの [ハードウェア] を展開し、[PCI デバイス] をクリックします。
      3. サプライズ ホットリムーブが実行されたデバイスが表示されていないことを確認します。

仮想マシンを使用したホット プラグ操作が正常に完了したかどうかの確認

ホットアド、ホットリムーブ、サプライズ ホットリムーブ操作が正常に完了したかどうかを確認するには、仮想マシンを使用して確認します。

手順

  1. 仮想マシンで、ゲスト OS への SSH 接続を開きます。
  2. root ユーザーとしてログインします。
  3. lspci コマンドを実行します。
  4. 結果を確認します。
    オプション 説明

    vSphere API を使用した仮想マシンへのパススルー対応デバイスのホットアドが正常に完了したかどうかを確認する。

    ホットアドが実行されたパススルー デバイスが表示されます。
    注: パススルー デバイスの Spotfire バイナリ データ ファイル (SBDF) アドレスがホスト上のアドレスと異なる場合があります。

    vSphere API を使用した仮想マシンからのパススルー デバイスのホットリムーブが正常に完了したかどうかを確認する。

    ホット リムーブが実行されたパススルー デバイスは表示されません。

    ESXi ホストからの仮想マシンのパススルー デバイスのサプライズ ホットリムーブ(物理的なホット リムーブ)が正常に完了したかどうかを確認する。

    サプライズ ホットリムーブが実行されたデバイスは表示されません。