데스크톱 가상화 환경이 현실로 성큼 다가왔다.
얼마 전만 해도 실험적인 성격에서 일부 기업 혹은 기관이 소규모의 데스크톱 가상화(클라이언트 가상화)를 시도했지만 최근 들어서는 대외적으로 함구할 뿐 많은 대기업에서 데스크톱 가상화 프로젝트를 이미 진행하고 있다. 기업 정보 유출 등 수위를 높이고 있는 보안 위협에 효과적으로 대처하고, 공간적 제약에서 벗어나 어디서나 업무를 볼 수 있어 업무 생산성 향상의 툴로서도 데스크톱 가상화는 높은 관심을 받고 있다.
그런데 데스크톱 가상화 논의를 들여다보면 용어와 기술이 혼란스럽다. 애플리케이션 가상화라는 같은 용어를 말해도 가상화 솔루션 업체에 따라서 구현 방식이 다르고 구현 방식에 따라 단말기 역할을 하는 PC의 사양이 달라진다. 이러한 혼란은 여러 종류의 데스크톱 가상화를 구분할 수 있는 정확한 공식 명칭이나 기술 정의가 아직 없기 때문이다. 유광웅 한국MS 차장은 “가상화 업체 간에도 같은 용어가 다른 의미를 갖고 있고 포레스터리서치나 가트너 등 세계적인 IT분석·전망기관에서조차 사용하는 용어가 각각 다르다”고 설명한다.
◇하이퍼바이저가 핵심인 데스크톱 가상화와 서버 가상화=물리적으로 한 대인 PC에 여러 운용체계(OS)를 설치하는 것 또한 데스크톱 가상화다. 이 때문에 초창기에는 PC 가상화로 불리기도 했다. 서버 가상화와 유사한 방식의 데스크톱 가상화, 즉 1대의 PC에 성격이 다른 이종의 OS를 설치할 수 있는 것을 데스크톱 가상화라고 한다면 중앙 데이터센터의 서버 자원을 이용해 데스크톱 업무 환경을 개별 임직원에게 네트워크 상에서 제공하는 것을 일컫는 정식 용어는 데스크톱 가상화 인프라스트럭처(VDI) 혹은 데스크톱 가상화 환경(VDE), 또는 호스티드 가상 데스크톱(HVD)다. 가트너의 경우 HVD를 더 자주 사용하고 있다.
그러나 통칭 데스크톱 가상화라는 용어를 사용하고 있으며 데스크톱 가상화와 VDI를 병용하는 경우도 늘고 있어 혼란은 여전하다. 이같은 혼란은 VM웨어나 시트릭스시스템, MS 등 가상화 솔루션 업체들이 데스크톱 가상화와 VDI/HVD 솔루션을 함께 제공하고 있기 때문에 더 가중되는 경향이 있다.
◇서버 자원을 이용하는 데스크톱 가상화 VDI=데스크톱 가상화 인프라에 대한 혼란은 VDI 혹은 HVD가 광의와 협의로 사용되는 데에도 이유가 있다. VDI, HVD는 요즘 근로복지공단, LG CNS, 삼성생명 등에서 구축했다는 데스크톱 가상화, 즉, 서버에서 데스크톱 환경을 ‘끌어오는’ 것이다. VDI에는 신클라이언트와 서버기반컴퓨팅(SBC), 프리젠테이션 가상화, 애플리케이션 가상화, 클라이언트 가상화 등 여러 용어가 넘쳐나고 있다. 이들의 공통점은 애플리케이션, CPU, 메모리 등 PC 업무에 필요한 자원의 일부 혹은 전부가 서버에 위치한다는 것이다. 이는 넓은 의미의 VDI 혹은 HVD에 해당된다. 이에 비해 협의의 VDI 혹은 HVD는 데스크톱 운영 환경 전체, 즉 데스크톱 OS까지 모두 서버에 위치해서 스트리밍 서비스하는 것을 말한다.
클라이언트 환경의 가상화를 거론할 때 가장 먼저 거론되는 것이 SBC다. SBC는 PC에서 이뤄지는 컴퓨팅 작업을 서버의 자원을 이용하여 수행되는 것을 뜻하고 따라서 고사양의 PC 하드웨어가 요구되지 않기 때문에 신 클라이언트(thin client) 컴퓨팅과 같이 해 왔다. 이에 비해 전통적인 PC 환경을 시크 클라이언트(thick client) 혹은 분산형 데스크톱(Distributed Desktop)으로 표현하기도 한다. 중앙의 서버 자원과 데스크톱 환경이 중앙화되는 VDI와 비교해 부르는 말이다.
또한 프리젠테이션 가상화와도 동일한 용어로 쓰이는데 서버 컴퓨팅 자원을 이용한 VDI의 초기 모델이 프레젠테이션 가상화였기 때문이다. 하지만 엄밀히 말해 프리젠테이션 가상화는 SBC의 한 방식이며 VDI, HVD도 서버의 자원을 이용하는 클라이언트 컴퓨팅이란 점에서 SBC는 VDI, HVD를 포괄하는 개념으로 이해할 수 있다.
◇선택적 적용이 가능한 VDI=VDI는 가상화 구현 대상과 방식에 따라 크게 애플리케이션 가상화, 프레젠테이션 가상화, 데스크톱(OS) 가상화로 나눠볼 수 있다. 서버나 PC 등 컴퓨터 하드웨어-운용체계(OS)-애플리케이션-사용자 인터페이스(UI) 중 어느 단계에서 분리하느냐에 따라 구분된다. 애플리케이션과 UI를 분리해 가상화한 것이 프리젠테이션 가상화에 해당된다.
프리젠테이션 가상화는 모든 작업을 서버에서 처리되고 그 화면(이미지)만 PC에 뿌려주는 것이다. 사용자 PC는 입출력 단말기로서 사용되는데, 지사나 해외 지점 등에 IT 인력을 파견하기 어려운 건설, 선박제조 등에서 주로 사용된다. 가장 기초적인 프리젠테이션 가상화는 윈도 터미널 서비스다.
데이터 역시 중앙 서버에 저장하기 때문에 개인 PC의 데이터에 대한 외부의 불법적, 악의적 접근을 막을 수 있다. 또 개별 데스크톱에서 각 애플리케이션을 업데이트하는 대신 서버에서 하나의 공유 복사본만 변경하면 된다. 데스크톱에서 애플리케이션을 운영하는 부담이 없기 때문에 말 그대로 최소한의 자원을 가진 신 클라이언트로도 애플리케이션을 수행할 수 있다. 데스크톱(클라이언트)의 OS가 무엇이든지 화면이 보여지므로 데스크톱 OS 제한도 없어진다. 프리젠테이션 가상화는 VDI 중 가장 먼저 등장한 기술이지만 현재도 여전히 널리 사용되고 있으며 데스크톱에서 스마트폰, 아이패드 등으로 확산해 나가고 있다.
◇애플리케이션 비호환성을 해결한 애플리케이션 가상화=하드웨어-운용체계(OS)-애플리케이션-UI에서 프리젠테이션 가상화가 UI 직전 단계를 분리시켜 가상화한 것이라면 애플리케이션 가상화는 OS와 애플리케이션 사이를 분리, 가상화한 것이다. 이는 한국MS의 구분에 따른 것으로, 시트릭스코리아는 애플리케이션 가상화를 프리젠테이션 가상화와 같은 것으로 본다.
모든 애플리케이션은 OS에 의존한다. 메모리 할당, 디바이스 드라이버 등 OS의 설정에 따라 애플리케이션은 자신이 동작할 환경을 갖게 된다. 일반적으로 애플리케이션은 시스템 내 다른 애플리케이션과 많은 항목을 공유하는데 이 공유에서 문제가 일어나곤 한다. 한 애플리케이션에서는 특정 버전의 동적 링크 라이브러리(DLL)가 있어야 작동하는데, 다른 애플리케이션은 동일한 DLL의 다른 버전을 요구할 때도 있다. 둘 다 설치하면 둘 중 하나가 DLL의 다른 버전을 덮어쓰는 상황이 발생하고 결국 애플리케이션 중 하나는 하드디스크만 차지하고 실행은 되지 않는다. 흔히 말하는 ‘애플리케이션 충돌 현상’이 일어나는 것이다.
애플리케이션 가상화는 공유 리소스의 애플리케이션별 복사본을 만들어서 이 문제를 해결해준다. 애플리케이션이 해당 시스템에 있는 다른 애플리케이션과 공유할 수 있는 항목들, 즉 레지스트리, 특정 DLL을 애플리케이션과 함께 패키징해서 가상 애플리케이션으로 만든다. 애플리케이션이 배포될 때에는 이러한 공유 리소스의 자체 복사본을 사용한다. DLL 등 공유 요소를 놓고 애플리케이션끼리 경합하는 일이 없어진다.
또 PC 자체적으로 애플리케이션을 실행할 수도 있다. PC 자체에서 운영되는 애플리케이션과, 서버에서 전송되는 전송되는 가상화된 애플리케이션이 한 PC에서 함께 작동할 수 있다. 프리젠테이션 가상화와 다른 점은 애플리케이션 가상화에서는 더 많은 리소스를 요구하는 고성능 업무 프로그램을 사용할 수 있다는 것이다. 대신 그만큼 PC 사양도 프리젠테이션 가상화보다는 높아야 한다.
◇OS까지 가상화한 협의의 VDI=협의의 VDI는 데스크톱 OS도 서버에 위치해 PC 환경으로 불러오는 것이다. 하드웨어와 OS 계층을 분리한 것으로, 서버에 아예 통째로 데스크톱 환경을 모두 올려놓고 원격의 단말을 통해 이를 이용하는 것이다. 서버에는 여러 개의 가상 머신들이 있고 이 가상 머신들마다 클라이언트 환경에 내려보낼 데스크톱 OS, 즉 윈도7, 윈도XP, 리눅스 등을 설치한다.
사용자(클라이언트)는 원격 PC나 노트북에서 이들에 액세스하여 활용하며, 사용자는 저사양의 단말(PC)로도 접속해 업무를 볼 수 있다. 여기까지 보면 프리젠테이션 가상화와도 유사하다. 프리젠테이션 가상화와의 차이점은 최종 사용자 입장에서 볼 때 VDI는 마치 자기 PC를 사용하듯 모든 데스크톱 환경을 영유하는 것이다.
OS를 포함한 데스크톱 가상화 환경의 발전은 계속 이뤄지고 있다. 사용자는 사무실의 PC 환경을 집이나 공공 장소, 해외 호텔 등 인터넷이 되는 PC라면 이용할 수 있다. 회사에서만 사용 가능하던 자체 개발 업무용 소프트웨어를 집의 PC에 설치하지 않아도 바로 이용할 수 있다.
하지만 데스크톱 가상화를 포함한 가상화 환경 구현 시 고려해야 할 점은 고가용성이다. VDI를 구현한 서버에 장애가 발생할 경우 이 서버에 데스크톱 환경이 설정된 20~30여명은 업무를 할 수 없게 된다. VDI 구현 시에는 호스트 서버들에 대한 고가용성 및 재해복구 환경에 대한 투자도 염두에 둬야 한다.
박현선기자 hspark@etnews.co.kr