VMware は、ESXi ホスト上のストレージ デバイスのパフォーマンスを向上させる高性能プラグイン (HPP) を提供します。
HPP は、NVMe などの高速デバイスの NMP に代わる機能です。HPP は、NVMe-oF のターゲットを要求するデフォルトのプラグインです。ESXi では、end to end NVMe without および SCSI to NVMe のエミュレーションがサポートされています。HPP は、アクティブ/アクティブおよび暗黙的な ALUA ターゲットのみをサポートします。
vSphere 7.0 Update 2 以降では、HPP がローカルの NVMe および SCSI デバイスのデフォルト プラグインになりますが、NMP に置き換えることができます。
HPP のサポート | vSphere 7.0 Update 2 以降 |
---|---|
ストレージ デバイス | ローカルの NVMe および SCSI 共有 NVMe-oF(アクティブ/アクティブおよび暗黙的な ALUA ターゲットのみ) |
マルチパス | はい |
第 2 レベルのプラグイン | なし |
SCSI-3 の永続的な予約 | なし |
ソフトウェア エミュレーションを含む 4Kn デバイス | はい |
パス選択スキーム
マルチパスをサポートするため、HPP は、I/O 要求の物理パスを選択するときにパス選択スキーム (PSS) を使用します。
デフォルトのパス選択メカニズムは、vSphere Client または esxcli コマンドを使用して変更できます。
vSphere Client でのパス メカニズムの設定の詳細については、パス選択ポリシーの変更を参照してください。esxcli コマンドを使用して設定するには、ESXi esxcli HPP コマンドを参照してください。
ESXi は、次のパス選択メカニズムをサポートします。
- 固定
-
このスキームでは、指定した優先パスが I/O 要求に使用されます。優先パスが割り当てられていない場合、ホストは起動時に検出された使用可能な最初のパスを選択します。優先パスが使用できなくなると、ホストは使用可能な代替パスを選択します。ホストは、定義済みの優先パスが再び使用可能になると、そのパスに戻ります。
パス選択メカニズムとして [固定] を設定する場合は、優先パスを選択します。
- LB-RR(ロード バランシング - ラウンド ロビン)
-
これは、HPP が要求するデバイスのデフォルトのスキームです。現在のパスの、指定したバイト数または I/O を転送した後、このスキームはラウンド ロビン アルゴリズムを使用してパスを選択します。
[LB-RR] パス選択メカニズムを設定するには、次のプロパティを指定します。
- [IOPS]:デバイスのパスを切り替える基準として使用するパスの I/O 数を示します。
- [バイト]:デバイスのパスを切り替える基準として使用するパスのバイト数を示します。
- LB-IOPS(ロード バランシング - IOPS)
-
現在のパスの、指定した数の I/O(デフォルトは 1000)を転送した後、システムは未処理の I/O が最も少ない最適なパスを選択します。
このメカニズムを設定する場合は、デバイスのパスを切り替える基準として使用されるパスの I/O 数を示す、[IOPS] パラメータを指定します。
- LB-BYTES(ロード バランシング - バイト)
-
現在のパスで、指定したバイト数(デフォルトは 10 MB)を転送した後、システムは未処理のバイト数が最も少ない最適なパスを選択します。
このメカニズムを設定するには、デバイスのパスを切り替える基準として使用されるパスのバイト数を示す、[バイト] パラメータを使用します。
- ロード バランシング - 遅延(LB-遅延)
-
ロード バランシングの結果を向上させるために、このメカニズムでは、以下のパス特性を考慮して最適なパスを動的に選択します。
- [遅延評価時間] パラメータは、パスの遅延を評価する間隔(ミリ秒)を示します。
- [パスごとのサンプリング I/O] パラメータは、パスの遅延を計算するための、各パスで発行する サンプル I/O の数を制御します。
HPP のベスト プラクティス
高速ストレージ デバイスからのスループットを最大限にするには、次の推奨事項を実行します。
- HPP をサポートするバージョンの vSphere を使用してください。
- ローカルの NVMe および SCSI デバイスと NVMe-oF デバイスに HPP を使用してください。
- NVMe over Fibre Channel デバイスを使用する場合は、ファイバ チャネル ストレージに関する一般的な推奨事項を実行してください。ESXi とファイバ チャネル SAN との併用を参照してください。
- NVMe-oF を使用する場合は、異なる転送タイプを使用して同じ名前空間にアクセスしないでください。
- NVMe-oF の名前空間を使用する場合は、アクティブ パスがホストに提示されていることを確認してください。アクティブなパスが検出されるまで、名前空間は登録できません。
- 仮想マシンを構成するときに、VMware 準仮想化コントローラを使用するか、NVMe コントローラを追加することができます。どちらのタイプにも長所と短所があります。環境に最適なタイプを確認するには、vSphere の仮想マシン管理ドキュメントの SCSI、SATA、NVMe ストレージ コントローラの条件、制限事項、互換性を参照してください。
- 遅延の影響を受けるしきい値を設定します。
- 単一の仮想マシンがデバイスの I/O ワークロードの大幅な共有を推進する場合、複数の仮想ディスク間で I/O を分散することを検討します。仮想マシンの個別の仮想コントローラにディスクを接続します。
そうしない場合、特定の仮想ストレージ コントローラの I/O を処理する CPU コアが飽和状態になり、I/O スループットが制限される可能性があります。
NGUID ID 形式のみをサポートする NVMe デバイスのデバイス識別子については、NGUID デバイス識別子を持つ NVMe デバイスを参照してください。
高パフォーマンス プラグインとパス選択スキームの有効化
高パフォーマンス プラグイン (HPP) は、ローカルの NVMe および SCSI デバイスと NVMe-oF ターゲットを要求するデフォルトのプラグインです。必要に応じて NMP に置き換えることができます。vSphere バージョン 7.0 Update 1 以前では、NMP はローカルの NVMe および SCSI デバイスのデフォルト プラグインのままですが、HPP に置き換えることができます。
esxcli storage core claimrule add コマンドを使用して、ESXi ホストで HPP または NMP を有効にします。
esxcli storage core claimrule add を実行するには、ESXi Shell または vSphere CLI を使用します。詳細については、『ESXCLI スタート ガイド』および『ESXCLI のリファレンス』を参照してください。
前提条件
VMware NVMe ストレージ環境を設定します。詳細については、『VMware NVMe ストレージについて』を参照してください。
手順
遅延感度しきい値の設定
ストレージ デバイスに HPP を使用する場合は、I/O が I/O スケジューラを回避できるように、遅延感度しきい値を設定します。
デフォルトでは、ESXiはすべての I/O を I/O スケジューラを介して渡します。ただし、I/O スケジューラを使用すると内部キューイングが発生する可能性があるため、高速のストレージ デバイスの場合は効率的ではありません。
遅延感度しきい値を設定することにより、直接送信メカニズムを有効にして I/O がスケジューラを迂回するようにできます。このメカニズムを有効にすると、I/O は HPP を介して PSA からデバイス ドライバに直接渡されます。
直接送信が適切に機能するためには、観測される I/O の遅延の平均が、指定した遅延のしきい値よりも短い必要があります。I/O の遅延が遅延感度しきい値を超えると、システムは直接送信を停止し、I/O スケジューラの使用に一時的に戻ります。I/O 遅延の平均が遅延感度しきい値を再び下回ると、直接送信が再開されます。
HPP が要求したデバイス ファミリの遅延のしきい値を設定できます。ベンダーとモデルのペア、コントローラ モデル、または PCIe ベンダー ID とサブベンダー ID のペアを使用して、遅延のしきい値を設定します。
手順
ESXi esxcli HPP コマンド
ESXi Shell または vSphere CLI のコマンドを使用して、高パフォーマンス プラグインの設定と監視ができます。
esxcli コマンドの使用の概要についてはESXCLI スタート ガイドを、詳細についてはESXCLI のリファレンスを参照してください。
コマンド | 説明 | オプション |
---|---|---|
esxcli storage hpp path list | 高パフォーマンス プラグインによって現在要求されているパスを一覧表示します。 | -d|--device=device 特定のデバイスの情報を表示します。
|
esxcli storage hpp device list | 高パフォーマンス プラグインによって現在制御されているデバイスを一覧表示します。 | -d|--device=device 特定のデバイスを表示します。 |
esxcli storage hpp device set | HPP デバイスの設定を変更します。 | -B|--bytes=long パスの最大バイト数。これを超えるとパスは切り替わります。
-P|--pss=pss_name デバイスに割り当てるパス選択スキーム。値を指定しない場合は、デフォルト値が選択されます。パス選択スキームの説明については、
VMware High Performance プラグインとパス選択スキームを参照してください。次のオプションがあります。
|
esxcli storage hpp device usermarkedssd list | ユーザーが SSD としてマークした、またはマーク解除したデバイスを一覧表示します。 | -d|--device=device 特定のデバイスへの出力を制限します。 |