ホーム Enterprise NVMe-oFとは何ですか?

NVMe-oFとは何ですか?

by フアン・マルフォード
NVMeoF

近年、私たちはストレージのパフォーマンスがいかに高速化しているかを実感し続けており、データセンターのボトルネックとなっている古いストレージプロトコルへの挑戦を続けています。 100GbE の最新のファブリック速度や InfiniBand などの新しいネットワーク標準を使用しているにもかかわらず、これらの遅いネットワーク プロトコル テクノロジはフラッシュ デバイスのパフォーマンスを制限し、デバイス自体の内部に保持され、ボックス内で隔離されます。この記事では、Non-Volatile Memory Express (NVMe) について簡単に説明します。さらに、最新のストレージ ネットワークのボトルネックを解決するために開発された新しいプロトコル仕様である NVMe over Fabrics (NVMe-oF) と NVMe over RDMA over Converged Ethernet (NVMe over RoCE) について概説します。

近年、私たちはストレージのパフォーマンスがいかに高速化しているかを実感し続けており、データセンターのボトルネックとなっている古いストレージプロトコルへの挑戦を続けています。 100GbE の最新のファブリック速度や InfiniBand などの新しいネットワーク標準を使用しているにもかかわらず、これらの遅いネットワーク プロトコル テクノロジはフラッシュ デバイスのパフォーマンスを制限し、デバイス自体の内部に保持され、ボックス内で隔離されます。この記事では、Non-Volatile Memory Express (NVMe) について簡単に説明します。さらに、最新のストレージ ネットワークのボトルネックを解決するために開発された新しいプロトコル仕様である NVMe over Fabrics (NVMe-oF) と NVMe over RDMA over Converged Ethernet (NVMe over RoCE) について概説します。

NVMeoF

クラウドやデータセンターでは低遅延と高スループットが常に求められているため、NVMe over Fabric について多くの議論が行われています。 NVMe 仕様が存在してから 10 年未満であり、NVMe-oF も比較的新しいため、その実践とそれがビジネスにどのようなメリットをもたらすかについては、依然として多くの誤解があります。このテクノロジーは継続的に進化しており、IT 業界で広く採用されています。いくつかのネットワーク ベンダーが NVMe-oF 関連製品をエンタープライズ市場に提供し始めています。したがって、高度なデータセンター テクノロジーに追いつくには、NVMe-oF とは何か、その機能、およびパフォーマンス特性を理解することが不可欠です。さらに、それをどのように展開できるか、そしてこのテクノロジーをさまざまな新しいソリューションにどのように組み合わせるか。

NVMe および NVMe-oF

オールフラッシュ アレイ (AFA) は、レガシー ストレージよりもはるかに高速で、市場で常に約束されている 1 万 IOPS を簡単に達成できるため、高パフォーマンスへの要求に応えるためにデータセンターに登場しました。ただし、これらのアレイの多くは、レガシーに近いストレージ テクノロジである SATA SSD を使用し続けていました。このタイプのストレージは、AHCI (Advanced Host Controller Interface) コマンド プロトコルに基づいており、IDE をサポートします。 AHCI は本質的に、高度なフラッシュベースのドライブではなく、回転ディスク用に構築されました。 AHCI を備えた SATA III バスでは最大 600MB/s のデータ転送速度しか許可されないため、この SCSI ベースのテクノロジーは今日の SSD およびストレージ アレイ コントローラーにとってボトルネックとなっています。

NVMe-oF バス速度テーブル1: 一般的なバスの速度

SSD の機能を最大限に活用するには、フラッシュをより高速にアンロードするための新しいテクノロジーが必要でした。 NVMe は、フラッシュ ストレージ (または SSD) がフラッシュのパフォーマンスを最大限に活用できるようにする仕様です。このテクノロジーは、アプリケーションの応答時間を改善するために 2014 年に初めて導入され、より優れた新機能を提供しました。 NVMe ソリッド ステート ドライブには多くのフォーム ファクターがあり、最もよく知られているのは AIC (アドイン カード)、U.2、U.3、および M.2 です。 NVMe SSD は、コンピュータまたはサーバーに直接接続することで、PCIe (Peripheral Component Interconnector Express) 高速バスを利用します。 NVMe は CPU オーバーヘッドを大幅に削減し、操作を合理化してレイテンシを短縮し、3,000 秒あたりの入出力操作数 (IOPS) とスループットを向上させます。たとえば、NVMe SSD は 5MB/秒を超える書き込み速度を実現します。 SATA SSD と比較すると、これは回転ディスクよりも 30 倍、または XNUMX 倍高速であることを意味します。

NVMe を使用すると、IOPS が並行して実行され、同時に多くの計算が可能になります。大きなタスクをいくつかの小さなタスクに分割して、個別に処理できます。マルチコア CPU と同様に、複数のスレッドで動作します。各 CPU コアは互いに独立して動作し、特定のタスクを実行できます。

キュー深度 (QD) は、AHCI に対する NVMe のもう 32 つの利点です。 ACHI と SATA はキューの深さ 1 (32 つのキューとコマンド 65) を処理できますが、NVMe は最大 65K のキューの深さを処理できます。これらは 65K のキューで、各キューはキューごとに最大 XNUMXK のコマンドを保持できます。これにより、レイテンシの短縮に加えて、同時リクエストを処理する多忙なサーバーのパフォーマンスが向上します。

NVMe-oF q 深さ表 2: キューの比較

ただし、データセンターの問題はストレージ ネットワーク プロトコルにあります。 NVMe の台頭にもかかわらず、その恩恵は個々のアプライアンスに限定されています。そして実際には、フラッシュ ストレージや、AFA などのその他のエンタープライズ グレードの(高価な)アプライアンスは、その優れたパフォーマンスをシャーシ内で分離することを目的としていません。代わりに、これらは大規模な並列コンピューター クラスターで使用され、他のサーバーやストレージなどの追加の複数のアプライアンスに接続することを目的としています。このデバイスの相互接続は、スイッチ、ルーター、プロトコル ブリッジ、ゲートウェイ デバイス、ケーブルなどを含む、ファブリック、ストレージ ネットワークと呼ばれるものです。

2016 年に、NVMe-oF 業界標準が発表されました。このプロトコル仕様は、イーサネット、ファイバー チャネル、RoCE、または InfiniBand を使用して、NVMe の驚異的なパフォーマンスをストレージ アレイ コントローラーからファブリックまで拡張します。 NVMe-oF は、NVMe で使用される PCIe バスの代わりに、トランスポート マッピングとして代替データ トランスポート プロトコル (ファブリック経由) を使用します。ファブリックは、エンドポイント間で共有メモリを使用せずにメッセージを送受信するという概念に基づいて構築されています。 NVMe ファブリック メッセージ トランスポートは、NVMe コマンドと応答を、XNUMX つ以上の NVMe コマンドまたは応答を含むメッセージ ベースのシステムにカプセル化します。

NVMe-oF では、ターゲットは SCSI LUN に相当する名前空間として表されます。 NVMe-oF を使用すると、ホストはマイクロ秒 (μs) レベルの超低遅延を維持しながら、はるかに遠い距離にあるこれらのストレージ ターゲットと通信できます。簡単に言えば、ファブリックの遅延を大幅に増加させることなく、システムとフラッシュ ストレージ間のパフォーマンスが向上します。この低遅延は、部分的には、前述の NVMe キューの深さによって可能になります。 NVMe-oF は NVMe、65K と同じキューを処理できますこの驚くべき数により、NVMe-oF では、ホストとドライブのそれぞれに個別のキューを使用して、ホストとドライブの間で高度な並列アーキテクチャを設計することが可能になります。

NVMeファブリックトランスポート 

NVMe でサポートおよび使用されるファブリック トランスポートには、RDMA を使用する NVMe-oF、ファイバー チャネルを使用する NVMe-oF、TCP を使用する NVMe-oF の 3 種類があります。

RDMA 上の NVMe-oF

この仕様では、リモート ダイレクト メモリ アクセス (RDMA) を使用し、ネットワークを介してコンピュータとストレージ デバイス間でデータとメモリを転送できるようにします。 RDMA は、どちらかのコンピュータのプロセッサ、キャッシュ、OS を介さずに、ネットワーク内の 2 台のコンピュータのメイン メモリ間で情報を交換する方法です。 RDMA は OS を回避するため、通常、ネットワーク経由でデータを送信するための最も高速でオーバーヘッドの低いメカニズムです。

NVMe-oF over RDMA は、TCP トランスポート プロトコルを使用して、IP ネットワーク経由でデータを配信します。一般的な RDMA 実装には、仮想インターフェイス アーキテクチャ、RDMA over Converged Ethernet (RoCE)、InfiniBand、Omni-Path、および iWARP が含まれます。現在、RoCE、InfiniBand、iWARP が最もよく使用されています。

ファイバーチャネル経由のNVMe

NVMe over Fibre Channel (FC) の使用の組み合わせは、FC-NVMe、NVMe over FC、または NVMe/FC と呼ばれることもあります。ファイバー チャネルは、ストレージ アレイとサーバー間でデータを転送するための堅牢なプロトコルであり、ほとんどのエンタープライズ SAN システムで使用されています。 FC-NVMe では、コマンドは FC フレーム内にカプセル化されます。これは標準の FC ルールに基づいており、共有 NVMe フラッシュへのアクセスをサポートする標準の FC プロトコルと一致します。 SCSI コマンドは FC フレームにカプセル化されます。ただし、それらを解釈して NVMe コマンドに変換すると、パフォーマンスが低下します。

NVMe over TCP/IP

このトランスポート タイプは、NVMe-oF 内の最新の開発の 1 つです。 NVMe over TCP (トランスポート コントロール プロトコル) は、NVMe-oF と TCP トランスポート プロトコルを使用して、IP (イーサネット) ネットワーク経由でデータを転送します。 NVMe は、物理トランスポートとしてイーサネット経由で TCP データグラム内でトランスポートされます。 RDMA とファイバー チャネルがあるにもかかわらず、TCP はおそらくより安価でより柔軟な代替手段を提供します。さらに、同様にイーサネットを使用する RoCE と比較すると、NVMe/TCP は I/O にメッセージング セマンティクスを使用するため、より FC-NVMe に近いパフォーマンスを発揮します。

RDMA、ファイバー チャネル、または TCP のいずれかで NVMe-oF を使用すると、完全なエンドツーエンドの NVMe ストレージ ソリューションが作成されます。これらのソリューションは、NVMe 経由で得られる非常に低い遅延を維持しながら、著しく高いパフォーマンスを提供します。

NVMe over RDMA over Converged Ethernet (RoCE)

RDMA プロトコルの中で、RoCE は際立っています。私たちは RDMA と NVMe-oF が何であるかを理解しています。そして今では、イーサネット ネットワーク上での RDMA のサポートであるコンバージド イーサネット (CE) を利用できるようになりました。 CE は、拡張イーサネット バージョンのようなもので、データ センター ブリッジングやデータ センター イーサネットとも呼ばれます。イーサネット上で InfiniBand トランスポート パケットをカプセル化します。そのソリューションは、ネットワークが飽和している場合でも損失ゼロを保証するリンク レベル フロー制御メカニズムを提供します。 RoCE プロトコルでは、以前の iWARP プロトコルよりも遅延が短くなります。

RoCE には、RoCE v1 と RoCE v2 の 1 つのバージョンがあります。 RoCE v2 はイーサネット レイヤ 2 (リンク) プロトコルであり、同じイーサネット ブロードキャスト ドメイン内の 4 つのホスト間の通信を可能にします。したがって、サブネット間でルーティングすることはできません。新しいオプションは RoCE v6 で、これは UDP/IPv2 または UDP/IPv3 プロトコルのいずれかの上位プロトコルです。 RoCE v2 はイーサネット レイヤ 2.3 (インターネット) プロトコルであり、パケットをルーティングできることを意味します。 RoCE v2 のソフトウェア サポートはまだ開発中です。 Mellanox OFED 4.5 以降は RoCE vXNUMX をサポートし、Linux カーネル vXNUMX もサポートします。

NVMe over RoCE は、新しいタイプの SAN です。このプロトコルは、SAN ハードウェアおよびソフトウェアと同じエンタープライズ データ サービスのパフォーマンスと柔軟性を提供します。 RoCE プロトコルはコンバージド イーサネット ネットワークの特性を活用していますが、このプロトコルは従来のまたは非コンバージド イーサネット ネットワークでも使用できます。 NVMe over RoCE ストレージ ファブリックを構成するには、NIC、スイッチ、および AFA がコンバージド イーサネットをサポートする必要があります。 NIC (R-NIC と呼ばれる) とオールフラッシュ アレイは、RoCE のサポートを提供する必要があります。 NVMe over RoCE インターフェイスを備えた R-NIC および AFA を備えたサーバーは、インストールされた CE スイッチとプラグアンドプレイします。

VMware の NVMe-oF over RoCE サポート

VMware は、NVMe-oF を使用した共有 NVMe ストレージのサポートを追加しました。外部接続については、NVMe over Fibre Channel および NVMe over RDMA が vSphere 7.0 でサポートされています。 ESXi ホストは、RDMA over Converged Ethernet v2 (RoCE v2) を使用できます。 RDMA を使用して NVMe ストレージを有効にしてアクセスするには、ESXi ホストはホスト上の R-NIC アダプタと SW NVMe over RDMA ストレージ アダプタを使用します。 NVMe ストレージ検出に使用するには、両方のアダプターで構成を構成する必要があります。

NVMe-oF を使用する場合、ターゲットはアクティブ/アクティブまたは非対称アクセス モード (ALUA) でホストに名前空間として提示されます。これにより、ESXi ホストは、提示された名前空間を検出して使用できるようになります。 ESXi は、NVMe-oF ターゲットを SCSI ターゲットとして内部的にエミュレートし、アクティブ/アクティブ SCSI ターゲットまたは暗黙的な SCSI ALUA ターゲットとして提示します。

NVMe over RDMA の要件:

  • RDMA (RoCE v2) トランスポートをサポートする NVMe アレイ
  • 互換性のある ESXi ホスト
  • ロスレスネットワークをサポートするイーサネットスイッチ。
  • RoCE v2 をサポートするネットワーク アダプター
  • SW NVMe over RDMA アダプター
  • NVMeコントローラー
  • RoCE は現在、ZTR (ゼロ タッチ RoCE) をサポートする損失の多いファブリック上で動作するか、レイヤー 2 のみ、またはレイヤー 2 とレイヤー 3 の両方 (PFC を使用) で情報のロスレス トラフィック用に構成されたネットワークを必要とします。

ESXi ホストで NVMe-oF をセットアップする場合は、従う必要があるいくつかの手順があります。

  • 同じ名前空間にアクセスするためにトランスポート タイプを混在させないでください。
  • すべてのアクティブなパスがホストに提示されていることを確認します。
  • NMP は使用されず、サポートされません。代わりに、NVMe ターゲットには HPP (ハイパフォーマンス プラグイン) が使用されます。
  • NVMe ターゲットへの専用リンク、VMkernel、RDMA アダプタが必要です。
  • 専用のレイヤー 3 VLAN またはレイヤー 2 接続
  • 制限:
    • 名前空間-32
    • パス=128 (ホスト上の名前空間あたり最大 4 つのパス)

まとめ

クラウド サービスのデータに依存する人が増えているため、データ センターのより高速なバックエンド ストレージに対する需要が高まっています。 NVMe はフラッシュ デバイスとインターフェイスするための新しい方法であり、NVMe-oF とともに、テクノロジーは外部接続オプションを進化させてきました。 NVMe-oF とそのさまざまなタイプのトランスポートは、データ ストレージの未来として認識され始めています。相互接続されたファブリック内ではミリ秒単位でカウントされるため、これらのストレージ デバイスとアプライアンスはデータ センターの中心とみなされます。 NVMe テクノロジーは、メモリ マップされた入出力コマンドを削減し、オペレーティング システムのデバイス ドライバーに対応して、パフォーマンスの向上と遅延の短縮を実現します。

NVMe は、低遅延でのマルチタスク速度と高スループットにより、ますます人気が高まっています。 NVMe はビデオ編集、ゲーム、その他のソリューションを改善するためにパーソナル コンピューターでも使用されていますが、本当の利点は NVMe-oF を通じて企業で見られます。 IT、人工知能、機械学習などの業界は進歩を続けており、パフォーマンスの向上に対する需要は高まり続けています。現在では、VMware や Mellanox などのソフトウェア ベンダーやネットワーク ベンダーが、より多くの NVMe-oF 関連製品やソリューションをエンタープライズ市場に提供しているのが定期的に見られます。最新の超並列コンピューター クラスターを使用すると、データの処理とアクセスが速くなるほど、ビジネスにとっての価値が高まります。

お問い合わせ

ストレージハブ: VMware NVMeoF vSphere

NVMexpress: NVMe over Fabric

NetApp AFF A800 NVMeOF レビュー

StorageReview と連携する

ニュースレター | YouTube |ポッドキャスト iTunes/Spotifyは | Instagram | Twitter | Facebook | RSSフィード