Lsv3、Lasv3、Lsv2 シリーズの Windows VM 上でパフォーマンスを最適化する
適用対象: ✔️ Windows VM ✔️ 均一スケール セット
Lsv3、Lasv3、Lsv2 シリーズの Azure Virtual Machines (Azure VM) は、幅広いアプリケーションや業界において、ローカル ストレージに高い I/O とスループットを必要とするさまざまなワークロードをサポートしています。 L シリーズは、Cassandra、MongoDB、Cloudera、Redis などのビッグ データ、SQL、NoSQL データベース、データ ウェアハウス、大規模トランザクション データベースに最適です。
Lsv3、Lasv3、Lsv2 シリーズの VM は、Windows および Linux オペレーティング システムでハードウェアとソフトウェアを使ってパフォーマンスを改善したいというニーズにも対応できる設計になっています。
ソフトウェアとハードウェアのチューニングを経て、Azure Marketplace に Windows Server 2019 Datacenter の最適化済みバージョン (およびそれ以降のバージョン) をリリースしました。これは、L シリーズ VM 内の NVMe デバイスに最大のパフォーマンスを実現するものです。
この記事では、ワークロードとアプリケーションで VM の設計に応じた最大限のパフォーマンスを実現するためのヒントと推奨事項を紹介します。
AMD EPYC™ チップセットのアーキテクチャ
Lasv3 および Lsv2 シリーズの VM では、Zen マイクロアーキテクチャをベースとする AMD EPYC™ サーバー プロセッサを使用しています。 AMD は、オンダイ、オンパッケージ、マルチパッケージの通信に利用が期待できる自らの NUMA モデルのスケーラブルなインターコネクトとして、Infinity Fabric (IF) for EPYC™ を開発しました。 NUMA が多くダイが少ない AMD のアーキテクチャは、Intel の最新型モノリシックダイ プロセッサで採用されている QPI (Quick-Path Interconnect) と UPI (Ultra-Path Interconnect) に比べると、パフォーマンス面でメリットと課題のどちらももたらしうる可能性を秘めています。 メモリの帯域幅と待ち時間の制約の影響が実際にどれほどのものになるかは、ワークロードの種類に応じて異なります。
パフォーマンスを最大限に高めるためのヒント
パフォーマンスを最大限に高めるには、デバイスごとにディープ キューの深さを持つ複数のジョブを実行します。
アクティブなワークロードの最中に NVMe の管理者向けコマンド (NVMe の SMART 情報のクエリなど) と NVMe の I/O コマンドを混用することは避けてください。 Lsv3、Lasv3、Lsv2 NVMe デバイスは Hyper-V の NVMe Direct テクノロジを採用しており、NVMe の管理者向けコマンドが保留中の状態になると、"低速モード" に切り替わります。 このようなシナリオが発生した場合、Lsv3、Lasv3、Lsv2 ユーザーに、NVMe の I/O パフォーマンスの大幅な低下が見られることがあります。
Lsv2 ユーザーには、アプリの NUMA アフィニティを決めるにあたり、データ ドライブ用 VM からのレポートに表示されるデバイスの NUMA 情報 (すべて 0) を信用しないことをお勧めします。 パフォーマンス向上のために、可能であればワークロードを複数の CPU に分散させることをお勧めします。
Lsv3、Lasv3、Lsv2 VM の NVMe デバイスの 1 組の I/O キュー ペアでサポートされるキューの深さは最大 1,024 です。 キューがいっぱいになり、パフォーマンスが低下する事態を防ぐため、Lsv3、Lasv3、Lsv2 ユーザーには (合成) ベンチマークのワークロードにおけるキューの深さを 1,024 以下にすることをお勧めします。
最善のパフォーマンスが得られるのは、未加工 (パーティション分割をしておらず、ファイル システムがなく、RAID を構成していないなど) の各 NVMe デバイスに対して直接 I/O を実行したときです。
ローカルの NVMe ストレージを使用する
Lsv3、Lasv3、Lsv2 VM にある 1.92 TB NVMe ディスク上のローカル ストレージは、エフェメラル ストレージです。 VM の標準的な再起動処理が正常に実行されている間は、ローカル NVMe ディスクにあるデータが保持されます。 VM の再デプロイ、割り当て解除、または削除を行った場合には、NVMe 上にデータが保持されません。 他の問題が原因となって VM またはその VM が稼働しているハードウェアが正常な状態ではなくなった場合には、データが保持されません。 このようなシナリオが発生した場合には、以前のホストに存在するデータがすべて安全に消去されます。
計画メンテナンス業務の間などには、VM を別のホスト マシンに移行することが必要になることもあります。 Scheduled Events では、計画メンテナンス業務の予定やハードウェア障害の見込みを確認できます。 Scheduled Events を使用して、メンテナンス業務や回復業務の予定の最新情報を確認するようにしてください。
計画メンテナンス イベントの際に、空のローカル ディスクを備えた新しいホストに VM を作り直す必要が生じた場合には、データを同期し直す必要があります (繰り返しになりますが、以前のホストに存在するデータはすべて安全に消去されます)。 このシナリオは、Lsv3、Lasv3、Lsv2 シリーズの VM が現在、ローカル NVMe ディスク上のライブ マイグレーションをサポートしていないことによるものです。
計画メンテナンスには、Standard VM の顧客コントロール型メンテナンスと自動メンテナンスの 2 つのモードがあります。
サービス イベントが近づいてきたら、コントロール型のメンテナンス プロセスを使って更新に最も都合の良いタイミングを選択してください。 イベントの前には、Premium Storage 内のデータをバックアップしておいてください。 メンテナンス イベントが完了した後は、新しい Lsv2 VM のローカル NVMe ストレージにデータを戻します。
ローカルの NVMe ディスクにあるデータが保持されるシナリオは次のような場合です。
- VM が正常な状態で稼働している。
- VM がお客様または Azure により再起動中になっている。
- VM が一時停止している (割り当て解除せずに停止した)。
- ほとんどの計画メンテナンス サービス操作。
お客様の保護のためにデータが安全に消去されるシナリオは次のような場合です。
- お客様が VM を再デプロイ、停止 (割り当て解除)、または削除した。
- ハードウェアの問題が原因で VM が異常な状態になっており、別のノードに復旧させる必要がある。
- 保守作業のために VM を別のホストに割り当て直す必要がある少数の計画メンテナンス サービス業務。
Standard VM の顧客コントロール型メンテナンス
Standard VM の顧客コントロール型メンテナンスでは、30 日の間に、VM が新しいホストに移行します。
Lsv3、Lasv3、Lsv2 ローカル ストレージのデータが失われる可能性があるので、イベントの前にデータのバックアップを作成しておくことをお勧めします。
自動メンテナンス
自動メンテナンスは、お客様が顧客コントロール型メンテナンスを実行しない場合に発生します。 自動メンテナンスは、緊急処置が必要になった場合 (セキュリティに関するゼロデイ イベントなど) に発生することもあります。
この種類のメンテナンスはお客様のデータの保持を目的としたものですが、VM のフリーズや再起動が発生するリスクがわずかに存在します。
Lsv3、Lasv3、Lsv2 ローカル ストレージのデータが失われる可能性があるので、イベントの前にデータのバックアップを作成しておくことをお勧めします。
よく寄せられる質問
これらのシリーズに関してよく寄せられる質問は、次のとおりです。
L シリーズの VM のデプロイを始めるにはどうすればよいでしょうか?
他の VM と同様に、Azure portal、Azure コマンド ライン インターフェイス (Azure CLI)、または PowerShell を使用して VM を作成します。
1 つの NVMe ディスクに障害が発生すると、そのホストにある VM すべてに障害が起こるのでしょうか?
ハードウェア ノードでディスクの障害が検出された場合には、ハードウェアの状態が障害の存在を示すものに変わります。 このような問題が発生すると、そのノードにある VM はいずれも割り当てが自動的に解除され、別の正常なノードに移行します。 Lsv3、Lasv3、Lsv2 シリーズの VM の場合、このシナリオは、障害が発生したノード上のお客様のデータも安全に消去されることを意味します。 お客様は、新しいノードでデータを再作成する必要があります。
Windows Server 2012 または Windows Server 2016 でポーリングの調整を行う必要がありますか?
NVMe ポーリングは Azure 上の Windows Server 2019 以降のバージョンのみで使用できます。
従来の割り込みサービス ルーチン (ISR) モデルに切り替えて戻すことができますか?
Lasv3 および Lsv2 シリーズの VM は NVMe ポーリングに最適化されています。 ポーリングのパフォーマンスを向上させるための更新プログラムが継続的に提供されています。
Windows Server 2019 以降のバージョンのポーリング設定を調整できますか?
ポーリング設定をユーザーが調整することはできません。
次のステップ
Azure 上でストレージのパフォーマンスを高めるために最適化されたすべての VM の仕様を確認してください。