CSV 메모리 내 읽기 캐시 사용

적용 대상: Azure Stack HCI, 버전 22H2 및 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016

이 항목에서는 시스템 메모리를 사용하여 자주 읽기를 캐싱하여 Azure Stack HCI 및 Windows Server의 성능을 향상시키는 방법을 설명합니다. 쓰기는 메모리에 캐시할 수 없습니다.

Azure Stack HCI 및 Windows Server는 CSV(클러스터 공유 볼륨) 메모리 내 읽기 캐시와 호환됩니다. 시스템 메모리를 사용하여 읽기를 캐시하면 버퍼되지 않은 I/O를 사용하여 VHD 또는 VHDX 파일에 액세스하는 Hyper-V와 같은 애플리케이션의 성능이 향상될 수 있습니다. (버퍼되지 않은 I/Os는 Windows Cache Manager에서 캐시하지 않는 모든 작업입니다.)

메모리 내 캐시는 서버 로컬이므로 데이터 로컬이 향상됩니다. 최근 읽기는 VM(가상 머신)이 실행되는 동일한 호스트의 메모리에 캐시되어 읽기가 네트워크를 통해 이동하는 빈도를 줄입니다. 이로 인해 대기 시간이 짧아지고 스토리지 성능이 향상됩니다.

CSV 메모리 내 읽기 캐시는 스토리지 풀 캐시와 다릅니다.

계획 고려 사항

메모리 내 읽기 캐시는 VDI(가상 데스크톱 인프라)와 같은 읽기 집약적 워크로드에 가장 효과적입니다. 반대로 워크로드가 쓰기 집약적이면 캐시에 값보다 오버헤드가 더 많이 발생할 수 있으므로 사용하지 않도록 설정해야 합니다.

CSV 메모리 내 읽기 캐시에 대해 총 실제 메모리의 최대 80%를 사용할 수 있습니다. VM에 충분한 메모리를 남겨 두세요!

참고

DISKSPD 및 VM Fleet 와 같은 특정 마이크로 동기화 도구는 CSV 메모리 내 읽기 캐시를 사용하지 않는 것보다 더 나쁜 결과를 생성할 수 있습니다. 기본적으로 VM 플릿은 VM당 10GiB VHDX(총 100개 VM에 대해 약 1TiB)를 만든 다음 , 균일하게 임 의 읽기 및 쓰기를 수행합니다. 실제 워크로드와 달리 읽기는 예측 가능하거나 반복적인 패턴을 따르지 않으므로 메모리 내 캐시가 효과적이지 않고 오버헤드가 발생합니다.

메모리 내 읽기 캐시 구성

CSV 메모리 내 읽기 캐시는 Azure Stack HCI, Windows Server 2019 및 동일한 기능을 사용하는 Windows Server 2016 사용할 수 있습니다. Azure Stack HCI 및 Windows Server 2019에서는 기본적으로 1GiB(gibibyte)가 할당되어 있습니다. Windows Server 2016 기본적으로 꺼져 있습니다.

OS 버전 기본 CSV 캐시 크기
Azure Stack HCI 1GiB
Windows Server 2019 1GiB
Windows Server 2016 0(사용 안 함)

Windows Admin Center 사용하여 캐시 구성

Windows Admin Center 사용하여 캐시를 구성하려면 다음을 수행합니다.

  1. Windows Admin Center 클러스터에 연결한 다음 왼쪽의 도구 창에서 설정을 선택합니다.
  2. 설정 창의 스토리지에서 메모리 내 캐시를 선택합니다.
  3. 오른쪽 창에서 확인란이 캐시를 사용하거나 사용하지 않도록 설정하고 캐시에 할당할 서버당 최대 메모리를 지정할 수도 있습니다.
  4. 완료되면 저장을 선택합니다.

Windows Admin Center 확인란이 캐시를 사용하거나 사용하지 않도록 설정합니다. 캐시에 할당할 서버당 최대 메모리를 지정할 수도 있습니다.

PowerShell을 사용하여 캐시 구성

PowerShell을 사용하여 할당되는 메모리 양을 확인하려면 관리자 권한으로 다음을 실행합니다.

(Get-Cluster).BlockCacheSize

반환되는 값은 서버당 Mebibytes(MiB)입니다. 예를 들어 은 1024 1GiB를 나타냅니다.

할당된 메모리 양을 변경하려면 PowerShell을 사용하여 이 값을 수정합니다. 예를 들어 서버당 2GiB를 할당하려면 다음을 실행합니다.

(Get-Cluster).BlockCacheSize = 2048

변경 내용이 즉시 적용되려면 CSV 볼륨을 일시 중지한 다음 다시 시작하거나 서버 간에 이동합니다. 예를 들어 이 PowerShell 조각을 사용하여 각 CSV를 다른 서버 노드로 이동하고 다시 이동합니다.

Get-ClusterSharedVolume | ForEach {
    $Owner = $_.OwnerNode
    $_ | Move-ClusterSharedVolume
    $_ | Move-ClusterSharedVolume -Node $Owner
}

다음 단계

관련 정보는 다음을 참조하세요.