ストレージ デバイスに 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 のペアを使用して、遅延のしきい値を設定します。
手順
- デバイスの遅延感度しきい値は、次のコマンドを実行して設定します。
esxcli storage core device latencythreshold set -t value in milliseconds
次のいずれかのオプションを使用します。
オプション |
例 |
ベンダー/モデル |
指定したベンダーおよびモデルのすべてのデバイスに関する遅延感度しきい値パラメータを設定します。esxcli storage core device latencythreshold set -v 'vendor1' -m 'model1' -t 10 |
NVMe コントローラ モデル |
指定したコントローラ モデルのすべての NVMe デバイスに関する遅延感度しきい値を設定します。esxcli storage core device latencythreshold set -c 'controller_model1' -t 10 |
PCIe ベンダー/サブベンダー ID |
PCIe ベンダー ID として 0x8086、PCIe サブベンダー ID として 0x8086 を使用する、デバイスの遅延感度しきい値を設定します。esxcli storage core device latencythreshold set -p '8086' -s '8086' -t 10 |
- 遅延感度しきい値が設定されていることを確認します。
esxcli storage core device latencythreshold list
Device Latency Sensitive Threshold
-------------------- ---------------------------
naa.55cd2e404c1728aa 0 milliseconds
naa.500056b34036cdfd 0 milliseconds
naa.55cd2e404c172bd6 50 milliseconds
- 遅延感度しきい値のステータスを監視します。次のエントリの VMkernel ログを確認します。
Latency Sensitive Gatekeeper turned on for device device. Threshold of XX msec is larger than max completion time of YYY msec
Latency Sensitive Gatekeeper turned off for device device. Threshold of XX msec is exceeded by command completed in YYY msec