데스크톱 가상화 : VDI로 도약하기

2010.10.12

우아하며 쉽게 관리할 수 있는 데스크톱 인프라에 대한 유토피아적인 비전은 데스크톱 시대의 개막과 함께 IT 주위를 맴돌아 왔다. 히드라와 같은 데스크톱을 길들이기 위한 시도는 많았으나, 어느 것도 보편적인 솔루션은 제공하지 못해왔다. 마이크로소프트 터미널 서비스(Terminal Service), 시트릭스 젠앱(XenApp)을 비롯한 수많은 기업들이 나름대로의 시장은 확보했으나, 데스크톱 구원에 대한 탐구는 계속되고 있다.

 

가장 최근의 유망주  : VDI

단순하게 말하면, VDI(Virtual Desktop Infrastructure)는 하이퍼바이저 상에서 구동하는 사용자당 한 개의 데스크톱 가상머신에 지나지 않는다. 서버 가상화와 마찬가지로, 각 데스크톱 가상머신에는 RAM, 디스크, 그리고 입출력 자원이 할당되고, 운영체제 전체 설치본은 가상 디스크에 저장된다.

 

사용자는 마이크로소프트의 RDP(Remote Desktop Protocol)나 시트릭스의 ICA(Independent Computing Architecture) 같은 원격 디스플레이 프로토콜을 사용해서 데스크톱 가상머신과 상호작용한다. 클라이언트는 대개 디스크가 없는 저성능 씬 클라이언트 시스템으로, VDI 인프라에 연결하는 것 외에는 하는 것이 거의 없거나 어떤 작업도 하지 않는다.

 

VDI를 비롯한 다른 서버 기반 데스크톱 컴퓨팅 솔루션의 결과, 핵심 기능성, 그리고 모든 소중한 기업 데이터가 수 많은 칸막이 사무실이나 몇 Km나 떨어져 있는 원격지 사이트에 멀리 그리고 폭넓게 퍼져있는 것이 아니라 데이터센터 내부에 들어가게 되었다.

 

데스크톱을 중앙 집중화시킴으로써, 관리와 보안이 간단해졌고 결함 있는 전원 공급장치, 하드 드라이브 등의 교체 같은 기본적인 데스크톱 유지보수 필요성이 없어졌다. 전력 소비도 감소되었고, 어떤 경우에는 모든 팻(Fat) 클라이언트 시스템과 250와트의 전원 공급장치를 제거한 덕분에 밀집된 사무실 공간의 냉각 비용이 급격하게 줄었다. 긍정적인 면이 상당하다.

 

VDI 세부사항에 숨어있는 골칫거리들

하지만, VDI에도 확실히 단점이 있다. 이런 문제 중 몇 가지는 다른 서버 기반 데스크톱 컴퓨팅 솔루션에서 찾아볼 수 있으며 VDI 구현에도 영향을 준다.

 

그 중에서도 가장 중요한 문제부터 살펴보기로 하자.

 

사용자의 수용도와 전반적인 성능. 각각의 VDI 인스턴스(Instance)는 문서 작성, 이메일 작성, 또는 스프레드시트 공식 실행 같은 상대적으로 평범한 작업을 수행할 때는 빠르고 뭐든지 척척 해내지만, 플래시 애플리케이션, 비디오, 또는 다른 멀티미디어 애플리케이션 같은 리치 콘텐츠와 맞닥뜨리면 상당히 영향을 받을 수 있다. 이는 대체로 VM의 성능보다는 데스크톱 디스플레이 전송 프로토콜 때문이지만, 바로 그 점 때문에 문제 해결이 더 어려워졌다. 사용자 수용도는 아주 공개적인 문제가 생길 수 있으며, 이 문제가 발생하면 어떤 대형 프로젝트라도 종말을 고하는 경우가 많다.

 

이 문제에 대한 솔루션은 비용이 많이 들 수 있다. 몇몇 공급업체는 서버와 클라이언트 측의 노력을 결합해서 디스플레이 프로토콜과 함께 오디오와 비디오 스트림을 전송하여, 클라이언트 단에서 일치시키고 클라이언트의 처리 능력을 사용해서 비디오를 렌더링(Rendering)한다. 그 결과 훨씬 더 깔끔한 재생을 할 수 있으나, 늘어난 작업부하를 처리하기 위해서 더 강력하고 비싼 씬 클라이언트가 필요하다.

 

그런 솔루션은 표준 비디오 재생에 대해서는 잘 동작하지만, 플래시 비디오나 플래시 애플리케이션과는 문제가 남아있다. VDI나 표준 RDP 프로토콜을 사용하고 있는 다른 서버 기반 데스크톱 컴퓨팅 솔루션의 성능을 테스트하기는 쉽다. 그저 마이크로소프트 RDC(Remote Desktop Connection: 원격 데스크톱 연결) 클라이언트를 사용해서 서버나 데스크톱 시스템 연결한 다음에, 유튜브를 보기만 하면 된다.

 

100Mbps 이상의 LAN을 사용하고 있다면 재생이 상당히 잘 되겠지만, 그 이하에서는 한마디로 그럴 가능성이 없다. 일반적으로 말해서, RDP 접속을 경유해서 비디오를 보기 위해서는 3.5Mbps의 지속적인 대역폭이 필요하다.

 

대역폭에 대한 우려는 WAN 회선(높은 지연편차 및 낮은 대역폭이라는 고전적인 시나리오)을 통한 데스크톱 세션 제공 같은 어떤 형태의 서버 기반 데스크톱 컴퓨팅에 대해서도 문제를 일으킬 것이다. USB 기기에 대한 인쇄와 적절한 매핑(Mapping)도 문제가 많다. 이런 문제는 도구와 예산을 제대로 조합하기만 하면 정리할 수 있고, VID 고유의 문제도 아니지만 VDI 계획 단계에서는 고민할 필요가 있다.

 

VDI 고유의 문제 : 스토리지

다른 문제들은 전적으로 VDI 고유의 문제이다. 가장 중요한 첫 번째 문제는 스토리지 요구조건이다. 몇몇 VDI 실행 환경은 다른 VM과 마찬가지로 모든 데스크톱 시스템이 반드시 가상 디스크를 가질 것을 필요로 하고 있다. 데스크톱 가상머신당 8GB나 10GB를 고려하고 있다면, 이를 예상 VDI 사용자 수로 곱하면, 곧 바로 스토리지가 고가의 문제가 돼버린다.

 

또한, 각각의 가상머신은 다른 데스크톱 시스템처럼 개별적으로 관리되어야만 하는 섬이므로, VDI는 데스크톱 소프트웨어 관리 요구조건을 줄여주기 위해서 거의 하는 일이 없다는 사실도 명심하기 바란다. 이는 업데이트를 배포하고, 소프트웨어를 설치하거나, 변경을 하기 위해서는 서드파티 툴을 사용해야 함을 의미한다.

 

그리고 그 다음에는 가격도 문제다. 한편으로는, VDI가 기존 가상화 인프라를 활용하므로, 다른 서버 기반 데스크톱 솔루션보다 초기 하드웨어 비용을 더 낮춰줄 가능성도 있어 보인다. 하지만, 일단 VDI에 필수적인 여러 단계의 소프트웨어 라이선싱 계층을 하나하나 벗겨나가다 보면, 결국에는 마찬가지라는 사실을 알게 될 것이다.

 

선택한 솔루션에 따라서, ROI는 이미 저 멀리 가버린 상태에서 기존의 팻 데스크톱 클라이언트 시스템 보다 더 많은 비용을 데스크톱 VM별로 지불하게 되고 말 수도 있다. 어떤 형태의 VDI이건, 뛰어들기 전에 이 모든 숫자들을 계산해 보는 것이 극히 중요하다. 씬 클라이언트 비용, 구현 비용, 라이센싱, 그리고 기존 가상 인프라의 확장 비용들을 감안하라.

 

VDI 대 터미널 서비스

VDI와 기존의 마이크로소프트 터미널 서비스 간에는 명확한 평행선을 그을 수 있다. 이 두 가지는 다수의 데스크톱 세션을 한 대의 서버나 서버 세트 상에 둘 수 있으며 세션을 동일한 씬 클라이언트에게 전달하기 위해서 같은 프로토콜을 사용한다. 두 가지 모두 중앙집중형 관리 도구를 제공한다. 하지만, 유사성은 거기까지다.

 

터미널 서비스 환경에서는 서버에 대한 모든 사용자 세션을 서버 운영체제에 둔다. 이는 윈도우 서버 2003이나 윈도우 서버 2008에 대한 한 개의 인스턴스만이 베어 메탈(Bare-metal) 서버에 설치되고, 모든 사용자가 해당 서버 인스턴스에 로그인 한다. 개개 사용자 세션은 자체 데스크톱이 있는 것처럼 표시되지만, 해당 특정 서버 상에서 다른 모든 세션들과 함께 구동한다.

 

이 시나리오의 이점은 확장성에 있다. 일반적으로 말해서, 물론 애플리케이션 세트에 따라서 다르기는 하겠지만 아마도 한 대의 물리적인 서버에 VDI 세션보다 더 많은 수의 터미널 서버 세션을 밀어 넣을 수 있을 것이다. 한편, VDI 환경에서는 간단하게 데스크톱 가상머신의 자원을 정의하기만 하면, 어떤 사용자 세션의 자원에 대해서도 신속하고 확실한 제한을 둘 수 있다.

 

VDI 실행 환경에서는 서버가 전체 운영체제가 아니라 하이퍼바이저를 구동하고 있으며, 몇 개의 데스크톱 가상머신을 호스팅하고 있다. 그 결과, 각 방법이 여러 개의 데스크톱 세션을 동일한 서버에 두기는 하지만, 그런 세션들의 관리성은 크게 다르다.

 

예를 들어, 터미널 서비스에서는 가상머신을 스냅샷(Snapshot)하듯이 세션을 스냅샷할 수 있는 방법이 없으며, 활성 세션을 한 서버에서 다른 서버로 이전시킬 수 있는 방법도 전혀 없다. 이는 유지보수를 위해서 해당 서버를 다운시키기 위해서는, 모든 사용자가 반드시 로그오프 해야만 함을 의미한다.

 

관리성에서 확연한 차이 보이는 VDI

VDI에서는 해당 서버 성의 모든 활성 데스크톱 세션을 서버 팜의 다른 서버로 중단 없이 이전시킬 수 있다. 통상 이 모든 VM을 호스팅 하는 서버는 누구도 알아차리지 못하게 유지보수를 위해 다운시킬 수 있다.

 

실제로, 어떤 고급 가상화 인프라에 대해서도, 단 한 개의 애플리케이션을 오프라인으로 만들거나 단 한 명의 사용자도 방해하지 않은 채, 전체 물리 서버 기반 구조를 완전히 재구축할 수도 있다.

 

더 나가서, 제대로 구현된 VDI 솔루션에서는 부하 분산도 기본적으로 제공된다. 한 개 이상의 데스크톱 VM이 한 호스트 시스템 상의 자원을 많이 사용하고 있다면, 그 시스템의 다른 VM들을 순식간에 다른 물리 호스트로 이전해서, 모든 데스크톱이 돌아가기 위해서 충분한 자원을 확실하게 가질 수 있게 할 수 있다. 기존 터미널 서버 환경에서는 이것이 불가능하다. 한 개의 대형 사용자 세션이 어떤 자동 해결 방안도 없이 동일 서버 상의 다른 세션에 부정적인 영향을 줄 수 있다.

 

하지만, 터미널 서비스도 한 가지 커다란 관리 상의 장점이 있다. 호스트 서버에 대한 변경 사항을 모든 사용자 세션에서 사용할 수 있다. 애플리케이션 설치가 상당히 간단해지고 글로벌한 수정 작업도 상대적으로 쉽다.

 

VDI에서는 항상 그렇지는 못하다. 데스크톱 가상머신의 배포 방식에 따라, 업데이트나 변경을 위해서 각각을 일일이 수작업으로 해야만 하거나, 서드파티 관리 도구를 사용하거나,  또는 데스크톱 가상머신 템플릿을 작동시켜서 수정 작업을 한 다음에, 템플릿을 저장해야 할 필요가 있을 수 있다. 마스터 템플릿에 연결된 데스크톱 가상머신은 사용자가 다음에 로그인할 때 변경 사항이 반영된다.

 

그렇기는 하지만, 터미널 서비스에 비해 VID의 애플리케이션 처리는 커다란 장점 중 한가지로 작용한다. 많은 애플리케이션이 터미널 서비스 환경에서는 동작을 무조건 거부한다. 다른 애플리케이션은 제한된 기능만을 제공하거나 터미널 서버 환경에서는 해당 애플리케이션 공급업체의 지원을 받지 못할 수도 있다. 이는 어떤 터미널 서버 기반의 인프라에서도 실질적인 문제로 대두되고 있지만, VDI에서는 문제가 아니다.

 

VDI는 사용자 별로 한 개의 전용 데스크톱 인스턴스를 구현해서, 운영체제 수준에서 실제 데스크톱과 분간할 수 없다. 팻 클라이언트 상에서 구동되는 어떤 애플리케이션도 VDI VM 상에서 구동된다 (비디오나 그래픽 성능에 대해서는 약간의 예외를 두고). 바로 이것이 일부 조직이 터미널 서버 대신에 VDI를 밀고 있는 중요한 이유이다.

원문 : http://itworld.co.kr/news/62797/%EB%8D%B0%EC%8A%A4%ED%81%AC%ED%86%B1+%EA%B0%80%EC%83%81%ED%99%94+:+VDI%EB%A1%9C+%EB%8F%84%EC%95%BD%ED%95%98%EA%B8%B0 

Posted by 사랑줍는거지
,