스토리지 디바이스에 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 벤더 ID 및 하위 벤더 ID 쌍을 사용하여 지연 시간 임계값을 설정합니다.

프로시저

  1. 다음 명령을 실행하여 디바이스에 대해 지연 시간에 민감한 임계값을 설정합니다.
    esxcli storage core device latencythreshold set -t 밀리 초 단위의 값

    다음 옵션 중 하나를 사용합니다.

    옵션
    벤더/모델 표시된 벤더 및 모델을 사용하는 모든 디바이스에 대한 지연 시간에 민감한 임계값 매개 변수를 설정합니다. 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
  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