어떠한 클라이언트에서도 높은 수준의 사용자 경험을.. RemoteFX @ Windows Server 2008 R2/Windows 7 SP1

RemoteFX-CLI-03

생각보다 포스팅을 하는데 오랜 시간이 필요했던 것 같습니다. Smile 무엇보다도 적절한 하드웨어를 찾는 것이 가장 어려웠던 점 같네요.

Windows 7/Windows Server 2008 R2 출시 시점에 VDI에 대한 다양한 포스팅을 했던 것으로 기억합니다. 기억이 나시나요?

2009/02/29 Virtualized Windows… 새로운 데스크톱에 대한 시각이 필요한 때…
2009/03/05 실제 컴퓨터? 가상 컴퓨터.. 이제는 그 구분없이.. Windows 7, 그리고 WIM2VHD

특히 2월 29일에 포스팅한 내용에선 가상 머신에서 동작중인 Windows 7에 원격에서 접근할 경우, Aero Interface, 그리고 HD급 동영상, 적절한 게임등이 잘 동작하는 모습에 대해서 이야기를 하였습니다. 상당히 많은 세미나에서 데모로 보여드리기도 하였고요.

image

VDI 환경내에서 동작하는 클라이언트의  경우, 그래픽에 대한 처리를 서버와 클라이언트에서 나눠서 처리할 수 있었기에, 위와 같은 형태의 가상화 데스크톱이 실제 클라이언트와 동일한 사용자 경험을 제공할 수 있게 되었습니다. 가상 머신내 GPU(Graphic Processing Unit, 그래픽 처리 장치, 즉 그래픽 카드)에 대한 처리를 클라이언트에서 할 수 있게 RDP(Remote Desktop Protocol, 원격 데스크톱이 접속시 사용하는 프로토콜)에 인코더와 디코더가 포함되어져 있기 때문이었죠. RDP의 클라이언트/서버 처리의 분업으로 인해, 데스크톱을 중앙화 할 수 있는 VDI에서 뛰어난 사용자 인터페이스 및 동일한 데스크톱을 제공할 수 있게 됨과 동시에, 데스크톱의 표준화 및 중앙 관리라는 장점을 IT 관리자분들에게 제공하였습니다.

VDI/Client, Server 기반의 RDP 기술에 대한 소개 이후, 가장 많이 받았던 질문이 바로 해당 기술을 사용할 수 있는 클라이언트의 필수 사항이었습니다. 위의 기술은 클라이언트의 GPU를 활용하므로, 클라이언트는 Windows 7 Aero 필수 사항에 적합한 그래픽 카드, 그리고 Windows 7의 사용이 필수 사항이었습니다. RDP 7.0과 Windows의 그래픽 처리 기술이 모두 필요하였기에, 모든 클라이언트(물리/가상)는 Windows 7, 서버는 Windows Server 2008 R2 기반의 Hyper-V..

기업의 경우에, Windows 7을 사용하지 않는 클라이언트(Ultra Thin Client라고들 많이 부르시는), 또는 그래픽 카드가 구형인 경우가 또다른 시나리오에서 필요해졌습니다. 사용자의 데스크톱은 중앙화하고 싶은데(즉 VDI를 사용하고 싶은데), 그리고 동일한 사용자 경험을 제공하고 싶은데..라는.. 클라이언트의 GPU가 조건에 맞지 않거나, OS가 Windows XP인 경우가 대다수였습니다.

image
(왼쪽의 RDP Client Rendering이 기존 방식, RDP Host Rendering이 지금 설명드리는 방식)

2년전 Microsoft는 Calista라는 회사의 인수를 발표한 적이 있습니다. Calista에서는 서버 기반의 GPU를 클라이언트가 활용할 수 있는 기술로 유명한 회사입니다. 원격 데스크톱 서버(기존의 터미널 서비스)에 접속한 클라이언트가 모든 그래픽에 대한 처리를 서버에 장착된 그래픽 카드의 GPU에서 할 수 있게 해주는 기술이죠. 대부분의 서버는 그래픽카드가 말 그대로 모니터에 화면을 표시하기 위함이 기본이지만, 용도에 따라 고성능의 그래픽 카드(ATI의 FirePro, Nvidia의 Quadro FX급)을 장착하기도 합니다. 바로 GPU를 원격 데스크톱 혹은 가상 머신에서 사용할 수 있게 하는 원천 기술을 가진 회사였습니다.

RemtoeFX01
(위의 그림에서 보시는 것처럼, RemoteFX 3D Video Adapter가 별도로 존재합니다.)

Calista의 기술을 Windows Server 2008 R2, Windows 7에 탑재하였고, 이 기술의 이름을 RemoteFX라고 부릅니다. 앞서 설명드린 VDI나 터미널 서비스의 그래픽 처리는 클라이언트와 서버가 나눠서 처리한다고 설명드렸습니다. 그렇기에 클라이언트에 적절한 GPU를 가진 그래픽 카드와 이를 지원하는 운영 체제가 설치되어져 있어야 합니다만, RemoteFX를 사용할 경우, 모든 그래픽의 처리가 서버단에서 끝나므로, 클라이언트에는 이를 접속하기 위한 클라이언트 모듈(원격 데스크톱 연결 7.1)만 있으면 됩니다. 눈치가 빠르신 분은 이해하셨겠지만, Windows XP 이상도 지원을 한다는 이야기죠. 현재 Windows Server 2008 R2 SP1 Beta에서 Windows XP SP3, Windows Vista SP2용 원격 데스크톱 연결 7.1을 제공하고 있습니다. 별도의 공개된 다운로드 링크는 없지만, Connect내 베타테스터 분들은 별도로 다운로드를 받고 계십니다. 공개된 베타에선 이를 사용하려면 Windows 7 SP1을 설치하셔야 합니다.

RemoteFX를 사용하는 가상 머신을 이용하게 되면, 가상 머신에는 vGPU가 생성되게 됩니다.

image

위의 그림의 오른쪽이 가상 머신, 왼쪽이 실제 머신입니다. vGPU를 지원하는 OS는 Windows 7 SP1 Ultimate, Enterprise에서 가능합니다. 결국 RemoteFX를 사용할 수 있는 가상 머신 OS는 Windows 7 SP1 Ultimate, Enterprise.. 접속 가능한 클라이언트(RDC 7.1)는 Windows XP SP3, Windows Vista SP2, Windows 7이 되는 것이죠.

재미있는 것이 하나 더있습니다. RemoteFX용 Encoder 기능을 제공하는 하드웨어를 장착하게 되면, RemoteFX에 대한 서버 GPU 처리를 가속화할 수 있어, 더욱 뛰어난 성능을 제공하게 됩니다. Encoder가 있는 경우, 없는 경우 처리하는 서버 방식이 약간 다릅니다.

image

새로운 기술이라 이야기가 길어졌습니다. 이제 RemoteFX를 사용하기 위한 하드웨어 요구 사항을 살펴봐야겠죠.

image

서버쪽 기술이 많이 탑재되었기에, 서버의 요구 사항이 대부분입니다. 클라이언트는 RDC 7.1만 설치되어져 있으면 됩니다. 서버쪽 요구 사항 중 생각해보셔야할 부분이 있습니다. 첫번째가 SLAT 기술( SLAT에 대한 이야기는 SLAT 포스팅 참조 , Intel의 경우에는 Nehalem(Core I 시리즈), AMD의 경우에는 쿼드 코어급 Opteron), 그리고 DX 9.0C, DX 10.0을 지원하는 그래픽 카드(위에 명시되어져 있진 않지만, 비디오 램 512메가 이상이어야 합니다.)가 필요합니다.

SLAT의 경우, Nehalem 이전 XEON CPU는 SLAT을 지원하지 않습니다. AMD의 경우에는 쿼드 코어 Opteron부터 지원하더군요. 자세한 사항은 CPU 제조사를 참조하시길 권장합니다. Intel의 경우 이를 EPT(Extended Page Tables), AMD는 NPT(Nested Page Tables)이라고 부릅니다. 권장 GPU 목록 사이트에는 고가의 ATI FirePro, Nvidia의 Quadro 등을 이야기하고 있습니다. 당연히 실제 현업 환경에선 다수의 사용자가 접속을 하기 때문에, 해당 GPU가 필요하겠습니다만, 테스트를 위한 소규모 서버에는 DX 9.0C, DX 10.0을 지원, 비디오 램 512메가 이상, Windows 7용 드라이버를 제공하는 그래픽 카드는 모두 활용할 수 있습니다. 꼬알라가 테스트용도로 사용한 컴퓨터의 그래픽 카드는 비디오 램 1G의 Nvidia Geforce GT 240M이었습니다.

RemoteFX02

비디오 메모리 및 가상 머신의 메모리에 따라 최대 4대의 모니터에 1920 X 1200 해상도까지 사용이 가능합니다. 물론 하드웨어 기술도 서버에 장착된 그래픽 카드의 기능을 그대로 이어받습니다. OpenGL까지 지원..

image

RemoteFX를 사용하는 경우, Hyper-V의 가상 머신 연결을 사용하여, 가상 머신을 볼 수 없습니다. (잘 아시겠지만, Hyper-V의 가상 머신 연결도 RDP를 사용합니다. 그렇지만.. RemoteFX를 사용하지 않기에..)

RemoteFX03

블로그 포스팅을 위해, Windows 7 출시 시점에 데모용으로 많이 쓰던 HP Mini 100 넷북을 오랜만에 꺼내서, Windows 7 Starter를 설치하여 RemoteFX 가상 머신에 접근해보았습니다.

RemoteFX-CLI-01

보시는 것처럼, Windows 7 Starter 자체에선 Aero UI도 지원하지 않고, Windows 체험 지수도 높지 않습니다. 그렇지만 원격 데스크톱 연결내 데스크톱은 Aero UI에 대한 지원 및 원할한 동영상 플레이가 가능합니다. 장치 관리자에서 그래픽 카드도 WDDM을 지원하는 RemoteFX 그래픽 카드를 잘 잡고 있었습니다.

RemoteFX-CLI-02

앞서 포스팅하였던 Dynamic Datacenter를 위한 첫번째 발걸음, Dynamic Memory in Hyper-V R2 서비스팩 1(SP1)와 함께 RemoteFX 가상 머신을 사용하면, 좀더 동적인 데이터센터 및 중앙화된 데스크톱 환경을 제공할 수 있을 거라 확신합니다. 이에 대한 본사의 한 분의 포스팅을 보면, RemoteFX 데스크톱에서 Halo를 동작시키네요 Smile 차후 8월정도에 있을 세미나에서 꼬알라도 게임을 한번 도전해봐야할 것 같습니다.

RemoteFX를 사용하기 위해 필요한 리소스는 다음과 같습니다.

  1. Windows 7/Windows Server 2008 R2 SP1
  2. RemoteFX 하드웨어 고려 가이드
  3. 단일 RemoteFX 서버 구축 단계 가이드
  4. RemoteFX를 사용하는 개인 가상화 데스크톱 구축 단계 가이드
  5. RemoteFX를 사용하는 가상화 데스크톱 풀 구축 단계 가이드
  6. RemoteFX를 사용하여 USB 장치 리디렉션 가이드
  7. 원격 데스크톱 서비스에서 RemoteFX 사용 단계 가이드

설명이 많은 관계로 포스팅이 꽤 길어졌네요.

한가지 확실한 것은 선택의 폭이 넓어졌다는 것입니다. 접속을 시도하는 클라이언트가 어느 정도 사양이 뒷받침된다면, 기존의 RDP 클라이언트 렌더링, 접속을 시도하는 클라이언트가 사양이 낮거나, 레가시 OS의 경우, RDP 서버 렌더링(RemoteFX), 그리고 기존의 터미널 서비스라고 불렸던 원격 데스크톱 서비스에 화려한 UI를 제공하거나, 하지 않거나~

가상화 기술이 발전하면 할수록, IT 관리자나 실제 서비스를 이용하는 사용자나 행복해질 수 있는 것 같습니다. 새로운 기술을 공부할 수 있는 즐거움도 함께~ Smile