원격 데스크톱 가상화 호스트 성능 튜닝

RD 가상화 호스트(원격 데스크톱 가상화 호스트)는 VDI(가상 데스크톱 인프라) 시나리오를 지원하고 여러 사용자가 Windows Server 및 Hyper-V를 실행하는 서버에서 호스트되는 가상 머신에서 Windows 기반 애플리케이션을 실행할 수 있도록 하는 역할 서비스입니다.

Windows Server는 개인용 가상 데스크톱과 풀된 가상 데스크톱의 두 가지 유형의 가상 데스크톱을 지원합니다.

일반적인 고려 사항

스토리지

Storage 성능 병목 현상이 발생할 가능성이 가장 높으며, 가상 머신 상태 변경에 의해 생성되는 I/O 부하를 제대로 처리하려면 스토리지 크기를 정하는 것이 중요합니다. 파일럿 또는 시뮬레이션이 가능하지 않은 경우 4개의 활성 가상 머신에 대해 디스크 스핀들 하나를 프로비전하는 것이 좋습니다. 쓰기 성능이 좋은 디스크 구성(예: RAID 1+0)을 사용합니다.

해당하는 경우 디스크 중복 제거 및 캐싱을 사용하여 디스크 읽기 부하를 줄이고 스토리지 솔루션이 이미지의 상당 부분을 캐시하여 성능 속도를 높일 수 있도록 합니다.

데이터 중복 제거 및 VDI

Windows Server 2012 R2에서 도입된 데이터 중복 제거는 열려 있는 파일의 최적화를 지원합니다. 중복 제거된 볼륨에서 실행되는 가상 머신을 사용하려면 Hyper-V 호스트와 별도의 호스트에 가상 머신 파일을 저장해야 합니다. Hyper-V와 중복 제거가 동일한 컴퓨터에서 실행되는 경우 두 기능은 시스템 리소스를 경합하고 전반적인 성능에 부정적인 영향을 미칩니다.

볼륨은 "VDI(가상 데스크톱 인프라)" 중복 제거 최적화 유형을 사용하도록 구성해야 합니다. 서버 관리자(파일 및 Storage 서비스 - 볼륨 - 중복 제거 설정)를 사용하거나 다음 Windows PowerShell 명령을 사용하여 구성할 수 있습니다.

Enable-DedupVolume <volume> -UsageType HyperV

참고

열려 있는 파일의 데이터 중복 제거 최적화는 SMB 3.0을 통해 원격 스토리지를 사용하는 Hyper-V를 사용하는 VDI 시나리오에서만 지원됩니다.

메모리

서버 메모리 사용량은 다음 세 가지 주요 요인에 의해 구동됩니다.

  • 운영 체제 오버헤드

  • 가상 머신당 Hyper-V 서비스 오버헤드

  • 각 가상 머신에 할당된 메모리

일반적인 지식 근로자 워크로드의 경우 x86 Window 8 또는 Windows 8.1 실행하는 게스트 가상 머신에 기준선으로 최대 512MB의 메모리를 제공해야 합니다. 그러나 동적 메모리 워크로드에 따라 게스트 가상 머신의 메모리가 약 800MB로 증가할 수 있습니다. x64의 경우 약 800MB가 시작되고 1024MB로 증가합니다.

따라서 예상되는 게스트 가상 머신 수에 필요한 메모리를 충족하기에 충분한 서버 메모리를 제공하고 서버에 충분한 양의 메모리를 허용하는 것이 중요합니다.

CPU

RD 가상화 호스트 서버에 대한 서버 용량을 계획하는 경우 실제 코어당 가상 머신 수는 워크로드의 특성에 따라 달라집니다. 시작점으로 실제 코어당 12개의 가상 머신을 계획한 다음 적절한 시나리오를 실행하여 성능 및 밀도의 유효성을 검사하는 것이 합리적입니다. 워크로드의 세부 사항에 따라 더 높은 밀도를 달성할 수 있습니다.

하이퍼 스레딩을 사용하도록 설정하는 것이 좋지만 논리 프로세서 수가 아닌 실제 코어 수에 따라 초과 구독 비율을 계산해야 합니다. 이렇게 하면 CPU 단위로 예상 성능 수준이 보장됩니다.

성능 최적화

동적 메모리

동적 메모리 사용하면 실행 중인 가상 머신 간에 메모리가 분산되는 방식을 분산하여 Hyper-V를 실행하는 서버의 메모리 리소스를 보다 효율적으로 활용할 수 있습니다. 변경되는 워크로드에 대한 응답으로 가상 머신 간에 메모리를 동적으로 다시 할당할 수 있습니다.

동적 메모리 사용하면 성능이나 확장성을 저하시키지 않고 이미 보유한 리소스를 사용하여 가상 머신 밀도를 높일 수 있습니다. 그 결과 비용이 많이 드는 서버 하드웨어 리소스를 보다 효율적으로 사용할 수 있어 관리가 더 쉬워지고 비용이 절감됩니다.

여러 논리 프로세서에 걸쳐 있는 가상 프로세서를 사용하여 Windows 8 이상을 실행하는 게스트 운영 체제에서는 메모리 사용량을 최소화하는 데 도움이 되는 동적 메모리 실행과 컴퓨터 토폴로지 인식 애플리케이션의 성능을 향상시키기 위해 동적 메모리 사용하지 않도록 하는 것 간의 절충을 고려합니다. 이러한 애플리케이션은 토폴로지 정보를 활용하여 예약 및 메모리 할당을 결정할 수 있습니다.

계층화된 스토리지

RD 가상화 호스트는 가상 데스크톱 풀에 대한 계층형 스토리지를 지원합니다. 컬렉션 내의 모든 풀링된 가상 데스크톱에서 공유하는 물리적 컴퓨터는 미러된 SSD(반도체 드라이브)와 같은 작은 크기의 고성능 스토리지 솔루션을 사용할 수 있습니다. 풀된 가상 데스크톱은 RAID 1+0과 같은 저렴한 기존 스토리지에 배치할 수 있습니다.

풀링된 가상 데스크톱의 읽기 I/Os 대부분이 관리 운영 체제로 이동하므로 물리적 컴퓨터가 SSD에 배치되어야 합니다. 따라서 물리적 컴퓨터에서 사용하는 스토리지는 초당 훨씬 더 높은 읽기 I/Os를 유지해야 합니다.

이 배포 구성은 성능이 필요한 경우 비용 효율적인 성능을 보장합니다. SSD는 더 작은 크기의 디스크에서 더 높은 성능을 제공합니다(구성에 따라 컬렉션당 ~20GB). 풀된 가상 데스크톱(RAID 1+0)의 기존 스토리지는 가상 머신당 약 3GB를 사용합니다.

CSV 캐시

Windows Server 2012 이상의 장애 조치(failover) 클러스터링에서는 CSV(클러스터 공유 볼륨)에 대한 캐싱을 제공합니다. 이는 대부분의 읽기 I/Os가 관리 운영 체제에서 제공되는 풀링된 가상 데스크톱 컬렉션에 매우 유용합니다. CSV 캐시는 두 번 이상 읽은 블록을 캐시하고 시스템 메모리에서 전달하여 I/O를 줄이기 때문에 몇 가지 크기의 순서로 더 높은 성능을 제공합니다. CSV 캐시에 대한 자세한 내용은 CSV 캐시를 사용하도록 설정하는 방법을참조하세요.

풀된 가상 데스크톱

기본적으로 풀링된 가상 데스크톱은 사용자가 로그아웃한 후 기본 상태로 롤백되므로 마지막 사용자 로그인 이후 Windows 운영 체제에 대한 변경 내용은 중단됩니다.

롤백을 사용하지 않도록 설정할 수 있지만, 일반적으로 가상 데스크톱 템플릿에 대한 다양한 업데이트로 인해 풀된 가상 데스크톱 컬렉션이 다시 만들어지므로 여전히 일시적인 상태입니다.

영구 상태에 의존하는 Windows 기능 및 서비스를 해제하는 것이 합리적입니다. 또한 주로 엔터프라이즈가 아닌 시나리오에 적합한 서비스를 해제하는 것이 적합합니다.

광범위한 배포 전에 각 특정 서비스를 적절하게 평가해야 합니다. 다음은 고려해야 할 몇 가지 초기 사항입니다.

서비스 이유가 무엇일까요?
자동 업데이트 풀된 가상 데스크톱은 가상 데스크톱 템플릿을 다시 만들어 업데이트됩니다.
오프라인 파일 가상 데스크톱은 항상 온라인 상태이며 네트워킹 관점에서 연결됩니다.
배경 조각 모음 사용자가 로그인한 후 파일 시스템 변경 내용이 삭제됩니다(기본 상태로 롤백하거나 가상 데스크톱 템플릿을 다시 만들어 풀된 모든 가상 데스크톱을 다시 만들기 때문).
최대 절전 모드 또는 절전 모드 VDI에 대한 이러한 개념이 없음
버그 검사 메모리 덤프 풀된 가상 데스크톱에 대한 이러한 개념은 없습니다. 버그 검사 풀된 가상 데스크톱은 기본 상태에서 시작됩니다.
WLAN autoconfig VDI에 대한 WiFi 디바이스 인터페이스가 없습니다.
Windows Media Player 네트워크 공유 서비스 소비자 중심 서비스
홈 그룹 공급자 소비자 중심 서비스
인터넷 연결 공유 소비자 중심 서비스
Media Center 확장 서비스 소비자 중심 서비스

참고

변경 내용이 의도한 목표 및 시나리오에 영향을 주므로 이 목록은 전체 목록이 아닙니다. 자세한 내용은 PFE의 제공된 Windows 8 VDI 최적화 스크립트인 지금 받기를 참조하세요.

참고

Windows 8 SuperFetch는 기본적으로 사용하도록 설정됩니다. VDI를 인식하며 사용하지 않도록 설정하면 안 됩니다. SuperFetch는 메모리 페이지 공유를 통해 메모리 소비를 더 줄일 수 있으며, 이는 VDI에 유용합니다. Windows 7을 실행하는 풀된 가상 데스크톱은 SuperFetch를 사용하지 않도록 설정해야 하지만 Windows 7을 실행하는 개인 가상 데스크톱의 경우 남아 있어야 합니다.