“간편하고 적은 비용으로 애플리케이션 가용성 향상”
상태바
“간편하고 적은 비용으로 애플리케이션 가용성 향상”
  • 데이터넷
  • 승인 2010.10.29 17:42
  • 댓글 0
이 기사를 공유합니다

가상화 1회 … VM웨어 가상화 환경의 가용성 솔루션 소개

가상화와 데이터센터는 최근의 기업 IT환경을 논하며 빼놓을 수 없는 주제로, 클라우드 컴퓨팅과 직결되는 중요한 이슈다. 이에 따라 김현도 트레이닝파트너스 차장의 ‘VM웨어 가상화 환경의 가용성 솔루션’을 3회에 걸쳐 연재하고, 이어 방항모 INU컨설팅 대표 겸 트레이닝파트너스 강사의 ‘차세대 기업 데이터센터, 어떤 방향으로 발전시킬 것인가’를 3회에 걸쳐 연재, 가상화와 데이터센터에 대해 상세히 살펴본다. 먼저 이번 호에서는 VM웨어 가상화 환경의 가용성 솔루션을 소개한다. <편집자>

 

 

김현도  트레이닝파트너스 트레이닝서비스 차장
hdkim@training-partners.com

클라우드 컴퓨팅과 그린IT에 대한 관심이 높아지면서 그 기반이 되는 기술 중의 하나인 가상화가 큰 이슈로 떠오르고 있다. 특히 X86 계열의 시스템들은 VM웨어, 시트릭스, MS의 가상화 환경으로 자리를 옮기고 있는 추세다. 그러나 아직까지 많은 시스템 관리자나 운영자들이 가상화 환경의 안정성과 성능 및 운영환경에 대한 이해가 부족해 도입을 꺼려하는 경우가 적지 않다.

특히 가상화의 경우에는 하나의 하드웨어 머신(호스트) 위에 여러 가상 머신들이 동작하는 환경이 대부분이므로, 호스트 머신에 대한 다운타임은 계획적이던 계획적이지 않던 상당한 비용을 유발하게 된다. 일반적으로 가용성 수준을 높이기 위한 솔루션은 비용도 많이 들고, 구현과 관리가 어렵다. 그러나 가상화 환경에서는 보다 간편하고 적은 비용으로 중요한 애플리케이션들의 가용성 수준을 높이는 것이 가능하고, 가상화가 아닌 환경보다 다양한 가용성 솔루션을 제공할 수 있다. 서버 가상화 대표 벤더인 VM웨어 v스피어를 통해 가상화 환경에 사용되는 몇 가지 고가용성(High Availability) 솔루션에 대해 살펴본다.

클라우드 컴퓨팅과 그린IT에 대한 관심이 높아지면서 그 기반이 되는 기술 중의 하나인 가상화가 큰 이슈로 떠오르고 있다. 특히 X86 계열의 시스템들은 VM웨어, 시트릭스, MS의 가상화 환경으로 자리를 옮기고 있는 추세다. 그러나 아직까지 많은 시스템 관리자나 운영자들이 가상화 환경의 안정성과 성능 및 운영환경에 대한 이해가 부족해 도입을 꺼려하는 경우가 적지 않다.특히 가상화의 경우에는 하나의 하드웨어 머신(호스트) 위에 여러 가상 머신들이 동작하는 환경이 대부분이므로, 호스트 머신에 대한 다운타임은 계획적이던 계획적이지 않던 상당한 비용을 유발하게 된다. 일반적으로 가용성 수준을 높이기 위한 솔루션은 비용도 많이 들고, 구현과 관리가 어렵다. 그러나 가상화 환경에서는 보다 간편하고 적은 비용으로 중요한 애플리케이션들의 가용성 수준을 높이는 것이 가능하고, 가상화가 아닌 환경보다 다양한 가용성 솔루션을 제공할 수 있다. 서버 가상화 대표 벤더인 VM웨어 v스피어를 통해 가상화 환경에 사용되는 몇 가지 고가용성(High Availability) 솔루션에 대해 살펴본다.

가상화 정의
간단하게 가상화(Virtualization)를 소개하면, 가상화란 컴퓨터의 운영체제로부터 물리적인 하드웨어를 분리해 IT 리소스의 활용률과 유연성을 극대화하기 위한 추상화 계층을 사용하는 서비스라고 보면 된다. 따라서 가상화는 서로 다른 운영체제와 애플리케이션들을 운영하는 가상 머신들이 동일한 물리 머신에서 서로 격리돼 동작할 수 있도록 한다. 참고로 물리 머신과 가상 머신을 구분하기 위한 용어로, 물리 머신을 호스트라 표현하고 가상 머신을 게스트로 표현한다.

VM웨어 v스피어에서는 이러한 가상 머신들을 운영하고 이 가상 머신들이 물리적 리소스에 접근할 수 있도록 하기 위해 ESX 서버 또는 ESXi라는 시스템이 다른 여러 구성요소들과 함께 동작한다. ESX/ESXi는 가상 머신에 CPU나 메모리, 디스크 및 네트워크 리소스를 제공하기 위한 호스트 머신이다. 시트릭스의 젠 서버나 MS의 하이퍼-V 머신도 동일한 역할을 하는 호스트 머신이다.

고가용성과 장애복구(Fault Tolerance)라는 측면에서 VM웨어 v스피어는 스토리지에 대한 다중 경로(multipathing)와 네트워크에 대한 NIC 티밍(teaming), 가상 컴퓨터를 위한 V모션과 스토리지 V모션 등 다양한 솔루션을 제공하고 있다. 그 중에서도 특히 VM웨어 HA와 FT(Fault Tolerance)는 하드웨어 장애에 대비해 가상 컴퓨터의 가용성을 보장하기 위한 대표적인 v스피어의 가용성 솔루션이다.

일반적으로 VM웨어 v스피어를 운영하는 조직은 ESX/ESXi 호스트 머신의 장애에 대비해 가상 머신의 가용성 보장을 목적으로 VM웨어 HA나 FT를 사용하는 것을 권장한다. 특히 MS 윈도우 기반 가상 머신의 경우 전통적인 장애복구 솔루션인 MS 클러스터 서비스(MSCS)를 윈도우 게스트 머신에 구성해 가용성을 보장하는 것도 가능하다.

VM웨어 HA
VM웨어 HA는 ESX/ESXi 서버 시스템에서 동작 중인 가상 머신들이 호스트의 장애로부터 자동으로 복구할 수 있도록 해 주는 기능이다. 즉, 가상 머신들이 동작 중인 호스트가 사용할 수 없게 되면 이 호스트에서 동작하던 모든 가상 머신들은 곧바로 다른 호스트에서 재 시작한다. <그림 2>는 VM웨어 HA의 동작 방식을 알려주고 있다.

<그림 2>를 보면 세 개의 물리적 호스트 머신에 각각 가상 머신들이 동작하고 있다. 이 호스트 머신들은 서로 하트비트를 주고받으면서 서로의 상태를 확인할 수 있다. <그림 2>에서처럼 한 호스트에 장애가 발생하면 다른 호스트들이 이를 인식하고 장애가 발생한 호스트에서 동작하던 가상 머신들을 정상적인 호스트 상에 재시작시킨다. 가상 머신 입장에서는 호스트 머신에 장애가 발생할 경우 다른 호스트에서 재시작해 서비스를 제공하기 위해 필요한 짧은 시간 동안만 다운타임이 발생하는 것이다.

이러한 기능을 사용하려면 ESX 서버 호스트와 가상 머신 및 공유 리소스들을 하나의 단위인 클러스터라는 개체로 묶어 구성해야 한다. 이 클러스터는 MS의 장애복구 클러스터와는 다른 것으로 호스트 그룹 정도로 이해하면 된다. 호스트를 클러스터에 추가하면 호스트의 리소스는 클러스터 리소스의 일부가 돼 HA를 사용할 수 있게 된다.

클러스터가 HA를 사용할 수 있으면 클러스터의 각 호스트들은 서로 다른 호스트들의 장애를 모니터할 수 있게 된다. 만일 어떤 호스트가 사용할 수 없게 되면, 이 호스트 상의 모든 가상 머신들은 즉시 다른 호스트에서 재시작한다.

클러스터라는 요구 사항 이외에도 VM웨어 HA를 통해 가용성을 높이기 위한 가상 머신들은 V모션 조건을 충족해야 한다. 간단하게 설명하면 가상 머신을 구성하는 가상 디스크 파일들이 클러스터의 모든 호스트가 액세스할 수 있는 스토리지 상에 위치해야 한다고 이해하면 된다. VM웨어 HA는 다음과 같은 장점을 가지고 있다.

● 최소 구성: 클러스터 구성을 마법사로 할 수 있다. 클라이언트 도구를 사용해 호스트나 새로운 가상 머신들을 간단하게 추가할 수 있다. 클러스터의 모든 가상 머신들은 추가적인 구성없이 장애복구 지원을 받는다.
● 하드웨어 비용과 설치 비용 감소: 전통적인 클러스터링 솔루션에서는 두 노드에 동일한 하드웨어와 소프트웨어가 적절하게 구성되고 연결돼야 한다. 그러나 VM웨어 HA는 가상 머신 외부에서 동작하므로 가상 머신의 게스트 운영체제에 별도의 구성이나 제한이 없다. 따라서 여러 노드 상의 중복된 구성도 필요 없다. 대신 사용자가 보장하기 원하는 수의 호스트 장애를 복구하기 위한 충분한 리소스를 가지고 있어야 한다.
● 애플리케이션 가용성 증가: 가상 머신 내에서 동작하는 어떤 애플리케이션도 높아진 가용성에 접근할 수 있다. 가상 머신은 하드웨어 장애로부터 쉽게 복구할 수 있으므로 부팅 시에 시작하도록 구성된 애플리케이션들은 해당 애플리케이션이 장애복구 클러스터를 지원하지 않더라도 추가 비용 없이 증가된 가용성을 가질 수 있다.

전통적인 장애복구 솔루션 ‘MSCS’
VM웨어 HA와 비슷하게 가상 머신을 MS의 MSCS로 구성해도 호스트의 장애로부터 자동 복구를 제공할 수 있다. 이 둘은 서로 다른 영역에서 동작하므로 상호 보완적인 관계를 가질 수 있다. MSCS와 같은 전통적인 클러스터링 솔루션은 호스트나 가상 머신에 장애가 발생할 경우 애플리케이션이 최소한의 다운타임으로부터 곧바로 복구할 수 있도록 해준다. 그러나 이를 위해서는 IT 인프라스트럭처에 다음의 몇 가지 추가 구성이 필요하다.

● 각 가상 머신은 반드시 미러 가상 머신을 가지고 있어야 한다. 이 미러 가상 머신은 가능하면 다른 호스트 상에 생성한다.
● 각 가상 머신은 클러스터링 소프트웨어를 사용해 각각 서로를 미러로 구성한다. 일반적으로 프라이머리 가상 머신은 미러 가상 머신에 하트비트를 전송한다. 장애가 발생하면 미러 서버가 프라이머리 가상 머신 역할을 수행한다.

<그림 3>처럼 3가지 방법으로 VM웨어 v스피어의 가상 머신을 MS의 MSCS로 클러스터링을 구현할 수 있다.

첫 번째 방법은 단일 가상화 환경에서 HA를 구성하는(Cluster in a box) 것으로 가상 머신의 운영체제나 애플리케이션에 대해서는 장애복구를 지원해 줄 수 있지만 막상 호스트 머신의 장애에 대해서는 장애복구를 지원할 수 없다. 따라서 이 방법은 프로덕션 환경에는 권장하지 않으며 테스트 환경 정도에 사용이 적합하다.

두 번째 방법은 2대의 가상화 시스템간 HA를 구성하는(Cluster Across Boxes) 것으로 가상 머신의 애플리케이션이나 호스트 머신의 하드웨어 장애의 경우 모두에 대해 장애복구를 지원하므로 실제 서비스 환경에 적합한 모델이다. 그러나 이를 위해서는 각 호스트가 모두 액세스할 수 있는 공유 스토리지가 반드시 필요하다.

마지막으로는 기존의 물리적 환경을 유지하면서 대기 시스템을 가상화로 구성하는(Physical to Virtual Clustering) 것으로 가상 머신이 아닌 물리 머신에 대해 가상 머신을 클러스터링시킨다. 이 방법은 가상화 환경에 대한 가용성 솔루션이라고 보기에 어려울 수도 있다.

이러한 클러스터링 솔루션을 설정하고 관리하는 것은 VM웨어 HA에 비해 리소스를 많이 소비하는 작업이다. 새로운 가상 머신을 추가할 때마다 이에 상응하는 장애복구용 가상 머신이 필요하고 사용자는 모든 새로운 컴퓨터를 설정하고, 연결하고, 구성해야 하며 클러스터링 애플리케이션의 구성을 업데이트해야 한다. 즉, 전통적인 클러스터링 솔루션은 빠른 복구를 보장하지만 리소스와 노동력 집약적이다.

VM웨어 FT
VM웨어 FT는 앞서 설명한 두 가지의 고가용성 솔루션과는 달리 호스트의 하드웨어 장애 경우에도 가상 머신에 서비스 중지나 다운타임이 발생하지 않도록 해주는 고가용성 솔루션이다. FT는 VM웨어 v락스텝(vLockstep)이라는 기술을 사용해 동일한 가상 머신이 두 호스트 머신의 가상 락스텝에서 실행하도록 해 동작한다. 그러나 FT를 사용하려면 가상 머신은 반드시 VM웨어 HA 기반의 클러스터에서 동작해야 한다.

FT는 주 가상 머신과 동일한 보조 가상 머신을 다른 호스트 머신에 생성한다. 그 후에 기록/재연(record/replay) 기술을 사용해 주 가상 머신의 모든 작업을 기록하고 보조 가상 머신에서 이를 재연한다. v락스텝 기술은 두 사본의 가상 머신들이 두 호스트 머신 상에서 동시에 작업하고 동기화할 수 있도록 해준다. 그러나 외부 사용자에게는 주 가상 머신만이 나타난다. 이는 두 사본의 가상 머신들이 하나의 IP, 하나의 MAC 주소만을 가지며 관리자는 주 가상 머신만을 관리하면 된다는 의미다.

두 가상 머신들은 하트비트와 재연 정보를 통해 각 가상 머신의 상태를 모니터링하며 계속해서 통신한다. 주 가상 머신에 장애가 탐지되면 보조 가상 머신은 바로 주 가상 머신으로 승격되고 사용자의 요청을 처리해 다운타임 제로 솔루션을 구현한다. 클러스터에 ESX/ESXi 호스트 머신이 더 존재한다면 새로운 보조 가상 머신이 자동으로 다른 호스트 머신에 생성돼 FT 가용성 솔루션이 유지된다. 만일 보조 가상 머신에 장애가 발생하면 다른 호스트 머신에 또 다른 보조 가상 머신이 생성돼 FT 가용성 환경을 유지한다.

FT 솔루션은 다운타임 제로라는 높은 비즈니스 연속성을 제공하지만 몇 가지 제한이 있다. 첫 번째로 단일 코어의 가상 머신만을 지원한다는 것이다. 만일 멀티 코어 가상 머신을 사용해야 하는 환경이라면 FT 솔루션이 아닌 다른 가용성 솔루션을 사용해야 한다.

두 번째로는 주 가상 머신의 작업을 기록하고 이를 보조 가상 머신에 전달, 재연하기 위한 추가적인 CPU가 필요하다. 만일 주 가상 머신이 끊임없이 작업하고 있고 보조 가상 머신의 호스트에 리소스 부하가 걸려 재연 프로세스가 지연된다면 주 가상 머신의 작업 역시 지연될 수 있다. 따라서 기록/재연을 위한 충분한 CPU 리소스와 네트워크 대역폭 등은 FT 기능을 사용하기 위해 필요사항이다.

VM웨어 v스피어 가상화 환경에서 구성할 수 있는 고가용성 솔루션이 앞서 소개한 것만이 존재하는 것은 아니다. 그렇지만 이것들이 가상화 환경의 가장 핵심적인 솔루션임에는 틀림없다. 다음 호에서는 앞서 소개한 것들 중에서 VM웨어 HA와 FT를 2회에 걸쳐 보다 상세하게 살펴본다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.