永続的なメモリを使用する不揮発性メモリ (NVM) ストレージ デバイスは、データセンターでは一般的になっています。ローカルおよびネットワーク NVM デバイスに接続するために、ESXi は NVM Express (NVMe) プロトコルを使用します。これは、NVM デバイスとの高パフォーマンス マルチキュー通信専用に設計された標準化プロトコルです。

VMware NVMe の概念

ESXi 環境で NVMe ストレージの使用を開始する前に、NVMe の基本的な概念について説明します。

NVM Express (NVMe)
NVMe は、ホストとターゲット ストレージ システム間で接続およびデータ転送するための方法です。NVMe は、フラッシュ デバイスなどの不揮発性メモリを備えた高速ストレージ メディアで使用するように設計されています。このタイプのストレージは、低遅延、少ない CPU 使用率、高パフォーマンスを実現し、通常は SCSI ストレージの代替手段として機能します。
NVMe の転送
NVMe ストレージは、PCIe インターフェイスを使用してホストに直接接続することも、異なるファブリック転送を使用して間接的に接続することもできます。VMware NVMe over Fabrics (NVMe-oF) では、ホストと共有ストレージ アレイ上のターゲット ストレージ デバイス間の遠距離接続が可能になります。
NVMe の転送については現在、次のタイプがあります。
NVMe の転送 ESXi のサポート対象
NVMe over PCIe ローカル ストレージ。
NVMe over RDMA 共有 NVMe-oF ストレージ。RoCE v2 テクノロジーを使用します。
NVMe over Fibre Channel 共有 NVMe-oF ストレージ。
NVMe over TCP 共有 NVMe-oF ストレージ。

各トランスポートに固有の構成要件については、VMware NVMe ストレージの要件を参照してください。

NVMe 名前空間
NVMe ストレージ アレイでは、名前空間は、一定量の不揮発性メモリによってバッキングされるストレージ ボリュームです。 ESXi のコンテキストでは、名前空間はストレージ デバイスまたは LUN の類義語です。 ESXi ホストが NVMe 名前空間を検出すると、その名前空間を表すフラッシュ デバイスが vSphere Client のストレージ デバイスのリストに表示されます。そのデバイスを使用してデータストアを作成し、仮想マシンを格納できます。
ターゲットは SCSI の LUN に相当する名前空間を、アクティブ/アクティブ モードまたは非対称アクセス モードのホストに提示できます。いずれの場合でも、 ESXi は提示された名前空間を検出し、使用できます。 ESXi は、 NVMe end to end および without any NVMe to SCSI のエミュレーションをサポートします。
NVMe コントローラ
コントローラは、1 つまたは複数の NVMe 名前空間に関連付けられ、 ESXi ホストとストレージ アレイ内の名前空間との間のアクセス パスを提供します。コントローラにアクセスするため、ホストはコントローラ検出とコントローラ接続の 2 つのメカニズムを使用します。詳細については、『 NVMe over Fabrics のコントローラの追加』を参照してください。
コントローラ検出
このメカニズムを使用すると、 ESXi ホストは最初に検出コントローラに接続します。検出コントローラは、使用可能なコントローラのリストを返します。ホストがアクセスするコントローラを選択すると、このコントローラに関連付けられたすべての名前空間がホストで使用できるようになります。
コントローラ接続
ESXi ホストは、指定したコントローラに接続します。このコントローラに関連付けられたすべての名前空間がホストで使用できるようになります。
NVMe サブシステム
通常、NVMe サブシステムは、複数の NVMe コントローラ、複数の名前空間、不揮発性メモリ ストレージ媒体、およびコントローラと不揮発性メモリ ストレージ媒体間のインターフェイスを含むストレージ アレイです。このサブシステムは、サブシステムの NVMe 修飾名 (NQN) で識別されます。
VMware High-Performance Plug-in (HPP)
デフォルトでは、 ESXi ホストは HPP を使用して、NVMe-oF ターゲットを要求します。I/O 要求の物理パスを選択する際、HPP は適切なパス選択スキーム (PSS) を適用します。HPP の詳細については、 VMware High Performance プラグインとパス選択スキームを参照してください。デフォルトのパス選択メカニズムを変更するには、 パス選択ポリシーの変更を参照してください。

基本的な VMware NVMe のアーキテクチャおよびコンポーネント

ESXi は、NVMe over PCIe のローカル ストレージ、NVMe-oF の共有ストレージ(NVMe over Fibre Channel、NVMe over RDMA (RoCE v2)、NVMe over TCP など)をサポートします。

VMware NVMe over PCIe
この設定では、 ESXi ホストは PCIe ストレージ アダプタを使用して、1 台以上のローカルの NVMe ストレージ デバイスにアクセスします。ホストにアダプタをインストールすると、ホストは使用可能な NVMe デバイスを検出し、検出されたデバイスは vSphere Client のストレージ デバイス リストに表示されます。

このイメージは、ローカル NVMe ストレージ デバイスに接続されている PCIe ストレージ アダプタを示しています。

VMware NVMe over Fibre Channel
このテクノロジーは、NVMe をファイバ チャネル プロトコルにマッピングして、ホストとターゲット ストレージ デバイス間でのデータおよびコマンドの転送を実現します。この転送では、NVMe をサポートするためにアップグレードされた既存のファイバ チャネル インフラストラクチャを使用できます。

NVMe over Fibre Channel ストレージにアクセスするには、NVMe をサポートするファイバ チャネル ストレージ アダプタを ESXi ホストにインストールします。アダプタの設定は必要ありません。アダプタは、適切な NVMe サブシステムに自動的に接続し、到達可能なすべての共有 NVMe ストレージ デバイスを検出します。後でアダプタを再設定し、コントローラの切断や、ホストの起動時には使用できなかった他のコントローラの接続を行うことができます。詳細については、『NVMe over Fabrics のコントローラの追加』を参照してください。

このイメージは、ファイバ チャネル ファブリックを介して NVMe ストレージに接続された NVMe over Fibre Channel ストレージ アダプタを示しています。

NVMe over RDMA (RoCE v2)
このテクノロジーは、ネットワーク上の 2 台のシステム間でリモート ダイレクト メモリ アクセス (RDMA) 転送を使用します。この転送は、オペレーティング システムやいずれかのシステムのプロセッサを経由せずに、メイン メモリでのデータ交換を実現します。 ESXi は、イーサネット ネットワークを介したリモート ダイレクト メモリ アクセスを実現する、RDMA over Converged Ethernet v2 (RoCE v2) テクノロジーをサポートします。

ストレージにアクセスするため、ESXi ホストは、ホストにインストールされている RDMA ネットワーク アダプタと、ソフトウェア NVMe over RDMA ストレージ アダプタを使用します。ストレージ検出のため、これらの両方のアダプタを設定する必要があります。詳細については、『ESXi での NVMe over RDMA (RoCE v2) の構成』を参照してください。

このイメージは、RDMA ファブリックを介して NVMe ストレージに接続されたソフトウェア NVMe over RDMA を示しています。

NVMe over TCP

このテクノロジーは、2 つのシステム間でイーサネット接続を使用します。ストレージにアクセスするため、ESXi ホストは、ホストにインストールされているネットワーク アダプタと、ソフトウェア NVMe over TCP ストレージ アダプタを使用します。ストレージ検出のため、これらの両方のアダプタを設定する必要があります。詳細については、『ESXi での NVMe over TCP の構成』を参照してください。

このイメージは、TCP/IP ネットワークを介して NVMe ストレージに接続されたソフトウェア NVMe over TCP アダプタを示しています。