최근 클라우드 컴퓨팅에 많은 관심이 쏠리고 있다. 또한 이에 따라 클라우드 컴퓨팅을 구성하는 핵심 기술 중 하나인 가상화 솔루션 역시 승승장구 하고 있는 중이다. 그렇다면 현재 가상화 솔루션은 어느 정도 수준까지 와 있는지 한 번 살펴 볼 필요가 있겠다.
가상화를 말하려 한다면 VMware를 빼 놓고 말할 수는 없다. 2008년 가트너의 조사에 따르면 VMware는 전체 가상화 시장의 89%를 차지하고 있는 압도적인 회사다. Microsoft의 Hyper-V가 발표되면서 점유율이 조금 줄었다는 이야기는 있지만, 여전히 최고의 솔루션을 제공하는 최강의 가상화 솔루션 기업임에는 틀림이 없다.
VMware는 지난 4월 vSphere 4를 발표하였는데, 최초의 클라우드 컴퓨팅 운영체제라는 이름으로 홍보하고 있는 중이다. 이번 글에서는 vSphere 4의 주요 기능들을 간단히 살펴보는 것으로 현재의 가상화 기술이 어느 정도 수준까지 와 있는지 살펴 보려 한다.
우선 vSphere의 Edition별 기능 목록을 보여 주는 아래의 그림을 살펴 보자.

우선 vSMP, Hot Add, Distributed Switch, vShield Zones등은 가상 하드웨어에 대한 내용이라고 볼 수 있다. 물리적 Host에서 구동되는 VM(Virtual Machine)은 사용해야 할 시스템 자원들을 가상화하는데, vSMP의 경우 각각의 가상 머신이 여러 개의 CPU를 가진 것처럼 동작하게 해 준다. 이러한 설정에 따라 물리적인 프로세서나 코어가 배분되고, SMP를 필요로 하는 애플리케이션들 역시 무리 없이 동작시켜 줄 수 있다.
Hot Add는 가상화된 자원을 VM을 끄지 않고 추가시킬 수 있는 기능을 말한다. 이는 물리적인 서버를 끄지 않고도, CPU나 메모리를 추가할 수 있는 Hot Plug 기능의 가상화라 할 수 있다. 대형 장비를 사용하고 있어 시스템 중단 없이 하드웨어를 추가할 수 있다면, 그 내용을 VM 역시 중단 없이 반영할 수 있게 해 준다.
Distributed Switch, vShield Zones는 네트워크 구성을 가상화 해 준다. 예를 들어 네트워크 구성 시 허브 포트 별로 영역을 나누어 구성하는 경우를 흔히 볼 수 있는데, 물리적으로 다양한 호스트에 VM들이 배포되고 위치를 이동한다면 이러한 구성이 어려워 질 수 있다. Distributed Switch는 여러 물리적 호스트를 묶는 가상의 스위칭 허브를 만드는 것으로, 이는 각 호스트 별로 존재하는 가상 스위치의 설정을 추상화해 준다. 이를 통해 중앙에서 가상 네트워크에 대한 관리 및 모니터링을 할 수 있게 해 준다.

마찬가지로 vShield Zones는 가상 머신의 영역별 보안을 강화하게 되는데, VM간의 트래픽을 모니터링하고 로그를 남길 수 있으며, 보안 정책에 따라 VM들을 연결하고, 방화벽을 세우고, 네트워크에서 분리시키는 등의 작업이 가능하다. 이를 통해 보안을 강화할 뿐만 아니라, 감사를 위한 자료를 수집할 수도 있게 된다.
HA (High Availability), VMotion, Storage VMotion, Fault Tolence등은 가상화 기술을 통한 고가용성을 확보하는 기능들이다. 이러한 기능들은 개인적으로 가상화를 통해 얻을 수 있는 가장 큰 이점이라 생각한다.
HA는 기본적인 고가용성을 제공하는데, VM이 크래시되거나 VM을 운영하고 있는 물리적인 호스트가 다운될 경우, 해당 VM을 다른 물리 호스트에서 재시작시킨다. 이를 통해 다운타임을 몇 분 정도로 줄일 수 있다.

[그림 4 : HA의 동작 개념도.]
VMotion은 여기서 한발 더 나아가 현재 운용중인 VM을 중단 없이 다른 물리 호스트로 이동할 수 있게 해 준다. 즉 특정한 VM이 과중한 부하에 시달리고 있다면, 해당 VM을 중단 없이 좀 더 여유 있는 호스트로 옮길 수 있다. 이는 시스템 관리에 있어 엄청난 발전이라 할 수 있다. 무언가 작업을 하려고 하면 사전에 공지하고, 서버를 내리고, 작업을 수행하던 일이 사라져 버리기 때문이다. Storage VMotion은 VM들이 사용하는 저장 공간을 다른 곳으로 중단 없이 옮길 수 있는 것을 말한다.

[그림 5 : vMotion 개념도]
Fault Tolence는 이러한 고가용성의 최신 기술로서 제로에 가깝게 다운타임을 줄일 수 있다. HA의 경우 문제가 생길 경우 VM은 재시작되지만, 메모리 상태등은 손실된 상태에서 시작한다. 하지만 Fault Tolence는 운영하고 있는 VM의 Secondary VM을 동시에 운영하고, 상호간의 메모리 상태까지 그대로 동기화 시킴으로써 Primary VM에 문제가 생기는 즉시 Secondary VM이 일을 넘겨 받아 수행하게 된다. 이러한 스위칭은 매우 짧은 시간에 이루어져, 사용자는 문제가 생겼다는 사실조차 느끼지 못할 수 있다. 이러한 기능은 데모를 보는 것이 가장 확실하게 이해가 된다. 시간이 되시는 분은 VMware의 데모를 보는 것이 좋겠다.

[그림 6 : Fault Tolerance 개념도]
지금까지 살펴 본 내용에서 현재의 가상화 기술이 어느 정도 수준에 도달했는지 개략적으로나마 알 수 있을 것이다. 현재의 기술은 시스템을 구성하는 거의 모든 레이어를 가상화 할 수 있으며, 이를 매우 유연하게 관리하고 활용할 수 있도록 해 준다. 극단적인 일부 상황을 제외하면, 비용적인 면이나 관리적인 측면에서 분명히 가상화는 확실한 장점을 제공해 준다.
하지만 현 시점에서 장점만 있는 것은 아니다. 이렇게 가상화된 클라우드를 구축하기 위해서는 현 시점에서는 매우 세밀한 고려가 필요하다. 하드웨어 호환성은 완벽하지 않으며, 장비 도입 시점부터 철저하게 플랜을 짜고 고민하여 검토하지 않으면 안 된다. 버리기는 아깝지만 호환성이 확보되지 않은 장비를 보유하고 있는 기업은 고민에 빠지게 될 수 있다.
게다가 기존의 개념과는 다른 부분이 존재하기 때문에, 관련 기술에 대해 확실하게 이해하고 있는 엔지니어들이 필요하다. 그리고 엔지니어들에게는 단순히 한 가지 운영 시스템에 대한 고민보다는 클라우드 또는 데이터센터의 전체적인 큰 그림을 이해하고 설계할 수 있는 능력이 필수적으로 요구된다.
만약 당신이 시스템 엔지니어라면 지금 당장 가상화 기술에 대한 공부를 시작할 것을 권한다. 클라우드 컴퓨팅이 확산될수록 기존의 엔지니어에 대한 수요는 줄어들 것이고, 가상화 기술을 이해하고 있는 엔지니어에 대한 수요는 늘어날 것이니 말이다.



트랙백 걸어주신 덕분에 귀한 글 잘 보고 갑니다. 이런 글 하나 쓰고 싶었었는데, 너무 자세하게 잘 써주셔서 제가 더할 것도 없네요.
2009/06/10 16:20한가지 빠진게 있다면, 솔루션 쪽 프로덕트가 언급이 안된 것 같습니다. 가상화를 통해 이룰 수 있는 장점을 이용해 다양한 솔루션이 vmware에서 나오고 있습니다.
어플리케이션을 작성하는 새로운 방법인 VA도 있고, update manager, p2v converter도 있고, 요즘 주목 많이 받고 있는 SRM도 있죠. 예전 VCB을 대체하는 백업 솔루션인 DR도 새로 개발되었죠. 그 외에도 life cycle manager, 클라우드 운영의 근간이 되는 lab manager외에도 발표되었고 발표될 솔루션이 줄줄이 대기 중입니다.
그 외에 또 데스크탑 가상화 솔루션쪽도 상당한 수의 제품이 존재하죠. 하여튼 요즘 뜨거운 감자인건 틀림없는 기술 같아요.
피드백 감사 드립니다. 확실히 솔루션들이 최근 줄줄이 나오고 있습니다. 음.. 그 쪽을 정리한 후속편을 써 봐야 하려나요? ^^ 데스크톱 가상화 부분도 상당히 재미 있는 영역인데, 그 쪽도 한번 시간이 되면 살펴 봐야 할 것 같습니다.
2009/06/11 16:30