많은 기술들이 함축적으로 가상화라는 용어를 사용하고 있어 사용자의 혼란이 가중되고 있다. 특히 최근 부상하고 있는 데스크톱 가상화는 클라이언트 가상화, 신 클라이언트(thin client), 서버기반컴퓨팅(SBC) 등 많은 의미를 담고 있다. 가상화에 관심을 보이는 기업이 늘고 있지만 혼란스러운 용어와 과대포장된 도입 효과는 오히려 가상화 확산을 가로막고 있다. 데스크톱 가상화부터 서버, 스토리지 가상화까지 명쾌한 기술 정의와 솔직한 도입 효과 설명이 필요하다.
◇데스크톱 가상화의 구현 방식 다양=데스크톱 가상화와 애플리케이션 가상화, 프리젠테이션 가상화, SBC는 모두 클라이언트 업무 환경의 가상화를 뜻하지만 각각은 다른 기술이다. 다만 SBC는 통상적으로 PC에서 이뤄지는 컴퓨팅 작업을 서버의 자원을 이용하여 수행되는 것을 뜻하고 따라서 고사양의 PC 하드웨어가 요구되지 않기 때문에 신 클라이언트 컴퓨팅과 항상 같이 해 왔다.
이런 의미에서 볼 때 SBC는 프리젠테이션 가상화를 뜻한다. 프리젠테이션 가상화 환경에서 모든 작업은 서버에서 처리되고 그 화면만 PC에 보여지는 것이다. 이에 비해 최근 부상한 애플리케이션 가상화는 애플리케이션 자체를 가상화 운용체계와 묶어서 서버에 두고 있다가 이 애플리케이션을 사용하기 원하는 데스크톱 혹은 다른 서버에 애플리케이션 자체를 전송한다.
애플리케이션 가상화에서 이용하고자 하는 애플리케이션은 가상 시스템 파일, 가상 레지스트리를 가진 가상 OS(VOS)와 하나로 패키징된다. 이를 샌드박싱한다고 하는데, 샌드박싱에 의해 가상화된 애플리케이션은 해당 클라이언트 또는 해당 서버로 내려와서 그 곳의 자원을 활용하여 실행된다.
예를 들어 MS 파워포인트를 애플리케이션 가상화 환경에서 이용하게 되면 이 MS 파워포인트는 VOS와 결합한 상태로 요청되는 사용자에게 보내진다. 따라서 실행되는 PC, 서버의 하드웨어 자원은 애플리케이션을 구동할 수 있는 정도의 사양은 확보해야 한다. 관리자의 설정에 따라 작업 종료 후 계속 해당 클라이언트 혹은 서버에 남아 있을 수도, 제거될 수도 있다.
유광웅 한국마이크로소프트 차장은 “OS 환경과 애플리케이션간의 의존성을 깬 것을 애플리케이션 가상화”라며 “MS의 애플리케이션 가상화 기술인 MAV는 애플리케이션 자체를 샌드박싱(VOS와 패키징)하여 서버에 가지고 있다가, 다른 클라이언트 또는 다른 서버에서 해당하는 애플리케이션을 사용하고자 하면 해당 클라이언트, 또는 해당 서버에 내려보내준다”고 설명한다.
VM웨어코리아 역시 프리젠테이션 가상화와 애플리케이션 서버 가상화를 구분해야 한다고 설명한다. 이호 VM웨어코리아 부장은 “프리젠테이션 가상화와 다른 애플리케이션의 가상화의 차이점에서 가장 중요한 의미는, 프리젠테이션 서버 가상화에서는 N(클라이언트 숫자) : 1(서버)의 환경이었다면 애플리케이션 가상화 환경에서는 1:1의 관계가 되는 것”이라고 말한다.
프리젠테이션 서버, 즉 과거 SBC 환경에서 가상화가 공유에 초점을 맞췄다면 애플리케이션 가상화는 보안과 사용자별 독립성을 보장하는 가상화다. 프리젠테이션 가상화 환경에서는 사용하는 애플리케이션에 장애가 일어날 경우 다른 사용자도 사용할 수 없게 된다. 애플리케이션 가상화에서는 이런 한계가 없다.
데스크톱 가상화는 애플리케이션 가상화에서 한 발 앞서 나간 이야기다. VDI((Virtual Desktop Infrastructure)는 서버에 아예 통째로 클라이언트 OS 환경 자체를 올려놓고 이를 원격의 단말을 통해 활용하는 것이다. 광의의 SBC라고 할 수 있다. 서버 가상화처럼 서버를 가상화하여 여러 개의 가상 머신들을 만드는데, 이 가상 머신에 서버 OS들을 설치하는 것이 아니라 클라이언트 OS, 즉 윈도7, 윈도XP, 리눅스 등을 설치한다. 사용자(클라이언트)는 원격의 PC나 노트북에서 이들에 액세스하여 활용한다. 사용자가 접속하는 단말(PC)은 고사양, 저사양을 가리지 않는다. 여기까지 보면 프리젠테이션 가상화와도 유사하다. 프리젠테이션 가상화와의 차이점은 최종 사용자 입장에서 볼 때 VDI는 마치 자기 PC를 사용하듯 모든 데스크톱 환경을 영유하는 것이다.
참고로 데스크톱 가상화라고 했을 때는 x86 서버 가상화에서처럼 데스크톱 PC 자체를 가상화해 하나의 데스크톱 하드웨어에 2개 이상의 운용체계를 동시에 실행하는 것을 의미할 때도 있다.
◇잘못된 서버 가상화 설계는 추가 비용 지출 초래=서버 가상화를 한다고 해서 모든 업무의 서버를 다 줄일 수 있는 것은 아니다. 그런 업무는 따로 있다. 유닉스 서버 가상화에서든 x86 서버 가상화에서든, 가상화 환경에서 여러 가상 머신을 한 대의 서버에서 운영할 때 해당되는 업무는 테스트, 개발 혹은 그룹웨어 등 평소 사용이 많지 않는 업무다. 이런 업무 애플리케이션들을 모아 서버 가상화를 하는 것이 가장 효과가 높다.
대용량의 고성능 애플리케이션을 가상화된 서버에 두고 다른 애플리케이션을 함께 구성하는 경우는 별로 없다. 예를 들어 ERP 서버와 DB 서버가 한 대의 물리적 서버에 올라가는 일은 별로 없다. 둘 다 메모리 사용과 I/O 트랜잭션이 많은 업무이기 때문이다. 대용량 유닉스 서버에서라면 가능할 수도 있다. ERP와 DB, 미들웨어 등 ERP 서비스를 제공하기 위해 필요한 시스템 소프트웨어와 애플리케이션들을 모아 한 대의 서버로 가상화해 구성한 고객도 있다고 한국IBM은 전했다. 하지만 드문 사례다.
또 서버 가상화를 하면 하드웨어 자원이 대폭 줄어들 것이라는 기대도 버려야 한다. 평소에는 서버 자원을 20% 이하로 사용하지만 가끔 업무 폭주로 많은 자원을 사용하는 업무들을 모아서 한 서버로 구성하는 것이 서버 가상화다. 따라서 서버 자원의 사용이 폭주하는 업무들을 분석해 폭주 시기가 다른 것끼리 적절히 잘 배치하는 것이 필요하다. 그렇게 하지 않을 경우 실제 운영 환경에서는 메모리를 추가 증설하거나 네트워크 대역폭을 확장해야 할 수도 있다.
여기에 스토리지도 고려해야 한다. 물론 노트북용 하드디스크도 이미 TB 시대에 접어들었지만 가상화된 서버에서는 여러 애플리케이션이 한 대의 물리적 서버에서 운영되는 만큼 이들 애플리케이션이 생성해내는 데이터 양도 서버 한 대에 다 쌓이게 된다. 서버 내 디스크 용량으로는 여러 애플리케이션에서 생성되는 데이터를 감당하기 어려울 수 있다. 애플리케이션들은 서버 자원을 번갈아가며 사용하지만(공유) 서버 내 디스크에는 각각에서 생성된 데이터가 차곡차곡 쌓인다. 결국 외장 스토리지와의 연동이 필수다. 넷앱이나 EMC 등 스토리지 업체들이 서버 가상화 환경에 눈독 들이고 있는 것은 이 때문이기도 하다.
다만 소프트웨어 라이선스 비용 절감 효과는 기대해볼 수 있다. 기업용 애플리케이션 대부분은 CPU나 메모리의 용량 기준으로 라이선스를 부과한다. 예를 들어 한 서버의 성능이 100이라고 했을 때 일반적으로 서버 활용률은 20∼30이지만 100만큼 미리 자원을 확보해두고 라이선스 비용도 이에 상응해서 낸다. 만일 5대 서버를 가상화해 200의 성능을 가진 서버 1대로 줄였다면, 각 업무 애플리케이션에 40씩 할당하더라도 평소에는 평균 사용량인 20씩 100의 여유자원이 있다. 또 애플리케이션 라이선스 비용은 종전처럼 100이 아닌 40에 해당하는 만큼만 내면 된다. 단순 산술이지만 서버 가상화는 물리적인 서버 수십대를 줄여 상면 공간과 그로 인한 비용을 줄이는 것 외에 애플리케이션 라이선스 및 유지보수 비용에도 분명한 효과가 있다.
박현선기자 hspark@etnews.co.kr
관련 통계자료 다운로드 가상화 개념도