NVM Express (NVMe) は、不揮発性メモリ (NVM) を使用して、サーバーとストレージ システム間の高速で効率的なデータ転送を容易にする通信プロトコルです。 NVMe を使用すると、最高のスループットと最短の応答時間でデータを転送できます。 この概要では、Azure で作成された仮想マシン (VM) での NVMe サポートについて説明します。
NVMe では、1 秒あたりの入出力操作数 (IOPS) と、1 秒あたりのメガバイト単位のスループット (MB/秒) が高くなります。 この機能により、 Azure マネージド ディスクを使用した一時 (ローカル) ディスク ストレージとリモート NVMe ディスク ストレージの両方のパフォーマンスが大幅に向上します。 パフォーマンスの向上は、Azure マネージド ディスクへの高速なデータ転送を必要とする 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 マネージド ディスクとローカル ストレージのスループットを強化できることです。 この機能拡張は、ストレージ処理タスクを 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 を作成するには、文書化された手順に従ってください。
注記
現在、第 1 世代 VM では NVMe ディスクはサポートされていません。
第 1 世代 VM イメージを使用しようとすると、NVMe 対応 VM を選択できなくなります。 または、選択したイメージが 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 としてマークされたイメージを使用してのみ作成できます。 イメージは、Microsoft Marketplace で使用できる必要があります。または、社内の Azure コンピューティング ギャラリー で共有する必要があります。
警告
マークされていないイメージを使用すると、SCSI ベースの VM が作成されます。 VM が意図したとおりに動作しない可能性があります。
NVMe インターフェイスを使用して VM を作成するには、サポートされている OS イメージで NVMe のマークがあるもののいずれかを選択する必要があります。 現在の OS イメージが NVMe でサポートされていない場合は、次のエラー メッセージが表示されます。 サポートされている VM イメージを参照してください。"
Azure ポータルを使用して、VM の作成時に NVMe インターフェイスを有効にする
ディスク コントローラー フィルターを追加します。 NVMe の対象となるサイズを見つけるには、[すべてのサイズを表示] を選択し、[ディスク コントローラー] フィルターを選択して、[NVMe] を選択します。
NVMe インターフェイス用のディスク コントローラー フィルターを追加するための選択項目を示したスクリーンショット。
[詳細設定] タブに移動し、[パフォーマンス (NVMe)] の下にあるチェックボックスをオンにして、NVMe 機能を有効にします。
NVMe インタフェース機能を有効にするためのチェックボックスのスクリーンショット
[確認と作成] タブに移動し、[ディスク コントローラーの種類] 値が [NVMe] であることを確認して、この機能が有効になっていることを確認します。
仮想マシンの高度な機能を確認および検証する領域のスクリーンショットです。ここには NVMe 機能も含まれています。