Hyper-V 스토리지 I/O 성능

이 문서에서는 VM(가상 머신)에서 스토리지 입력/출력(I/O) 성능을 조정하기 위한 다양한 옵션과 고려 사항을 살펴봅니다. 스토리지 I/O 경로는 다음 네 개의 연속 단계로 확장됩니다.

  1. 게스트 스토리지 스택
  2. 호스트 가상화 계층
  3. 호스트 스토리지 스택
  4. 실제 디스크

다음 섹션에서는 각 단계에 대해 가능한 최적화를 설명합니다.

가상 컨트롤러

Hyper-V는 세 가지 유형의 가상 컨트롤러를 제공합니다.

  • IDE(Integrated Drive Electronics)

  • SCSI(소형 컴퓨터 시스템 인터페이스)

  • HBA(호스트 버스 어댑터) 가상 파이버 채널

IDE

OS 디스크에는 IDE 디스크만 사용하는 것이 좋습니다. OS 디스크에는 디바이스의 최대 I/O 크기에 따라 성능 제한이 있습니다.

IDE 컨트롤러는 IDE 디스크를 VM에 노출하는 에뮬레이트된 컨트롤러입니다. 이 유형의 컨트롤러는 Hyper-V VM 통합 서비스 없이 이전 버전의 Windows를 실행하는 게스트 VM에 대한 유일한 옵션입니다. 통합 서비스에서 제공하는 IDE 필터 드라이버는 에뮬레이트된 IDE 컨트롤러보다 디스크 I/O를 더 잘 수행할 수 있습니다.

SCSI(SAS 컨트롤러)

가상 SCSI 컨트롤러는 SCSI 디스크를 VM에 노출합니다. 각 SCSI 컨트롤러는 최대 64개의 디바이스를 지원합니다. SCSI 경로는 에뮬레이트되지 않으므로 OS 디스크 이외의 디스크에 대한 기본 설정 컨트롤러입니다. Windows Server 2012 R2 이상에서는 SCSI 컨트롤러를 지원하지만, VHDX(공유 가상 하드 디스크)를 지원하기 위해 컨트롤러를 SAS(직렬 연결된 SCSI)로 보고하는 시나리오에서만 지원됩니다.

최상의 성능을 위해 단일 가상 SCSI 컨트롤러에 여러 디스크를 연결하는 것이 좋습니다. VM에 연결된 디스크 수를 조정하는 다른 옵션이 없는 경우에만 컨트롤러를 더 만들어야 합니다.

가상 파이버 채널 HBA

VM이 FCoE(이더넷) LUN(논리 단위 번호)을 통해 파이버 채널 및 파이버 채널에 직접 액세스할 수 있도록 가상 파이버 채널 HBA를 구성합니다. 가상 파이버 채널 디스크는 루트 파티션의 NTFS 파일 시스템을 우회하여 스토리지 I/O CPU(중앙 처리 장치) 사용량을 줄입니다. 가상 파이버 채널 디스크는 게스트 클러스터링 시나리오에서 여러 VM 간에 공유되는 큰 데이터 드라이브 및 드라이브에 적합합니다.

가상 파이버 채널 디스크를 사용하려면 호스트 컴퓨터에 하나 이상의 파이버 채널 HBA를 설치해야 합니다. 각 호스트 HBA는 Windows Server 2016 가상 파이버 채널 또는 NPIV(N_Port ID 가상화) 기능을 지원하는 HBA 드라이버를 사용해야 합니다. SAN(스토리지 영역 네트워크) 패브릭도 NPIV를 지원해야 하며, NPIV를 지원하는 파이버 채널 토폴로지에서 파이버 채널에 대한 HBA 포트를 구성해야 합니다.

둘 이상의 HBA를 사용하여 호스트에서 처리량을 최대화하려면 Hyper-V VM 내에서 많은 가상 HBA를 구성하는 것이 좋습니다. 각 VM에 대해 최대 4개의 HBA를 구성할 수 있습니다. Hyper-V는 동일한 가상 SAN에 액세스하는 HBA를 호스트하도록 가상 HBA의 균형을 자동으로 조정합니다.

가상 디스크

가상 디스크는 가상 컨트롤러에 의해 VM에 노출되며 호스트의 가상 하드 디스크 또는 통과 디스크일 수 있습니다.

가상 디스크는 VHD 또는 VHDX 형식으로 제공됩니다. 각 형식은 세 가지 유형의 가상 하드 디스크 파일을 지원합니다.

배포를 Windows Server 2016 이상으로 업그레이드하는 경우 모든 VHD 파일을 VHDX 형식으로 변환하는 것이 좋습니다. 자세한 내용은 VHDX 형식을 참조 하세요.

VHD 형식

이후 버전의 Hyper-V에는 더 나은 맞춤을 가능하게 하는 VHD 형식이 개선되었습니다. Windows Server 2012 이상의 Hyper-V는 VHD 형식만 지원하는 이전 버전과 달리 VHDX 및 VHD 형식을 모두 지원합니다. 따라서 이후 버전의 Hyper-V는 대규모 섹터 디스크에서 더 나은 성능을 발휘합니다.

Windows Server 2012 이상에서 만드는 모든 VHD에는 최적의 4KB 맞춤이 있습니다. 이 정렬된 형식은 이전 버전의 Windows Server와 완벽하게 호환됩니다. 그러나 맞춤 속성은 이전 버전의 Windows Server 또는 타사 파서의 파서와 같이 4KB 맞춤을 인식하지 않는 파서의 새 할당을 지원하지 않습니다.

디스크를 VHD 형식으로 변환

이전 버전의 Hyper-V 또는 Windows Server에서 이후 버전으로 VHD를 마이그레이션하는 경우 시스템은 디스크를 VHD 형식으로 자동으로 변환하지 않습니다.

PowerShell 창을 열고 다음 명령을 실행하여 기존 가상 디스크를 VHD로 변환할 수 있습니다.

Convert-VHD –Path <SourceDiskFilePath> –DestinationPath <ConvertedDiskFilePath>

예를 들어 E 드라이브에 이름이 지정된 test.vhd 원본 디스크를 동일한 폴더에 이름이 test-converted.vhd 바뀐 변환된 디스크로 변환하려는 경우 다음 명령을 실행합니다.

Convert-VHD –Path E:\vms\testvhd\test.vhd –DestinationPath E:\vms\testvhd\test-converted.vhd

참고 항목

VHD를 변환할 때 PowerShell은 원본 디스크에서 복사 옵션에 따라 원본 VHD의 데이터를 사용합니다. 자세한 내용은 Convert-VHD를 참조하세요.

디스크 맞춤 확인

디스크를 변환한 후에는 해당 Alignment 변수를 검사 PowerShell에서 명령을 실행하여 최적의 4KB 맞춤을 Get-VHD 사용하고 있는지 확인할 수 있습니다. 원본 디스크 및 변환된 디스크에 대한 명령을 실행한 다음 값을 비교하여 변환된 디스크가 4KB 맞춤 인식인지 확인합니다.

디스크 맞춤을 보려면 다음을 수행합니다.

  1. PowerShell 창을 엽니다.

  2. Get-VHD 명령을 실행하여 원본 디스크에 대한 맞춤 설정을 봅니다.

    Get-VHD –Path <SourceVHDFilePath>
    
  3. 출력에서 속성의 값을 확인합니다 Alignment . 이 예제에서 값은 0디스크가 4KB 맞춤을 인식하지 않음을 의미합니다.

    Path                    : <SourceVHDFilePath>
    VhdFormat               : VHD
    VhdType                 : Dynamic
    FileSize                : 69245440
    Size                    : 10737418240
    MinimumSize             : 10735321088
    LogicalSectorSize       : 512
    PhysicalSectorSize      : 512
    BlockSize               : 2097152
    ParentPath              :
    FragmentationPercentage : 10
    Alignment               : 0
    Attached                : False
    DiskNumber              :
    IsDeleted               : False
    Number                  :
    
  4. Get-VHD 명령을 다시 실행하지만 이번에는 변환된 디스크의 파일 경로를 사용합니다.

    Get-VHD –Path <ConvertedDiskFilePath>
    
  5. 출력에서 속성 값을 Alignment 검사. 값은 디스크가 최신 VHD 형식으로 성공적으로 변환되고 4KB 맞춤 인식임을 의미합니다 1.

    Path                    : <ConvertedDiskFilePath>
    VhdFormat               : VHD
    VhdType                 : Dynamic
    FileSize                : 69369856
    Size                    : 10737418240
    MinimumSize             : 10735321088
    LogicalSectorSize       : 512
    PhysicalSectorSize      : 512
    BlockSize               : 2097152
    ParentPath              :
    FragmentationPercentage : 0
    Alignment               : 1
    Attached                : False
    DiskNumber              :
    IsDeleted               : False
    Number                  :
    

VHDX 형식

VHDX는 Windows Server 2012에 도입된 업데이트된 하드 디스크 형식입니다. 이 형식은 최대 64테라바이트 용량의 복원력 있는 고성능 가상 디스크를 만들 수 있습니다.

Windows Server 2016 이상으로 업그레이드하는 경우 모든 VHD 파일을 VHDX 형식으로 변환하는 것이 좋습니다. VM을 VHDX 형식을 지원하지 않는 이전 Hyper-V 릴리스로 이동해야 하는 경우에만 파일을 VHD 형식으로 유지합니다.

다음은 VHDX 형식의 몇 가지 이점입니다.

  • 최대 64테라바이트의 가상 하드 디스크 스토리지 용량 지원

  • VHDX 메타데이터 구조에 대한 업데이트를 로깅하여 정전 시 데이터 손상 방지

  • OS 버전 또는 적용된 패치와 같이 사용자가 기록하려는 내용을 기반으로 파일에 대한 사용자 지정 메타데이터를 저장합니다.

VHDX 형식은 다음과 같은 몇 가지 성능 기능도 제공합니다.

  • 가상 하드 디스크 형식의 맞춤을 개선하여 대규모 섹터 디스크의 성능 향상

  • 디스크가 워크로드 요구 사항에 맞게 조정되도록 하는 동적 및 차등 디스크에 대한 더 큰 블록 크기

  • 4KB 섹터용으로 설계된 애플리케이션 및 워크로드에서 사용할 때 성능 향상을 지원하는 4KB 논리 섹터 가상 디스크

  • 더 작은 파일 크기를 생성하고 기본 물리적 스토리지 디바이스가 사용되지 않는 공간을 회수할 수 있도록 데이터를 나타내는 효율성

    참고 항목

    트리밍하려면 통과 또는 SCSI 디스크와 트리밍 호환 하드웨어가 필요합니다.

가상 파일

다음과 같은 세 가지 유형의 VHD 파일이 있습니다.

  • 고정 파일은 복원력과 성능을 향상시키기 위한 것이며 호스팅 값의 스토리지가 적극적으로 모니터링되지 않을 때 사용해야 합니다. 런타임에 VHD 파일을 확장할 때 디스크 공간이 충분한지 확인합니다. 모든 디스크 형식에서 사용할 수 있습니다.

  • 동적 파일은 복원력을 보장하고 배포에 필요한 디스크 공간을 할당하기 위한 것입니다. VHDX에서만 사용할 수 있습니다.

  • 차이점 파일은 VM 스냅샷 체인을 짧게 유지하여 좋은 디스크 I/O 성능을 기본. 모든 디스크 형식에서 사용할 수 있습니다.

수정된 파일 형식

고정 VHD 파일을 만들 때 시스템에서 VHD 파일을 위한 공간을 할당합니다. 단일 I/O가 여러 I/O로 분할될 때 I/O 처리량이 감소하여 수정된 파일이 조각화될 가능성이 적습니다. 또한 읽기 및 쓰기 작업은 블록의 매핑을 조회할 필요가 없으므로 세 가지 파일 옵션 중 CPU 오버헤드가 가장 낮습니다.

최적의 복원력과 성능이 필요한 경우 고정 파일 형식을 사용하는 것이 좋습니다.

동적 파일 형식

동적 VHD 파일을 만들 때 시스템에서 요청 시 공간을 할당합니다. 파일의 블록은 할당된 블록으로 시작하고 파일의 공백은 할당되지 않은 블록을 백업하지 않습니다. 블록이 첫 번째 쓰기를 받으면 가상화 스택은 VHD 파일의 블록에 대한 공간을 할당한 다음 메타데이터를 업데이트해야 합니다. 이렇게 할당하면 쓰기에 필요한 디스크 I/O 수가 증가하여 CPU 사용량이 증가합니다. 메타데이터에서 블록의 매핑을 조회할 때 기존 블록을 읽고 쓰면 디스크 액세스 및 CPU 오버헤드가 발생합니다.

VHDX 파일을 사용하는 경우 호스팅 볼륨에서 스토리지를 적극적으로 모니터링하지 않는 경우 동적 파일 형식을 사용하는 것이 좋습니다. 런타임에 VHD 파일을 확장할 때 디스크 공간이 충분한지 확인합니다.

차이점 파일 형식

차이점 파일은 디스크에 쓰기를 저장하는 VM의 스냅샷. 기존 쓰기가 없는 블록에 쓰는 경우 시스템은 동적으로 확장되는 VHD와 마찬가지로 VHD 파일에 공간을 할당합니다. 블록에 쓰기가 이미 포함된 경우 시스템 서비스는 VHD 파일에서 읽기 작업을 수행합니다. 그렇지 않으면 부모 VHD 파일에서 블록을 서비스합니다. 두 경우 모두 시스템은 메타데이터를 읽고 블록 매핑을 확인합니다. 이 VHD에 대한 읽기 및 쓰기는 더 많은 CPU를 사용하고 고정 VHD 파일보다 더 많은 I/O를 생성할 수 있습니다.

스냅샷 몇 개만 있는 경우 스토리지 I/O는 잠재적으로 정상보다 더 많은 CPU를 사용할 수 있지만 I/O 집약적인 서버 워크로드를 제외하고는 성능에 눈에 띄게 영향을 주지 않습니다. VM 스냅샷 큰 체인을 만들고 사용하면 성능 문제가 발생합니다. 차이점 파일에서 시스템은 VHD에서 읽기 위해 여러 다른 차이점 VHD의 요청된 블록에 대해 검사 합니다. 차이점 보관 파일을 사용하는 경우 좋은 디스크 I/O 성능을 기본 위해 스냅샷 체인을 짧게 유지하는 것이 좋습니다.

크기 고려 사항

디스크 최적화를 계획할 때 블록 크기와 섹터 크기를 모두 고려해야 합니다. 이 섹션에서는 크기 조정 블록 및 섹터에 대한 권장 사항을 설명합니다.

블록 크기

블록 크기는 성능에 큰 영향을 줄 수 있으므로 디스크를 사용하여 블록 크기를 워크로드의 할당 패턴과 일치시킬 것을 권장합니다. 애플리케이션이 16MB 청크로 블록을 할당하는 경우 16MB의 VHD 블록 크기를 사용하는 것이 좋습니다. 2MB보다 큰 블록 크기는 VHDX 파일 형식을 사용하는 VHD에서만 가능합니다. 블록 크기가 임의 I/O 워크로드의 할당 패턴보다 크면 VHD가 호스트에서 사용하는 공간의 양이 증가합니다.

섹터 크기

소프트웨어 조직은 512바이트의 디스크 섹터에 자주 의존하지만 업계 표준은 4KB 디스크 섹터로 이동하고 있습니다. 섹터 크기 변경으로 인해 발생할 수 있는 호환성 문제를 줄이기 위해 하드 드라이브 공급업체는 512 에뮬레이션 드라이브(512e)라고 하는 전환 크기를 도입하고 있습니다.

에뮬레이션 드라이브는 향상된 형식 효율성 및 ECC(오류 수정 코드)에 대한 향상된 체계와 같은 4KB 디스크 섹터 네이티브 드라이브에서 제공하는 몇 가지 이점을 제공합니다. 에뮬레이션 드라이브는 디스크 인터페이스에서 4KB 섹터 크기를 노출할 때 더 적은 호환성 문제를 제공합니다.

4KB 섹터를 최대한 활용하려면 디스크 섹터 512바이트 대신 VHDX 형식을 사용하는 것이 좋습니다. 디스크 크기 간의 호환성 문제를 줄이려면 전환 크기 조정을 위해 512e 드라이브를 구현합니다.

512e 디스크로 전환 크기 지원

512e 디스크는 물리적 섹터 측면에서만 쓰기 작업을 수행할 수 있습니다. 이 유형의 디스크는 시스템에서 발급하는 512 바이트 섹터를 직접 작성할 수 없습니다. 디스크에는 쓰기 작업을 가능하게 하는 내부 프로세스가 있으며, 여기에는 다음 순서대로 RMW(읽기 수정-쓰기) 작업이 포함됩니다.

  • 먼저 디스크는 4KB 물리적 섹터를 내부 캐시로 읽습니다. 캐시에는 쓰기 작업에서 참조되는 512 바이트 논리 섹터가 포함됩니다.

  • 다음으로 디스크는 업데이트된 512바이트 섹터를 포함하도록 4KB 버퍼의 데이터를 수정합니다.

  • 마지막으로, 디스크는 업데이트된 4KB 버퍼를 디스크의 물리적 섹터에 다시 씁니다.

RMW 프로세스가 성능에 미치는 전반적인 영향은 워크로드에 따라 달라집니다. RMW 프로세스는 다음과 같은 이유로 가상 하드 디스크의 성능 저하를 일으킬 수 있습니다.

  • 동적 및 차이점 보관용 VHD에는 데이터 페이로드 앞에 512바이트 섹터 비트맵이 삽입되어 있습니다. 바닥글, 머리글 및 부모 로케이터는 512 바이트 섹터에 맞춰 정렬됩니다. 가상 하드 디스크 드라이버는 이러한 구조를 업데이트하기 위해 512 바이트 쓰기 작업을 실행하여 디스크가 RMW 프로세스를 실행하는 것이 일반적입니다.

  • 4KB는 NTFS의 기본 클러스터 크기이므로 애플리케이션은 일반적으로 4KB 크기의 배수로 읽기 및 쓰기 작업을 실행합니다. 동적 및 차이점이 있는 가상 하드 디스크에는 데이터 페이로드 블록 앞에 512 바이트 섹터 비트맵이 있습니다. 이 비트맵을 사용하면 4KB 블록이 실제 4KB 경계에 맞지 않습니다. 다음 다이어그램에서는 물리적 4KB 경계와 정렬되지 않은 강조 표시된 VHD 4KB 블록을 보여 있습니다.

    Diagram of a VHD 4-KB block that's not aligned with the physical 4-KB boundary.

페이로드 데이터를 업데이트하기 위한 현재 파서의 각 4KB 쓰기 작업으로 인해 디스크의 두 블록에 대해 두 개의 읽기가 발생합니다. 그런 다음 시스템은 블록을 업데이트하고 두 개의 디스크 블록에 다시 씁니다. Windows Server 2016의 Hyper-V는 VHD 스택의 512e 디스크에 대한 일부 성능 영향을 완화합니다. Hyper-V는 VHD 형식으로 4KB 경계에 맞게 구조체를 준비합니다. 이 완화는 가상 하드 디스크 파일 내의 데이터에 대한 액세스 및 가상 하드 디스크 메타데이터 구조에 대한 업데이트에 대한 RMW 영향을 방지합니다.

이전에 멘션 이전 버전의 Windows Server에서 복사한 VHD는 자동으로 4KB로 정렬되지 않습니다. 명령과 함께 Convert-VHD 원본 디스크에서 복사 옵션을 사용하여 디스크를 최적으로 정렬하도록 수동으로 변환할 수 있습니다.

기본적으로 VHD는 512바이트의 실제 섹터 크기로 노출됩니다. 이 방법을 사용하면 이전 버전의 Windows Server에서 애플리케이션 및 VHD를 마이그레이션할 때 실제 섹터 크기의 종속 애플리케이션이 영향을 받지 않습니다.

기본적으로 시스템은 4KB 물리적 섹터 크기의 VHDX 디스크를 만들어 일반 디스크 및 더 큰 섹터 디스크에서 성능 프로필을 최적화합니다.

디스크 크기 간의 호환성 문제를 줄이려면 전환 크기 조정을 위해 512e 드라이브를 구현하는 것이 좋습니다. 4KB 섹터를 최대한 활용하려면 VHDX 형식을 사용합니다.

네이티브 4KB 디스크

Windows Server 2012 R2 이상의 Hyper-V는 4KB 네이티브 디스크를 지원합니다. 가상 스토리지 스택 계층에서 소프트웨어 RMW 알고리즘을 구현하여 VHD 디스크 데이터를 4KB 네이티브 디스크에 저장할 수도 있습니다. 이 알고리즘은 512바이트 액세스 및 업데이트 요청을 해당 4KB 액세스 및 업데이트로 변환합니다.

VHD 파일은 512바이트 논리 섹터 크기 디스크로만 노출될 수 있으므로 512바이트 I/O 요청을 발급하는 애플리케이션이 있을 수 있습니다. 이러한 경우 스토리지 스택 계층의 RMW 알고리즘은 요청을 충족하고 성능 저하를 일으킵니다. 논리 섹터 크기가 512바이트인 VHDX 디스크의 경우 동일한 결과가 발생합니다.

4KB 논리 섹터 크기 디스크로 노출되도록 VHDX 파일을 구성할 수 있습니다. 이 구현은 4KB 네이티브 물리적 디바이스에서 호스트되는 디스크의 성능을 위한 최적의 구성입니다. 그러나 4KB 논리 섹터 크기가 가상 디스크를 사용하는 게스트 및 애플리케이션을 모두 지원하는지 확인합니다. VHDX 형식은 4KB 논리 섹터 크기 디바이스에서 올바르게 작동합니다.

성능 저하를 일으킬 수 있으므로 VHD 및 VHDX 파일과 함께 4KB 네이티브 디스크를 사용하지 않는 것이 좋습니다. 시나리오에 4KB 네이티브 디스크가 필요한 경우 4KB 논리 섹터 크기 디바이스에서 VHDX 형식을 사용해야 합니다.

통과 디스크

VM 마이그레이션 시나리오에서 발생하는 제한 사항으로 인해 통과 디스크를 사용하지 않는 것이 좋습니다.

VHD 파일 대신 VM의 VHD를 실제 디스크 또는 LUN(논리 단위 번호)에 직접 매핑하는 것을 통과 디스크 통과 디스크라고 하므로 루트 파티션의 NTFS 파일 시스템을 우회하여 스토리지 I/O의 CPU 사용량을 줄일 수 있습니다. 그러나 통과 디스크를 사용하면 VHD 파일보다 물리적 디스크 또는 LUN을 컴퓨터 간에 마이그레이션하기가 더 어려워질 위험이 있습니다.

고급 스토리지 기능

이 섹션에서는 고급 스토리지 기능에 대해 고려해야 하는 몇 가지 성능 최적화에 대해 설명합니다.

QoS(스토리지 서비스 품질)

Windows Server 2012 R2 이상에서 Hyper-V에는 VM의 스토리지에 대한 특정 QoS(서비스 품질) 매개 변수를 설정하는 기능이 포함되어 있습니다. 스토리지 QoS를 구현하여 추가 스토리지 매개 변수에 액세스하고, 가상 하드 디스크에 대한 최대 및 최소 IOPS 임계값을 설정하고, 디스크 성능을 모니터링하는 것이 좋습니다. 이러한 매개 변수를 구현하여 다음과 같은 이점을 얻을 수 있습니다.

  • 다중 테넌트 환경에서 스토리지 성능 격리 구성

  • 가상 하드 디스크에 대한 IOPS(초당 최대 및 최소 입력/출력 작업) 지정

    • 관리 한 테넌트가 다른 테넌트에 영향을 줄 수 있는 과도한 스토리지 리소스를 사용하지 못하도록 스토리지 I/O를 제한할 수 있습니다. 시스템이 최적의 성능을 위해 임계값을 충족하지 않는 경우 최소 IOPS 값을 설정하고 알림을 받습니다. 8KB의 데이터를 I/O로 사용하는 정규화된 IOPS 측면에서 최대 또는 최소 IOPS 값을 지정합니다.
  • 스토리지 I/O 성능이 정의된 임계값보다 낮아 VM 워크로드를 효율적으로 실행하는 경우 알림을 받습니다.

  • VM 메트릭 인프라에 대한 스토리지 매개 변수에 액세스하고 관리자가 성능 및 차지백 관련 매개 변수를 모니터링할 수 있도록 합니다.

그러나 스토리지 QoS에는 다음과 같은 제한 사항이 있습니다.

  • 가상 디스크에만 사용 가능

  • 다른 볼륨에 부모 가상 디스크를 가질 수 없는 차이점 디스크

  • 복제본(replica) 사이트의 QoS는 기본 사이트와 별도로 구성됩니다.

  • 스토리지 QoS는 공유 VHDX를 지원하지 않습니다.

자세한 내용은 Hyper-V에 대한 스토리지 서비스 품질을 참조하세요.

큰 VM에 대한 NUMA I/O 레지스트리 설정

Windows Server 2012 이상에서는 가상 NUMA(Nonuniform memory access) 토폴로지에서 Hyper-V VM으로 프로젝션할 수 있습니다. NUMA 지원은 대량의 메모리 또는 대용량 VM으로 구성된 VM에서 실행되는 워크로드의 성능을 향상시킵니다. 이 지원을 사용하려면 대규모 VM 구성에 I/O 처리량 측면에서 확장성이 필요합니다. 대형 VM의 예로는 64개의 가상 프로세서로 실행되는 Microsoft SQL Server가 있습니다.

다음 Windows Server 향상된 기능은 대형 VM의 I/O 확장성 요구 사항을 충족합니다.

  • 게스트 디바이스와 호스트 스토리지 스택 간에 더 많은 통신 채널을 만듭니다.

  • 비용이 많이 드는 프로세스 간 중단을 방지하기 위해 가상 프로세서 간의 인터럽트 배포와 관련된 보다 효율적인 I/O 완성 메커니즘입니다.

레지스트리 키

Windows Server NUMA 레지스트리 키 설정을 사용하여 대형 VM에서 실행되는 워크로드의 성능을 향상시키는 것이 좋습니다.

이전 섹션의 향상된 기능을 지원하고 채널 수를 조정할 수 있도록 일부 레지스트리 항목을 추가하고 업데이트했습니다. 에서 항목을 HKLM\System\CurrentControlSet\Enum\VMBUS\<device id>\<instance id>\StorChannel찾을 수 있습니다.

<device id>\<instance id>\ 경로의 부분은 구성의 관련 값에 해당합니다. 이러한 레지스트리 항목은 I/O 완료를 처리하는 가상 프로세서를 I/O 프로세서로 할당된 애플리케이션의 가상 CPU에 맞춥니다. 시스템은 디바이스의 하드웨어 키를 기준으로 어댑터별로 레지스트리 설정을 구성합니다.

고려해야 할 두 가지 주요 설정은 다음과 같습니다.

  • ChannelCount(DWORD) 는 배포에서 사용할 수 있는 총 통신 채널 수입니다. 최대값은 16입니다. 채널 수는 기본적으로 가상 프로세서 수를 16으로 나눈 값과 같은 값으로 설정됩니다.

  • ChannelMask(QWORD) 는 채널에 대한 프로세서 선호도입니다. 이 키 설정을 지정하지 않거나 값을 0으로 설정하지 않으면 채널 마스크는 기본 스토리지 또는 네트워킹 채널에 대한 기존 채널 배포 알고리즘으로 설정됩니다. 기본 작업은 스토리지 채널이 네트워크 채널과 충돌하지 않도록 합니다.

오프로드된 데이터 전송 통합

오프로드된 ODX(데이터 전송) 작업을 사용하여 VM 워크로드가 실제 환경에서 가능한 방식으로 ODX 사용 스토리지를 사용할 수 있도록 하는 것이 좋습니다.

병합, 이동 및 압축과 같은 VHD에 대한 중요한 기본 테넌트 작업에는 대량의 데이터 복사가 포함됩니다. 현재 데이터를 복사하는 방법에는 시스템이 데이터를 읽고 다른 위치에 기록해야 하며, 이는 시간이 오래 걸리며 VM 서비스로 전환할 수 있는 CPU 및 메모리 리소스를 사용합니다.

SAN(스토리지 영역 네트워크) 공급업체는 ODX라는 하드웨어 기능을 제공할 수 있습니다. 이 기능은 대량의 데이터에 대해 거의 즉각적인 복사 작업을 제공합니다. ODX를 사용하면 디스크가 아닌 시스템에서 특정 데이터 집합을 한 위치에서 다른 위치로 이동하는 방법을 지정할 수 있습니다.

Windows Server 2012 이상의 Hyper-V는 게스트 OS에서 호스트 하드웨어로 복사된 데이터를 전달하는 ODX 작업을 지원합니다. 워크로드는 가상화되지 않은 환경에서와 마찬가지로 ODX 사용 스토리지를 사용할 수 있습니다. Hyper-V 스토리지 스택은 디스크 병합 및 대규모 데이터 마이그레이션 중 마이그레이션 메타 작업 저장과 같은 VHD에 대한 기본 테넌스 작업 중에 ODX 작업을 실행할 수도 있습니다.

알림 통합 매핑 해제

매핑 해제 알림을 사용하여 VHDX 파일을 보다 효율적으로 만들고 기본 물리적 스토리지 디바이스가 사용되지 않는 공간을 회수할 수 있도록 하는 것이 좋습니다.

VHD 파일은 사용 가능한 공간을 다른 파일과 공유하는 스토리지 볼륨에 있습니다. 파일 크기가 큰 경향이 있으므로 VHD 파일은 많은 공간을 차지할 수 있습니다. 스토리지 공간에 대한 수요 증가는 IT 하드웨어 예산에 영향을 줍니다. 즉, 가능한 경우 물리적 공간 사용량을 최적화해야 합니다.

Windows Server 2012 이전 버전의 Windows Server에서는 게스트 OS 및 Hyper-V 호스트의 Windows 스토리지 스택에 스토리지 공간을 최적화할 수 없는 제한 사항이 있었습니다. 애플리케이션이 VHD에서 콘텐츠를 삭제하면 스토리지 공간이 기본 중단됩니다. 시스템은 삭제된 정보에 대해 VHD 또는 물리적 스토리지 디바이스에 알리지 않으므로 Hyper-V 스토리지 스택이 VHD 기반 가상 디스크 파일의 공간을 최적화할 수 없습니다. 결과적으로 기본 스토리지 디바이스는 삭제된 데이터가 차지하는 데 사용되는 현재 사용되지 않는 공간을 회수할 수 없습니다.

Windows Server 2012를 기준으로 Hyper-V는 알림 매핑 해제를 지원합니다. 이 기능을 사용하면 VHDX 파일이 삭제된 데이터를 스토리지 스택에 보고할 수 있으므로 파일 크기를 트리밍하고 스택에서 다른 용도로 사용되지 않는 스토리지 공간을 회수하여 효율성을 극대화할 수 있습니다.

Hyper-V 관련 SCSI, 인식 IDE 및 가상 파이버 채널 컨트롤러만 게스트 OS의 명령이 호스트 가상 스토리지 스택에 도달할 수 있도록 허용 unmap 합니다. VHD에서 VHDX 형식의 가상 디스크만 게스트 OS의 명령을 지원 unmap 합니다.