將 HPP 用於儲存裝置時,請設定該裝置的延遲敏感臨界值,以便 I/O 可避免 I/O 排程器。
依預設,ESXi會透過 I/O 排程器傳遞每個 I/O。不過,使用排程器可能會建立內部佇列,這對於高速儲存裝置來說無效。
您可以設定延遲敏感臨界值,並啟用可協助 I/O 略過排程器的直接提交機制。透過啟用此機制,I/O 會直接從 PSA 通過 HPP 傳遞至裝置驅動程式。
為了使直接提交正常運作,觀察的平均 I/O 延遲必須低於您指定的延遲臨界值。如果 I/O 延遲超過延遲臨界值,系統會停止直接提交,並暫時還原為使用 I/O 排程器。如果平均 I/O 延遲再次低於延遲臨界值,會恢復直接提交。
您可以為 HPP 宣告的裝置系列設定延遲臨界值。使用廠商和型號配對、控制器型號,或 PCIe 廠商識別碼與子廠商識別碼配對來設定延遲臨界值。
程序
- 透過執行下列命令來設定裝置的延遲敏感臨界值:
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 廠商/子廠商識別碼 |
針對具有 0x8086 為 PCIe 廠商識別碼和 0x8086 為 PCIe 子廠商識別碼的裝置,設定延遲敏感臨界值。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