將 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 廠商識別碼與子廠商識別碼配對來設定延遲臨界值。

程序

  1. 透過執行下列命令來設定裝置的延遲敏感臨界值:
    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
  2. 確認已設定延遲臨界值:
    esxcli storage core device latencythreshold list
    Device                Latency Sensitive Threshold
    --------------------  ---------------------------
    naa.55cd2e404c1728aa               0 milliseconds
    naa.500056b34036cdfd               0 milliseconds
    naa.55cd2e404c172bd6              50 milliseconds
    
  3. 監控延遲敏感臨界值的狀態。檢查 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