NVMe の概要

NVM Express (NVMe) は、不揮発性メモリ (NVM) を使用して、サーバーとストレージ システム間の高速で効率的なデータ転送を容易にする通信プロトコルです。 NVMe を使用すると、最高のスループットと最短の応答時間でデータを転送できます。 この概要では、Azure で作成された仮想マシン (VM) での NVMe サポートについて説明します。

NVMe では、1 秒あたりの入出力操作数 (IOPS) と、1 秒あたりのメガバイト単位のスループット (MB/秒) が高くなります。 この機能により、Azure Managed Disks を使用した一時 (ローカル) NVMe ディスク ストレージとリモート NVMe ディスク ストレージの両方のパフォーマンスが大幅に向上します。 パフォーマンスの向上は、Azure Managed Disks への高速データ転送を必要とする I/O 集中型ワークロードに特に役立ちます。

メリット

NVMe ディスクによる Azure ストレージのパフォーマンス

アプリケーションで実現できるパフォーマンスの向上は、VM の種類、VM サイズ、I/O ブロック サイズなど、いくつかの要因によって異なります。 理想的なブロック サイズを特定し、ピーク転送レートを達成するには、個々の VM サイズでテストしてください。 アプリケーションの特定の要件に基づいて I/O サイズを最適化することが重要です。 個々の VM の種類のパフォーマンス機能の詳細については、Azure の VM サイズに関するドキュメントを参照してください。

ワークロード

NVMe ディスクを使用する VM ファミリは、より高い I/O とストレージ パフォーマンスの向上を必要とするさまざまなワークロードにおいて、Small Computer System Interface (SCSI) と比べてパフォーマンス上の利点があることを実証しています。 これらのワークロードには、アプリケーション サーバー、Web サーバー、データベース、データ ウェアハウス、分析が含まれます。 これらの利点は、一時的な NVMe ディスクまたはリモート NVMe ディスクを使用する VM 間で実現できます。

Azure Boost と NVMe VM の利点

Azure Boost は、ハイパーバイザーとホスト OS が従来実行していたサーバー仮想化プロセスを専用のソフトウェアとハードウェアにオフロードする、Microsoft が設計したシステムです。 これらのプロセスをオフロードすることで、Azure VM のお客様のストレージとネットワークのパフォーマンスが向上します。

Azure Boost の主な利点の 1 つは、Azure Managed Disks とローカル ストレージのスループットを強化できる機能です。 この機能拡張は、ストレージ処理タスクを Azure Boost の専用ハードウェアにオフロードすることで有効化されます。

また、Azure Boost は、ソリッドステート ストレージ ドライブの待機時間の短縮と内部並列性を活用する業界標準の NVMe インターフェイスを利用することで、パフォーマンスを最適化します。 Azure Boost が提供するパフォーマンスの詳細については、Azure Boost の一般提供に関する Microsoft のブログ記事を参照してください。

SCSI から NVMe への移行

v6、Ebsv5、およびより大きなサイズの VM の場合、SCSI から NVMe に移行する必要があります。 詳細については、Linux を使用した SCSI から NVMe への移行に関する記事を参照してください。

サポート可能性

VM サイズ

通常、旧世代の汎用、メモリ最適化、コンピューティング最適化 VM (D/Ev5 または Fv2 以前) は SCSI をサポートしています。 新しい世代 (Ebsv5、Da/Ea/Fav6 以降) では通常、NVMe ストレージ インターフェイスのみがサポートされます (または、一部のオファリングでは SCSI と NVMe 両方のインターフェイスがサポートされます。たとえば、Ebsv5 が該当します)。 また、Da/Ea/Fav6 および将来のオファリングの一部から、ローカル SSD ディスク用の NVMe インターフェイスが導入されています。

どの VM 世代がどのストレージの種類をサポートするかについては、Azure の VM サイズに関するドキュメントを確認してください。

VM イメージの生成

NVMe のパフォーマンス上のメリットがワークロードに対してあると思われる場合は、第 2 世代 VM に切り替える必要があります。 第 2 世代 VM を作成するには、文書化された手順に従ってください。

Note

現在、第 1 世代 VM では NVMe ディスクはサポートされません。

第 1 世代 VM イメージを使用しようとすると、NVMe 対応 VM を選択できないか、that the selected image is not supported for NVMe. で始まるエラー メッセージが表示されます。

サポートの提供

NVMe のサポートは、最も人気のある 50 以上の OS イメージで利用可能です。 古い OS イメージに NVMe のサポートを追加することはありません。 ただし、OS イメージの対象範囲は引き続き見直しています。 Linux と Windows 向けの OS イメージのサポートに関する最新情報を確認するには、NVMe をサポートする OS イメージに関するこのドキュメントを参照することをお勧めします。

使用したい OS が NVMe をサポートしていない場合は、まだ SCSI のサポートがある VM シリーズを使用してください。 最新の Azure VM 世代の多くは NVMe 専用で、NVMe をサポートする OS イメージが必要です。

NVMe インターフェイスで VM を作成する方法

VM の作成時に NVMe を有効化するには、次のような方法を使用します。

  • Azure portal
  • Azure CLI
  • Azure PowerShell
  • Azure リソース マネージャーのテンプレート

NVMe 対応の VM を作成するには、まず VM で NVMe オプションを有効にし、VM に応じた NVMe コントローラー ディスクの種類を選択する必要があります。 VM サイズが NVMe をサポートしている場合は、VM を停止して割り当て解除する際に NVMe に更新することもできます。

NVMe 対応のマーク

NVMe インターフェイスが有効な VM は、NVMe とマークされたイメージ (マーケットプレースで入手可能。または社内の Azure Compute Gallery で共有されます) を使用してのみ作成できます。

警告

マークがないイメージを使用すると、SCSI ベースの VM が作成され、VM が意図したとおりに動作しない可能性があります。

NVMe インターフェイスを使用して VM を作成するには、サポートされている OS イメージで NVMe のマークがあるもののいずれかを選択する必要があります。 現在の OS イメージが NVMe でサポートされていない場合は、このエラー メッセージ ("The selected image is not supported for NVMe. See supported VM images."NVMe でサポートされているオペレーティング システム イメージのいずれかを選択する例のスクリーンショット。) が表示されます。

Azure portal を使用して VM の作成時に NVMe インターフェイスを有効化する

  1. ディスク コントローラー フィルターを追加します。 NVMe の対象となるサイズを見つけるには、[すべてのサイズを表示] を選択し、[ディスク コントローラー] フィルターを選択して、[NVMe] を選択します。

    NVMe インターフェイスのディスク コントローラー フィルターを追加するために選択しているスクリーンショット。

  2. [詳細設定] タブに移動し、[パフォーマンス (NVMe)] の下にあるチェックボックスをオンにして、NVMe 機能を有効にします。

    NVMe インターフェイス機能を有効にするためのチェック ボックスのスクリーンショット。

  3. [確認と作成] タブに移動し、[ディスク コントローラーの種類] 値が [NVMe] であることを確認して、この機能が有効になっていることを確認します。

    仮想マシンの高度な機能 (NVMe 機能を含む) を確認、検証するための領域のスクリーンショット。