ホーム Enterprise Windows 用 StarWind NVMe-oF イニシエーターの実践

Windows 用 StarWind NVMe-oF イニシエーターの実践

by ブライアン・ビーラー

Windows は多くの点で優れていますが、Windows が世界でナンバー 1 のオペレーティング システムであるのには理由があります。とはいえ、特に新しいストレージ標準を受け入れる場合には、完璧ではありません。そのため、進取的な企業にとって Windows ショップ向けのソリューションを開発する大きなチャンスがあります。 NVMe SSD が企業内で主流となり、SSD サーバー ストレージの標準となるにつれ、そのストレージを共有できるようにする需要が高まっています。悲しいことに Windows では、最近までそれが問題でした。今年初め、StarWind は Windows 用 NVMe-oF イニシエーターを商品化しました。

Windows は多くの点で優れていますが、Windows が世界でナンバー 1 のオペレーティング システムであるのには理由があります。とはいえ、特に新しいストレージ標準を受け入れる場合には、完璧ではありません。そのため、進取的な企業にとって Windows ショップ向けのソリューションを開発する大きなチャンスがあります。 NVMe SSD が企業内で主流となり、SSD サーバー ストレージの標準となるにつれ、そのストレージを共有できるようにする需要が高まっています。悲しいことに Windows では、最近までそれが問題でした。今年初め、StarWind は Windows 用 NVMe-oF イニシエーターを商品化しました。

Windows Intel サーバー用 NVMe-oF イニシエーター

製品化に至るまで、StarWind は開発および PoC ユースケース用の無料ツールとして Windows 用 NVMe-oF イニシエーターを提供していました。彼らまだ 無料版を提供する プレイしたい人向けですが、今日私たちが検討しているのは GA 出荷バージョンです。実際、Windows 用 NVMe-oF イニシエーターを検討している場合は、おそらく StarWind IP を消費していることになります。彼らは、自社の製品を構築する必要があるさまざまなパートナーにソリューションを OEM 提供しています。

Windows 用 NVMe-oF イニシエーターの構成

StarWind NVMe-oF Initiator for Windows は、Windows ホストに簡単にインストールできます。特殊なハードウェアや追加の Windows コンポーネントは必要ありません。このソフトウェアは Windows 認定 (Server 2019 および Windows 10) であり、主要な NVMe-oF ストレージ ベンダーとの互換性がテストされています。このシナリオでは、XNUMX つのストレージ ホストと XNUMX つのクライアントという非常に単純な構成があります。

デバイス マネージャーの Windows 用 starwind NVMe-oF イニシエーター

4人のクライアントはそれぞれ、 デル PowerEdge R740 サーバー。それぞれ、6130 GB の DRAM を備えた 2.1 つの Intel Xeon Gold 256 CPU を 5 GHz で実行しています。接続には、NVIDIA ConnectX-100 EN 516GbE NIC (MCX2019A-CCAT) を使用しています。サーバーには Windows Server 1.9.0.455 Standard Edition がインストールされており、StarWind NVMe-oF Initiator for Windows バージョン 8.4.2105 を利用しています。 Linux テストでは、nvme-cli 4.18.0 を備えた CentOS 305.10.2 (カーネル – 1.12-XNUMX) を使用しました。サーバーはストレージ ホストに直接接続されています。

Windows アーキテクチャ向け StarWind NVMe-oF イニシエーター

ストレージ ホストは、50 GHz の Intel Xeon 2 CPU と 2 GB の DRAM を搭載した Intel OEM サーバー (M8380CYP2.3SB512U) です。ここでも NVIDIA ConnectX-5 EN 100GbE NIC (MCX516A-CDAT) を使用し、今回はホストに 8.4.2105 つありました。この場合、CentOS 5.13.7 (カーネル – 1-8.el21.07.elrepo) と SPDK vXNUMX を使用しています。

Windows P5510 用 NVMe-oF イニシエーター

ホスト内では 8 つを使用しています インテル P5510 Gen4 NVMe SSD。 SSD は、CPU との NUMA 調整のために 0 つずつ XNUMX つのバッチに分割されます。最大のパフォーマンスを得るために RAIDXNUMX で構成されています。

Windows の NVMe-oF イニシエーターのパフォーマンス

このテストでは、Linux と Windows の両方のイニシエーターを利用して、FIO 経由で次のベンチマークを実行しました。

  • ランダム読み取り 4K – 16 スレッド、32 キュー深度
  • ランダム書き込み 4K – 8 スレッド、4 キュー深度
  • ランダム読み取り 64K – 4 スレッド、32 キュー深度
  • ランダム書き込み 64K – 4 スレッド、1 キュー深度
  • シーケンシャル読み取り 1M – 2 スレッド、8 キュー深さ
  • シーケンシャル書き込み 1M – 1 スレッド、8 キュー深さ

3600 回のテストの継続時間は 1 秒 (3600 時間) です。書き込み操作のベンチマークを行う前に、ストレージはまず 1 秒 (XNUMX 時間) ウォームアップされます。すべてのテストは XNUMX 回実行され、平均値が最終結果として使用されました。

4 つのクライアントにわたる Linux NVMeoF イニシエーターのパフォーマンスを調べた最初のグループでは、5.54K ランダム読み取りで 21.6 GB/秒の帯域幅、0.369 ミリ秒の遅延で 4 万 IOPS を測定しました。 4K ランダム書き込みパフォーマンスは、帯域幅 1.58GB/s、遅延 6.2ms で 0.08M IOPS を測定しました。

大規模ブロック転送に移り、64K ランダムテストと最後に、ファブリック全体の帯域幅に焦点を当てた 1M シーケンシャルテストの両方を測定しました。 64K ランダム読み取りでは、遅延 46.6 ミリ秒で 0.69 GB/秒、書き込みでは遅延 7.2 ミリ秒で 0.14 GB/秒を測定しました。 1M シーケンシャルは、42.9 ミリ秒のレイテンシで読み取り 1.48 GB/秒、書き込みのレイテンシ 25.4 ミリ秒で 1.26 GB/秒でした。

次に、Windows に切り替えて、同じ 4.17 つのクライアント間で StarWind NVMeoF イニシエーターを利用しました。ここでは、4K ランダム読み取りで 16.3M IOPS、または 0.35ms の遅延で 4GB/s を測定しました。 1.54K ランダム書き込みは、6ms の遅延で 0.07M IOPS または XNUMXGB/秒で実現しました。

次に、同じランダム アクセス プロファイルを使用して、より大きな 64K 転送サイズに移行しました。ここでは、遅延 46.6 ミリ秒で読み取り 0.68 GB/秒、遅延 7.2 ミリ秒で書き込み 0.13 GB/秒を測定しました。シーケンシャル アクセス パターンで転送サイズ 1M の最後のワークロード プロファイルに切り替えると、42.9 ミリ秒のレイテンシで 1.38 GB/秒の読み取り、25.2 ミリ秒のレイテンシで 1.14 GB/秒の書き込みが測定されました。

数値を直接比較すると、4K ランダム読み取りを除いて、Windows と Linux の両方のパフォーマンスが互いに非常に近い結果となりました。他のすべてのテストでは、パフォーマンスの差は 3% 未満でした。主な違いは、Windows ストレージ スタックを通過するときに追加される CPU オーバーヘッドに帰着します。これは 2.7 ~ 3.7 倍の差となり、I/O 自体の増加によって CPU 使用率が最も増加します。

Linux の CPU 使用率 16% から Windows の 44% への変化はかなり大きな変化ですが、3.5% から 9% への変化は同じ程度には感じられないでしょう。 Windows で実行する必要があるアプリケーションや、一般に Windows に重点を置いている IT ショップにとって、StarWind の主な目標は、明らかに達成可能な NVMeoF 機能とパフォーマンスを提供することでした。

まとめ:

この分析の目的は、独自の NVMe-oF ソリューションを導入するための最良の方法または最速の方法を決定することではありません。アプリケーションがストレージに続くのではなく、ほとんどのストレージの導入はアプリケーションに続きます。そうは言っても、組織が Windows を使用する理由は数多くあります。 Windows が優先プラットフォームとなるのは、特定のアプリケーション、既存のインフラストラクチャ、コスト上の理由、またはその他のさまざまな問題が考えられます。少なくとも現在、StarWind の Windows 用 NVMe-oF イニシエーターを使用することで、NVMe SSD を共有し、アプリケーション システムにできるだけ近づけるという選択肢があります。

Windows フロントシャーシ用 NVMe-oF イニシエーター

クライアント OS をしばらく無視すると、テストにおける主な制限は、実際にはシステム間のネットワーク リンクに帰着します。私たちの場合、100Gb NIC を利用しているため、ネットワークが飽和状態になり、Linux 環境と Windows 環境の両方で最高速度が 46.6GB/s に達しました。 Windows でのピーク 4K ランダム読み取りテストでも 16.3GB/s を達成しました。これは、ランダム I/O に対して 25 つ以上の XNUMXGbE リンクを計算することになります。 NVMe のパフォーマンスはどのようにスライスしても大量のトラフィックを吸収する可能性があるため、最終的にはネットワークが NVMe-oF にとってより重要な役割を果たします。

しかし、結局のところ、私たちの目標は、StarWind イニシエーターがどの程度うまく機能するかを評価することでした。本当にうまくいきます。代替案として考えられるのは、「NVMe-oF は不要です!」ということです。 Windows では、あらゆるオプションが用意されていることを嬉しく思います。はい、この特権には CPU ヒットがありますが、Linux から Windows へのパーセンテージの差は恐ろしいものですが、4K のランダム読み取りを除けば、認識される影響は最小限です。これが適切かどうかわからない場合は、StarWind を無料で試すことができます。インストールは非常に簡単なので、一度試して、Windows のアプリケーションで NVMe-oF がどの程度機能するかを確認してみるのは十分に理由があります。

スターウィンド製品ページ

StarWind デモ リクエスト フォーム

StorageReview と連携する

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