자습서: 독립 실행형 서버에서 저장소 공간 스토리지 버스 캐시 사용

적용 대상: Windows Server 2022

독립 실행형 서버용 스토리지 버스 캐시는 읽기 및 쓰기 성능을 크게 향상하는 동시에 스토리지 효율성을 높이고 운영 비용을 낮게 유지하는 기본. 이 기능은 더 빠른 미디어(예: SSD)와 느린 미디어(예: HDD)를 결합하여 계층을 만듭니다. 자세한 내용은 스토리지 풀 캐시 이해를 참조하세요. 기본적으로 더 빠른 미디어 계층의 일부만 캐시용으로 예약됩니다.

복원력 캐시 유형
없음(단순 공간) 읽기 및 쓰기
미러 가속 패리티 Read

시스템에 복원력이 필요하지 않거나 외부 백업이 있는 경우 스토리지 버스 캐시는 읽기 및 쓰기 캐싱을 모두 지원합니다. 복원력 시스템의 경우 스토리지 버스 캐시는 읽기 캐시로만 사용되며 볼륨 복원력으로 ReFS(복원 파일 시스템) 미러 가속 패리티 를 선택해야 합니다. 이 조합은 패리티 계층에서 데이터를 읽고 더 빠른 미러 계층에 캐시되므로 임의 읽기 성능을 향상시킵니다. 프로비전 모드가 공유(기본값)로 설정된 경우 미러 계층은 쓰기 캐싱 기능도 제공합니다.

Diagram of storage bus cache read and write paths.

이 자습서에서는 다음에 대해 알아봅니다.

  • 스토리지 버스 캐시란?
  • 스토리지 버스 캐시를 사용하도록 설정하는 방법
  • 배포 후 캐시 관리

필수 조건

환경이 다음 특성과 모두 일치하는 경우 스토리지 버스 캐시를 고려해야 합니다.

  • 서버에서 Windows Server 2022를 실행합니다. 및
  • 서버에는 2개의 미디어/드라이브 유형이 있으며, 그 중 하나는 HDD(예: SSD+HDD 또는 NVMe+HDD)여야 합니다. 및
  • 서버에 장애 조치(failover) 클러스터링 기능이 설치되어 있습니다.

환경이 다음 특성과 일치하는 경우 스토리지 버스 캐시를 사용할 수 없습니다.

  • 서버에서 Windows Server 2016 또는 2019를 실행합니다. 또는
  • 서버에 모든 플래시 구성이 있습니다. 또는
  • 서버가 장애 조치(failover) 클러스터의 구성원입니다.

참고 항목

이 기능을 사용하려면 서버에 장애 조치(failover) 클러스터링 기능이 설치되어 있어야 하지만 서버는 장애 조치(failover) 클러스터의 일부가 될 수 없습니다.

기능 개요

이 섹션에서는 스토리지 버스 캐시의 구성 가능한 각 필드와 해당 값에 대해 설명합니다.

Get-StorageBusCache

사용하도록 설정하지 않은 경우 출력은 다음 예제와 유사해야 합니다.

ProvisionMode                  : Shared
SharedCachePercent             : 15
CacheMetadataReserveBytes      : 34359738368
CacheModeHDD                   : ReadWrite
CacheModeSSD                   : WriteOnly
CachePageSizeKBytes            : 16
Enabled                        : False

참고 항목

일반적으로 기본 설정을 사용해야 합니다. 스토리지 버스 캐시를 사용하도록 설정하기 전에 변경해야 합니다.

프로비전 모드

이 필드는 더 빠른 미디어 계층 또는 그 일부만 캐싱에 사용되는지 여부를 결정합니다. 스토리지 버스 캐시를 사용하도록 설정한 후에는 이 필드를 수정할 수 없습니다. 사전 표시 모드에는 다음 두 가지 옵션이 있습니다.

  • 공유(기본값): 캐시는 더 빠른 미디어 계층의 일부만 차지합니다. 정확한 백분율은 공유 캐시 백분율 필드로 구성할 수 있습니다.
  • 캐시: 더 빠른 미디어 계층의 대부분을 일부만 사용하는 것이 아니라 캐싱에 헌정합니다. 자세한 내용은 스토리지 풀 캐시 이해를 참조하세요.

공유 캐시 백분율

이 필드는 프로비전 모드가 공유로 설정된 경우에만 적용됩니다. 기본값은 15%이고 필드는 5%에서 90%로 설정할 수 있습니다. 캐시와 미러 계층 간에 균형이 있어야 하므로 미러 가속 패리티 볼륨을 사용하는 경우 50% 이상의 값을 사용하면 안 됩니다.

Enabled

이 필드는 스토리지 버스 캐시의 상태를 참조하며 true 또는 false일 수 있습니다.

고급 필드

Important

이러한 필드를 변경하지 않는 것이 좋습니다. 스토리지 버스 캐시를 사용하도록 설정한 후에는 조정할 수 없습니다.

  • 캐시 메타데이터 예약 바이트: 저장소 공간 예약된 디스크 공간의 양(바이트)입니다. 이 필드는 프로비전 모드가 캐시인 경우에만 적용됩니다.

  • 캐시 모드 HDD: 기본값은 HDD 용량 디바이스가 읽기 및 쓰기를 캐시하도록 허용하는 것입니다. 단순 공백의 경우 이 설정을 ReadWrite 또는 WriteOnly로 설정할 수 있습니다.

  • 캐시 모드 SSD: 이 모드는 모든 플래시 시스템이 지원될 때 나중에 사용할 수 있습니다. 기본값은 SSD 용량 디바이스가 쓰기만 캐시하도록 허용하는 것입니다.

  • 캐시 페이지 크기 KBytes: 이 필드는 8, 16(기본값), 32 및 64로 설정할 수 있습니다.

PowerShell에서 스토리지 버스 캐시 사용

이 섹션은 PowerShell에서 독립 실행형 서버에 스토리지 버스 캐시를 사용하도록 설정하는 방법에 대한 단계별 가이드입니다.

  1. 모듈을 가져옵니다.

    Import-Module StorageBusCache 
    
  2. 스토리지 버스 캐시 설정을 구성합니다.

    기본 설정을 사용해야 합니다. 이 경우 이 단계를 건너뛰어 기본값을 계속합니다.

    Important

    구성이 필요한 경우 스토리지 버스 캐시를 사용하도록 설정하기 전에 구성을 수행합니다. 필드에 대한 자세한 내용은 기능 개요 섹션을 참조하세요.

  3. 드라이브 상태 확인합니다.

    Get-PhysicalDisk
    

    출력은 다음 이미지와 유사해야 합니다. 여기서 숫자 열은 500 미만의 값을 표시하고 CanPool 열은 모든 비부트 드라이브에 대해 true를 표시합니다.

    Screenshot showing the result from Get-PhysicalDisk before enabling the storage bus cache.

  4. 스토리지 버스 캐시를 사용하도록 설정합니다.

    Enable-StorageBusCache
    

    이 단계에서는 다음을 수행합니다.

    • 사용 가능한 모든 드라이브를 사용하여 스토리지 풀을 만듭니다.
    • 빠르고 느린 미디어를 바인딩하고 캐시를 형성합니다.
    • 기본 설정 또는 사용자 지정 설정을 사용하여 스토리지 버스 캐시를 추가합니다.

    실행 Get-StoragePool 하여 스토리지 풀 Get-PhysicalDisk 의 이름을 확인하고 스토리지 버스 캐시를 사용하도록 설정하면 미치는 영향을 다시 확인할 수 있습니다. 출력은 다음 이미지와 유사해야 합니다. 숫자 열에는 500개가 넘는 값이 표시되며 이는 스토리지 버스가 드라이브를 클레임했음을 나타냅니다. 이제 CanPool 열에 모든 비부트 드라이브에 대해 False가 표시됩니다. ProvisionMode 활성화하기 전에 캐시로 설정된 경우 사용량 열은 더 빠른 드라이브에 대한 저널로 표시됩니다.

    Screenshot showing the results of Get-StoragePool and Get-PhysicalDisk after enabling the storage bus cache.

  5. 스토리지 버스 캐시 상태를 확인합니다.

    필드가 올바르고 이제 사용 필드가 true로 설정되어 있는지 확인합니다.

    Get-StorageBusCache 
    

    출력은 다음 예제와 유사해야 합니다.

    ProvisionMode                  : Shared
    SharedCachePercent             : 15
    CacheMetadataReserveBytes      : 34359738368
    CacheModeHDD                   : ReadWrite
    CacheModeSSD                   : WriteOnly
    CachePageSizeKBytes            : 16
    Enabled                        : True
    

스토리지 버스 캐시를 사용하도록 설정했으므로 다음 단계는 볼륨을 만드는 것입니다.

볼륨 만들기

만들어야 하는 볼륨은 복원력을 사용하거나 사용하지 않고 해당 볼륨을 만드는지 여부에 따라 달라집니다.

복원력이 있는 볼륨

다음 PowerShell cmdlet은 미러:패리티 비율이 20:80인 1TiB 미러 가속 패리티 볼륨을 만듭니다. 이는 대부분의 워크로드에 사용해야 하는 구성입니다. 자세한 내용은 미러 가속 패리티를 참조 하세요.

New-Volume –FriendlyName "TestVolume" -FileSystem ReFS -StoragePoolFriendlyName Storage* -StorageTierFriendlyNames MirrorOnSSD, ParityOnHDD -StorageTierSizes 200GB, 800GB

복원력이 없는 볼륨

다음 PowerShell cmdlet은 디스크 오류를 허용할 수 없는 1TB 단순 볼륨을 만듭니다. 읽기 및 쓰기 캐싱이 모두 지원됩니다.

New-Volume -FriendlyName "TestVolume" -FileSystem ReFS -StoragePoolFriendlyName Storage* -ResiliencySettingName Simple -Size 1TB

스토리지 버스 캐시를 사용하도록 설정한 후 변경

프로 Enable-StorageBusCache비전 모드, 공유 캐시 백분율, 캐시 메타데이터 예약 바이트, 캐시 모드 HDD, 캐시 모드 SSD 및 캐시 페이지 크기를 수정할 수 없습니다. 물리적 설정에 대해 제한된 변경을 수행할 수 있습니다. 자세한 내용은 다음과 같은 일반적인 시나리오를 참조하세요.

용량 드라이브 추가 또는 바꾸기(HDD)

드라이브가 수동으로 추가되면 다음 cmdlet을 실행하여 유입 프로세스를 완료합니다.

Update-StorageBusCache

캐시 드라이브 추가 또는 바꾸기(NVMes 또는 SSD)

기존 바인딩을 바인딩 해제/다시 바인딩하고 관계의 균형을 맞추는 cmdlet은 없습니다. 다음 단계를 수행하면 기존 읽기 캐시가 손실됩니다.

Remove-StorageBusBinding
New-StorageBusBinding 

캐시 및 용량 바인딩 확인 및 균형 조정

다음 cmdlet을 사용하여 기존 캐시 및 용량 바인딩을 검사.

Get-StorageBusBinding

다음 예제에서 첫 번째 열에는 용량 드라이브가 나열되고 세 번째 열에는 바인딩된 캐시 드라이브가 나열됩니다. 기존 캐시가 유지되지 않도록 캐시 드라이브를 추가하거나 교체하여 균형을 유지하는 지침을 따릅니다.

Screenshot showing the output of Get-StorageBusBinding.

스토리지 버스 캐시 FAQ

이 섹션에서는 Windows Server 2022의 스토리지 버스 캐시에 대한 질문과 대답을 제공합니다.

서버가 장애 조치(failover) 클러스터의 일부가 아닌 경우 장애 조치(failover) 클러스터링 기능을 설치해야 하는 이유는 무엇인가요?

이 기능은 독립 실행형 서버를 위해 설계되었지만 저장소 공간 Direct용 SBL(스토리지 버스 계층) 캐시를 기반으로 합니다. 클러스터링 구성 요소가 필요하므로 장애 조치(failover) 클러스터링 기능을 설치해야 합니다.

스토리지 버스 캐시가 모든 플래시 구성에서 작동합니까?

아니요, 이 기능은 두 가지 미디어 유형이 있는 경우에만 작동하며, 그 중 하나는 HDD여야 합니다. 이 기능은 RAID, SAN 또는 플래시 시스템에서 작동하지 않습니다.

스토리지 버스 캐시 설정은 어떻게 변경될 수 있나요?

프로비전 모드를 공유(기본값)에서 캐시로 변경하려면 다음 예제를 참조하세요. 기본 설정이 권장되며 스토리지 버스 캐시를 사용하도록 설정하기 전에 변경해야 합니다.

Set-StorageBusCache -ProvisionMode Cache