Virtualized PC… Windows 7… Microsoft Virtual Desktop Infrastructure(VDI)의 방향… RD Virtualization

“현재 서버 가상화의 미래는 무엇인가요?”

꼬알라가 세미나에서 가장 많이 듣는 질문 중 하나입니다.

Windows7_h_rgb WS08-R2_h_rgb

DirectAccess 시리즈의 2편이 나오지 않을까라고 예상하셨을 수 있으시겠지만, 오늘은 가상화 이야기를 조금 해볼까 합니다. 지금까지 많은 가상화 포스팅은 Hyper-V를 근간한 서버 가상화에 대한 이야기가 주로 이어졌습니다만, 오늘은 조금 나아갈 방향에 대해서 살펴보려고 합니다.

image

지금까지 서버 가상화는 물리적인 서버를 통합하여, 웹 서버나 미들웨어 서버, 개발 및 테스트 서버, 레가시 서버와 같은 형태를 한대의 물리적인 머신으로 운영하는 형태가 가장 많았었습니다. 또한 사용자에 대한 가상화로는 데스크톱에 Virtual PC를 설치하여, 운영 체제를 별도로 설치할 수 있게 하거나, MED-V와 같은 형태로 데스크톱 가상화를 응용하여 제공하고 있었죠.

그럼 이러한 형태는 어떨까요? 서버 가상화 기술안에 클라이언트용 플랫폼(Windows XP, Windows Vista, Windows 7)을 설치하여 운영하고, 이 플랫폼에 원격 데스크톱(터미널 서비스)를 이용하여 접근할 수 있다면.. 사용자는 구지 클라이언트 응용 프로그램을 로컬에서 동작하기 위해 데스크톱을 쓸 필요가 없을 수도 있고, 보안상에 목적으로 업무 데이터 및 기밀 데이터는 별도의 원격 플랫폼에서 동작시킬 수 있겠죠. 시장에서 많이 이야기되고 있는 VDI(Virtual Desktop Infrastructure)의 이야기는 바로 여기서 시작되게 됩니다. Windows Server 2008 R2에서는 VDI를 Remote Desktop Virtualization, 즉 RD Virtualization이라고 부릅니다.

Windows Server 2008을 이용하여서, 위와 같은 시나리오를 구축할 수도 있었습니다만, 몇가지 아쉬운 점이 있었습니다.

  1. 사용자가 사용자만의 가상화 클라이언트 플랫폼을 어떻게 가질 것이며..
  2. 많은 가상 머신이 동작할 경우, 이에 대한 부하 분산은 어떻게 할 것인가(터미널 서비스에서 가상 머신에 대한 접근시)
  3. 터미널 서비스를 통해 원격 데스크톱 접근시, 사용자 경험적인 측면, 오디오/비디오, 사용자 인터페이스등에 대한 제약

이러한 형태를 Windows Server 2008 R2에서는 Windows 7과 결합하여, 좀더 발전된 방향으로 제시하고 있습니다.

image image

Windows Server 2008 R2에서는 기존 Terminal Service라는 기술이 Remote Desktop Services(RDS)로 이름이 변경되었으며, VDI 인프라를 구축하기 위해, 추가적으로 몇가지 역할 기술을 가지고 있습니다. 추가되거나 향상된 기능은 다음과 같습니다.

  1. Terminal Service Session Broker : RD Connection Broker
  2. TS Web Access : RAD(RemoteApp and Desktop) Web Access
  3. RD Virtualization : VDI 기술을 위한 추가 역할 서비스

TS Session Broker의 경우에는, 터미널 서비스로 접근하는 사용자에 대한 부하 분산 및 연결이 끊어졌을 경우, 이전 터미널 서비스로 다시 접근시켜주는 세션 유지 기능을 제공하고 있었습니다. Session Broker에서 두대의 터미널 서버를 2:1로 부하 분산했을 경우에는, 2대 1의 비율로 터미널 서버를 접근시킵니다.

이 Session Broker가 RD Connection Broker로 향상되어, 기존의 부하 분산 기능도 가지고 있지만, VDI 환경 내에서 사용자와 가상 머신을 연결해주는 역할과 가상 머신들을 VM Farm으로 생성하여, 사용자가 가상 머신에 원격 데스크톱 연결을 할 수 있게 합니다. 아래 그림을 살펴보시면, 액티브 디렉터리내 탭으로 Personal Virtual Desktop이 생겨서, 사용자와 가상 머신을 연결할 수 있게 합니다.(Personalized VM이라고 부릅니다.) 탭에서 1:1로 맵핑하지 않았을 경우엔, 앞서 언급한 VM Farm에서 가장 부하가 적게 걸리고 있는 VM을 선택하여 접근시킵니다.(VM Farm이라고 부르고 있습니다.)

Windows Server 2008에서는 별도의 Session Broker용 관리도구가 없었지만 Windows Server 2008 R2에서는 RAD Connection Manager(SBMgr.msc)가 있습니다.

image image

RD Virtualization에서 서비스 제공할 가상 머신에서 Connection Broker와 연동되게 되겠죠?

Connection Broker는 Redirector라는 추가적인 컨셉을 제공하여, Personalized VM 또는 VM Farm에 대한 연결 정보 전달도 담당합니다. 꼬알라가 생각하기엔 단순한 TS Session Broker로 생각해선 안됩니다. 더 큰 컨셉으로 접근해야 할 것으로 생각합니다.

image image

RAD Web Access의 경우에도 향상된 UI와 더불어, 기존 TS Web AccessRemoteApp 기능에 대해서만 웹 연결을 가능하게 했지만, 이제는 VM Farm, Personalized VM, 즉 데스크톱에 대한 웹 포탈의 역할도 하게 됩니다.

image image

RAD Web Access는 피드 기능도 제공하므로, Windows 7을 사용할 경우, 이 정보를 클라이언트 운영 체제와 연동하여, 웹 포탈을 오지 않고도, 시작 메뉴에서 이를 이용할 수 있게 합니다.

image image

RD Virtualization 역할 서비스는 Hyper-V에 기반합니다. Hyper-V내 설치된 운영 체제에 대해 Connection Broker와 교신할 수 있게 합니다. 서버 가상화를 서버만을 위한 가상화가 아닌, 클라이언트 환경에 대한 VDI로 확장시켜주는 것이죠. Hyper-V가 같이 설치되거나, 먼저 설치되어져 있어야 합니다. TS Gateway는 이름만 변경되었을 뿐, Windows Server 2008 TS Gateway와 동일한 역할을 제공하며, 당연히 RD Virtualization에 대해서도 443 포트로의 접근을 가능하게 합니다. 이제 전반적인 아키텍쳐가 그려지시나요?

  1. 사용자가 RAD Web Access에 접근하여, 로그인을 합니다. 로그인 후, VDI 환경내 가상 데스크톱을 호출합니다.
  2. RD Gateway가 있을 경우, 443 포트를 통해, Gateway로 접근합니다. Gateway는 사용자의 가상 머신 환경에 대해 Connection Broker로 질의합니다.
  3. Connection Broker는 액티브 디렉터리에 사용자에게 직접 연결된 가상화 환경이 있는지 확인합니다. 있을 경우, 이에 대한 정보를 Gateway로 돌려주고, 없을 경우, 사용자가 사용할 수 있는 VM Farm(Connection Broker Farm에 가입된 가상 머신)내 가상화 환경중 가장 부하가 적은 가상 머신을 선택하여, Gateway로 돌려줍니다.
  4. Gateway는 해당 가상 머신으로 원격 데스크톱 접근 후, 사용자에게 화면을 제공하기 시작합니다.

Windows Vista간에 혹시 원격 데스크톱을 연결할 때, 바탕 화면 구성이라는 옵션을 쓰고 접속해보셨는지요?

image image 

위와 같이(비록 캡쳐된 그림은 Windows 7이지만), 해당 기능을 사용하여, 원격 데스크톱에 접근하면, Aero 모드가 동작했었습니다. 분명 프리젠테이션 가상화(Presentation Virtualization) 기술인 터미널 서비스의 경우에, 서버 버전에선 해당 기능을 사용할 수 없었는데 말이죠. 엄밀하게 따지만, Windows Server 2008 Beta까지만 하더라도, 터미널 서비스에서 동일한 사용자 경험을 제시하고 있었습니다. Windows Server 2008 런치 시점에 Windows 시스템의 그래픽 기술에 대한 가상화 기술을 가지고 있는 Calista를 인수하면서, 방향성 및 영역이 확장되고, Windows Server 2008에서는 기능이 빠졌었습니다.

이러한 바탕 화면 구성은 모든 리소스를 서버 리소스를 사용하는 기존 터미널 서비스 컨셉에, 그래픽이나 오디오 처리에 대해서는 클라이언트의 자원을 동시에 사용할 수 있게 해줍니다. 클라이언트가 Aero Glass를 지원하는 그래픽 카드가 있을 경우, 이 리소스를 이용하는 것입니다.

캡처

Windows Server 2008 R2에서부턴, 프리젠테이션 가상화 환경에서 오디오, 비디오에 대한 완벽한 지원을 하게 되므로, 터미널 서비스 환경에서도 동영상 및 풍부한 사용자 인터페이스를 제공할 수 있게 되었습니다. 2008년 12월 TechNet 세미나에 오셨던 분들께선 보셨죠? 원더걸스 동영상 :) VDI 환경이라면, 가상 머신내에 해당 클라이언트용 플랫폼을 동작시킨 후, 이를 RD Virtualization으로 제공… Windows 7의 경우에는 Divx 코덱을 내장하고 있으므로, 원격에서 Windows 7 클라이언트나 Windows Server 2008 R2를 이용하여, 뛰어난 사용자 환경을 제공할 수 있는 VDI 인프라를 제공할 수 있습니다.

여러 가상화 기술이 서로의 필요를 충족하고 발전시켜, Virtual Desktop Infrastructure를 만들어냈습니다. 가상화 인프라는 이제 단순하게 서버만을 위한 기술이 아니라, 오래전부터 세미나에서 많이 말씀드린 바와 같이, 이제 사용자를 위한 가치 제공으로 발전하고 있음을 보여주고 있습니다. Windows Server 2008 R2의 Remote Desktop Services는 프리젠테이션 가상화, 서버 가상화 기술의 연동을 통해 가상 환경내에서 실제 물리적인 데스크톱을 가진 것처럼 가치를 제공하며, 데이터에 대한 상호 고립 시나리오로 보안을 더욱 강화할 수 있는 방법론을 제시하고 있습니다. 물론~ 터미널 서비스를 기반하고 있으므로, 응용 프로그램 가상화와 결합하여, 응용 프로그램에 대한 중앙 관리까지 가능해질 수 있죠! 가상화 기술은 이렇게 상호 보완이 필요하기에, 데스크톱부터 데이터센터까지 전방위적인 가상화 기술 및 로드맵을 제시할 수 있는 벤더를 검토하셔야 한다는 것입니다.

“Virtualization Technologies! Better Together!”이 가장 적절한 표현이지 않을까 싶습니다~