2008.06.29

가상화의 이해 : 가상화 기술 ABC

John K. Waters | CIO
가상화는 컴퓨터 하드웨어 시스템과 그 서버 상에서 돌고 있는 애플리케이션 사이에 추상적인 층을 추가하는 기술을 말한다. 한 서버에서 여러 운영체제를 동시에 운영할 수 있도록 해주는 가상화 기술은 물리적이 아니라 논리적으로 컴퓨터 자원을 사용한다. 여러 대의 서버의 자원을 모아 하나의 리소스 풀로 통합한다고 생각하면 된다.

가상화는 한 대의 물리적인 서버를 복수의 논리적인 서버로 분리하는 파티션에 그 기반을 두고 있다. 일단 물리적인 서버가 파티션으로을 분리되면 각 논리 서버에는 운영체제와 애플리케이션이 독립적으로 운영된다. 1990년대 가상화는 메인프레임에 단말기로 접속하는 엔드 유저 환경에 사용된 기술이다. 만일 IT 관리자가 새로운 소프트웨어를 도입하려고 할 때, 윈도우 NT나 리눅스 운영체제를 설치한 각각의 서버가 필요하다.

X86 아키텍처를 기반으로 한 값싼 PC의 등장으로 가상화는 메인프레임과 함께 사라져 갔다. 현재 선도업체인 VMWare는 x86 기반의 신뢰할 만한 가상화 기술을 되살렸다는 평가를 받고 있다. VMWare는 1990년대에 x86 아키텍처을 위한 최초의 하이퍼바이저 기술로 최근 일고 있는 가상화 붐의 개척자로 자리잡고 있다.

가상화 기술은 왜 필요한가?
가상화 기술에 대한 업계의 반응은 뜨겁다. 반드시 도입해야 하는 기술로 자리잡고 있는 것이다. 새로운 업체들이 시장에 진입하고, 기업 소프트웨어 공급업체들은 자사 제품군에 가상화 제품을 추가하고 있다. 가상화가 생각보다 기업에게 가져다 주는 이익이 크기 때문이다.

서버 통합은 현 시장에서 아주 매력적 주제다. 가상화는 그 기술을 선택하는 회사의 예산을 대폭 절감할 수 있도록 해준다. 업계 분석가들은 IT 부서의 60%에서 80%가 서버 통합 프로젝트를 추진하고 있다고 말한다. 이유는 간단하다. 비즈니스 애플리케이션을 지원하는 서버의 수와 종류를 줄이는 것은 회사 입장에서는 상당한 비용 절감 효과를 가져오기 때문이다.

서버 수를 줄이면 서버 자체의 전원 감소만이 아니라 데이터센터를 적정 온도를 유지하기 위한 항온시스템의 전력 사용도 줄여 준다. 그리고 서버 수가 적으면 관리하기도 쉽다.

업계 전문가들은 대부분의 기업이 애플리케이션 테스트와 개발 부문에서 가상화를 처음 도입하게 된다고 말한다. 가상화는 여러 운영체제를 한 서버에서 운영하도록 만든 정교한 시스템으로, 소프트웨어 개발자에게는 반드시 필요한 주류 툴로 빠르게 발전했다. 애플리케이션이 한 대의 운영체제에서 작동하는 경우는 아주 드물다. 가상화를 적용하면, 다양한 환경에서 동작하는 코드를 한 대의 워크스테이션에서 개발하고 테스트할 수 있다. 개발자에게는 더없이 큰 이점을 가져다 주는 것이다.

일단 애플리케이션 개발 부문에 만족스럽게 도입되고 나면, 컴퓨팅 리소스와 스토리지, 네트워크 통합 같은 상위의 작업에 관심을 기울이게 된다. 이외에 가상화의 중요한 특징으로는 고가용성, 재난 복구, 로드밸런싱이 있다.

비즈니스 상의 이익은 무엇인가?
잠재적인 비용 절감 이상으로 가상화는 조직의 비스니스에 활력을 불어넣을 수 있다. 클러스터링, 파티셔닝, 워크로드 관리를 지원하고, 가용 리소스 풀로 서버 그룹을 묶는 가상화는 비즈니스의 요구에 유연하게 대응할 수 있다.

또한 가상화는 IT 관리자가 갖고 있는 컴퓨팅 리소스에 대한 기본적인 생각을 변화시킨다. 개별 서버를 관리하는 시간이 절약이 되면, IT의 관심은 그 기술 자체에서 기술이 제공할 수 있는 서비스로 발전할 수 있기 때문이다.

다른 가상화 기술은 무엇이 있나?
가상화에는 3종류가 있다. 스토리지 가상화는 한 개의 스토리지 장치로 인식되도록 여러 종류의 네트워크 스토리지를 한 개의 가상 스토리지로 묶는 것이다. 네크워크 가상화는 대역폭을 특정 서버나 실시간 장치에 할당할 수 있는 독립 채널로 나누어 컴퓨팅 자원에 통합한다.

서버 가상화는 소프트웨어로부터 개별 서버와 프로세스, 운영체제를 포함한 서버 리소스의 물리적인 속성을 숨기는 것이다. 서버 가상화는 오늘날 가장 보편적으로 사용하는 방법으로, 대부분의 사람들이 "가상화"라는 단어를 사용할 때 서버 가상화를 생각한다.

가상화를 이루는 주요 개념은 무엇인가?

◇ 하이퍼바이저 :하이퍼바이저는 가장 기본적인 가상화 컴포넌트다. 물리적인 리소스로부터 운영체제와 애플리케이션을 분리해주는 소프트웨어로, 자체 커널을 가지고 있으며, 하드웨어에 직접 설치된다. 말 그래도 하드웨어와 운영체제 사이에 놓여 있는 것이다.

◇가상머신(Virtual Machine) :가상머신은 호스트 운영체제에 대해 독립적으로 작동하는 자체 내장 운영 환경으로, 컴파일된 코드를 실행하는 플fot폼 독립적인 소프트웨어를 말한다. 자바 가상머신의 경우 자바 기반 프로그램을 실행할 수 있다. VM은 운영체제에 독립적으로 동작하기 위해 특별하게 개발되어야 하는데, 동적 가상 머신 소프트웨어로 불리기도 한다.

◇초가상화(Paravirtualization) :초가상화는 전체 운영체제가 하이퍼바이저의 상층부에서 동작하면서 상호 간에 직접 커뮤니케이션을 하는 것을 말하는데, 일반적으로 더 나은 성능을 얻기 위해 사용한다. 하지만 상호 간의 밀접한 인터랙션을 위해 운영체제와 하이퍼바이저의 커널을 수정해야 한다. 초가상화된 리눅스 운영체제의 경우 가상 환경에 최적화되어 잇다. 반대로 전가상화는 물리적 리소스로 모든 요청을 가로채도록 추상화 계층을 만든다.

초가상화는 x86 아케텍처의 가상화된 서브셋에 기반을 두고 있다. 최근 인텔과 AMD가 프로세서의 기능을 확장해 운영체제를 수정하지 않고도 가상화 체계를 지원한다. 인텔의 칩 차원 가상화 기술인 밴더풀(Vanderpool)이 그 첫 번째 성과이며, AMD의 경우 퍼시피카(Pacifica)가 가상화를 돕는다. 이들은 단순한 가상화 코드보다 더 나은 성능을 내는 안전한 가상화 환경을 지원한다.

애플리케이션 가상화란 무엇인가?
애플리케이션 차원의 가상화는 다른 시스템을 방해하지 않고 재배치할 수 있는 독립적이고 유동적인 오브젝트로 소프트웨어 프로그램을 보호해 하드웨어나 운영체제로부터 분리해내는 것이다. 애플리케이션 가상화 기술은 운영체제의 애플리케이션 관련 변경을 최소화시키고 다른 프로그램과 호환성을 증가시킨다.

가상 어플라이언스란?
가상 어플라이언스는 이름과 달리 하드웨어의 일부가 아니다. 오히려 운영체제에 따라 미리 환경을 설정해 가상머신 내에 포함시켜둔 애플리케이션이라고 할 수 있다. 소프트웨어 설치와 설정 기능을 향상시키기 위해 VMWare와 같은 업체들이 소프트웨어 배포 방법으로 사용하기도 한다.

Xen이란 무엇인가?
Xen 프로젝트는 x86용 오픈소스 하이퍼바이저를 개발하기 위한 프로젝트다. GNU 정신 아래 2003년부터 Xen은 호스트 운영체제에서 동작하는 오픈소스 초가상화 기술이다. 캠브리지 대학의 연구 프로젝트로 시작된 이 프로젝트는 Xen 하이퍼바이저의 상용 버전을 출시한 첫 회사인 XenSource를 설립한 프랫(Pratt)이 주도했다. 현재 마이크로소프트, 노벨, IBM 같은 기업들이 Xen을 지원하고 있다. XenSource와 SAP의 버추얼 아이언은 Xen 기반의 가상화 솔루션을 공동 개발하고 있다.

가상화의 구체적인 비용 절감 효과는?
IT 부서는 자원 효율화란 이름으로 항상 적게 쓰라는 요구를 받고 있다. 가상화 기술은 공유 풀로 서로 다른 컴퓨팅 리소스를 모아서 사용함으로 눈에 보이는 효율성을 제공한다. 분석가들은 서버 성능의 5%에서 25% 정도를 효율화할 수 있다고 한다. 서버들은 대기 상태에서도 여전히 전기를 사용하는데, 데이터센터의 x86 서버를 가상화 기술로 통합하면, 절전 효과를 바로 볼 수 있고 지속적으로 전기료를 절감할 수 있다.

데이터센터의 서버 수 감소도 눈에 보이는 효과다. 서버 수의 감소는 확실한 절전효과로 이어진다. 서버만이 아니라 데이터센터의 적정 온도를 위한 항온 시설도 효율화할 수 있다.

서로 연결되지 않은 컴퓨팅 풀로 서버들을 모으면, 유틸리티 가격 모델의 변경과 구매 계획서의 하드웨어 투자 부분을 줄일 수 있다. 무엇보다 서버 가상화 전략은 서버를 공간의 효율성도 제공한다. 또한 쾌적한 데이터센터는 서버 관리자의 근무 의욕을 고취시킨다.

내가 찾는 가상화 솔루션은?
하드웨어로부터 애플리케이션을 분리하는 하이퍼바이저 기술은 고부가가치 제품을 평범한 것으로 만들어 버린다. 마이크로소프트나 HP 같은 거대 기업은 그들의 제품에 이를 포함시키려 할 것이고, 가상화 솔루션 업체들은 별도로 공급하려고 할 것이다. 이들 간의 차이는 가상화된 리소스를 관리하고 모니터링하면서 최적화 시키는 툴을 제공하는 능력에 있다. 물리적인 리소스를 적절하게 배분할 통계를 산출하기 위해 데이터를 모으고, 결정된 정책을 적용하기 쉬운 솔루션을 찾을 필요가 있다.

결론적으로, 가상화된 공간에서의 혁신은 퇴적물을 쌓이게 한다. 차세대 제품의 주요 기능은 관리 영역이다. VMWare 인프라스트럭처 스위트는 모든 것, 즉 서버, 스토리지, 네트워크를 한 리소스 풀에 담았다. VMWare ESX 서버와 같은 기업용 가상화 솔루션은 실제로는 연결되어 있지 않은 컴퓨팅 리소스 풀에 CPU와 메모리, 네트워킹, 스토리지, 애플리케이션을 모두 담아낸다.

가상화는 데이터센터의 서버 증설 같은 물리적인 요구를 줄이는 방향으로 가고 있지만, 이로 인해 서버 관리의 복잡성도 생겨나고 있다. 따라서 가상머신과 물리적 시스템을 모두 관리하기 위한 솔루션을 찾을 필요가 있다.

대부분의 기업은 현재 사용 중인 기본 애플리케이션과 운영체제를 수정없이 가상 파티션으로 옮겨 가기를 원한다. 이 마이그레이션을 위해 애플리케이션 성능 향상과 기본 관리 툴, 그리고 통합을 지원하는 단일 솔루션이 필요하다.

가상화는 더 이상 서버의 통합만이 아니다. 유연성은 가상화 기술이 가져다 주는 또 다른 혜택이다. 가상화된 환경에서는 움직이거나 통합하고 최적화하는 것이 더 쉽다. 현재 주요 가상화 솔루션 업체들은 서비스 중단없는 실시간 마이그레이션을 지원한다.



2008.06.29

가상화의 이해 : 가상화 기술 ABC

John K. Waters | CIO
가상화는 컴퓨터 하드웨어 시스템과 그 서버 상에서 돌고 있는 애플리케이션 사이에 추상적인 층을 추가하는 기술을 말한다. 한 서버에서 여러 운영체제를 동시에 운영할 수 있도록 해주는 가상화 기술은 물리적이 아니라 논리적으로 컴퓨터 자원을 사용한다. 여러 대의 서버의 자원을 모아 하나의 리소스 풀로 통합한다고 생각하면 된다.

가상화는 한 대의 물리적인 서버를 복수의 논리적인 서버로 분리하는 파티션에 그 기반을 두고 있다. 일단 물리적인 서버가 파티션으로을 분리되면 각 논리 서버에는 운영체제와 애플리케이션이 독립적으로 운영된다. 1990년대 가상화는 메인프레임에 단말기로 접속하는 엔드 유저 환경에 사용된 기술이다. 만일 IT 관리자가 새로운 소프트웨어를 도입하려고 할 때, 윈도우 NT나 리눅스 운영체제를 설치한 각각의 서버가 필요하다.

X86 아키텍처를 기반으로 한 값싼 PC의 등장으로 가상화는 메인프레임과 함께 사라져 갔다. 현재 선도업체인 VMWare는 x86 기반의 신뢰할 만한 가상화 기술을 되살렸다는 평가를 받고 있다. VMWare는 1990년대에 x86 아키텍처을 위한 최초의 하이퍼바이저 기술로 최근 일고 있는 가상화 붐의 개척자로 자리잡고 있다.

가상화 기술은 왜 필요한가?
가상화 기술에 대한 업계의 반응은 뜨겁다. 반드시 도입해야 하는 기술로 자리잡고 있는 것이다. 새로운 업체들이 시장에 진입하고, 기업 소프트웨어 공급업체들은 자사 제품군에 가상화 제품을 추가하고 있다. 가상화가 생각보다 기업에게 가져다 주는 이익이 크기 때문이다.

서버 통합은 현 시장에서 아주 매력적 주제다. 가상화는 그 기술을 선택하는 회사의 예산을 대폭 절감할 수 있도록 해준다. 업계 분석가들은 IT 부서의 60%에서 80%가 서버 통합 프로젝트를 추진하고 있다고 말한다. 이유는 간단하다. 비즈니스 애플리케이션을 지원하는 서버의 수와 종류를 줄이는 것은 회사 입장에서는 상당한 비용 절감 효과를 가져오기 때문이다.

서버 수를 줄이면 서버 자체의 전원 감소만이 아니라 데이터센터를 적정 온도를 유지하기 위한 항온시스템의 전력 사용도 줄여 준다. 그리고 서버 수가 적으면 관리하기도 쉽다.

업계 전문가들은 대부분의 기업이 애플리케이션 테스트와 개발 부문에서 가상화를 처음 도입하게 된다고 말한다. 가상화는 여러 운영체제를 한 서버에서 운영하도록 만든 정교한 시스템으로, 소프트웨어 개발자에게는 반드시 필요한 주류 툴로 빠르게 발전했다. 애플리케이션이 한 대의 운영체제에서 작동하는 경우는 아주 드물다. 가상화를 적용하면, 다양한 환경에서 동작하는 코드를 한 대의 워크스테이션에서 개발하고 테스트할 수 있다. 개발자에게는 더없이 큰 이점을 가져다 주는 것이다.

일단 애플리케이션 개발 부문에 만족스럽게 도입되고 나면, 컴퓨팅 리소스와 스토리지, 네트워크 통합 같은 상위의 작업에 관심을 기울이게 된다. 이외에 가상화의 중요한 특징으로는 고가용성, 재난 복구, 로드밸런싱이 있다.

비즈니스 상의 이익은 무엇인가?
잠재적인 비용 절감 이상으로 가상화는 조직의 비스니스에 활력을 불어넣을 수 있다. 클러스터링, 파티셔닝, 워크로드 관리를 지원하고, 가용 리소스 풀로 서버 그룹을 묶는 가상화는 비즈니스의 요구에 유연하게 대응할 수 있다.

또한 가상화는 IT 관리자가 갖고 있는 컴퓨팅 리소스에 대한 기본적인 생각을 변화시킨다. 개별 서버를 관리하는 시간이 절약이 되면, IT의 관심은 그 기술 자체에서 기술이 제공할 수 있는 서비스로 발전할 수 있기 때문이다.

다른 가상화 기술은 무엇이 있나?
가상화에는 3종류가 있다. 스토리지 가상화는 한 개의 스토리지 장치로 인식되도록 여러 종류의 네트워크 스토리지를 한 개의 가상 스토리지로 묶는 것이다. 네크워크 가상화는 대역폭을 특정 서버나 실시간 장치에 할당할 수 있는 독립 채널로 나누어 컴퓨팅 자원에 통합한다.

서버 가상화는 소프트웨어로부터 개별 서버와 프로세스, 운영체제를 포함한 서버 리소스의 물리적인 속성을 숨기는 것이다. 서버 가상화는 오늘날 가장 보편적으로 사용하는 방법으로, 대부분의 사람들이 "가상화"라는 단어를 사용할 때 서버 가상화를 생각한다.

가상화를 이루는 주요 개념은 무엇인가?

◇ 하이퍼바이저 :하이퍼바이저는 가장 기본적인 가상화 컴포넌트다. 물리적인 리소스로부터 운영체제와 애플리케이션을 분리해주는 소프트웨어로, 자체 커널을 가지고 있으며, 하드웨어에 직접 설치된다. 말 그래도 하드웨어와 운영체제 사이에 놓여 있는 것이다.

◇가상머신(Virtual Machine) :가상머신은 호스트 운영체제에 대해 독립적으로 작동하는 자체 내장 운영 환경으로, 컴파일된 코드를 실행하는 플fot폼 독립적인 소프트웨어를 말한다. 자바 가상머신의 경우 자바 기반 프로그램을 실행할 수 있다. VM은 운영체제에 독립적으로 동작하기 위해 특별하게 개발되어야 하는데, 동적 가상 머신 소프트웨어로 불리기도 한다.

◇초가상화(Paravirtualization) :초가상화는 전체 운영체제가 하이퍼바이저의 상층부에서 동작하면서 상호 간에 직접 커뮤니케이션을 하는 것을 말하는데, 일반적으로 더 나은 성능을 얻기 위해 사용한다. 하지만 상호 간의 밀접한 인터랙션을 위해 운영체제와 하이퍼바이저의 커널을 수정해야 한다. 초가상화된 리눅스 운영체제의 경우 가상 환경에 최적화되어 잇다. 반대로 전가상화는 물리적 리소스로 모든 요청을 가로채도록 추상화 계층을 만든다.

초가상화는 x86 아케텍처의 가상화된 서브셋에 기반을 두고 있다. 최근 인텔과 AMD가 프로세서의 기능을 확장해 운영체제를 수정하지 않고도 가상화 체계를 지원한다. 인텔의 칩 차원 가상화 기술인 밴더풀(Vanderpool)이 그 첫 번째 성과이며, AMD의 경우 퍼시피카(Pacifica)가 가상화를 돕는다. 이들은 단순한 가상화 코드보다 더 나은 성능을 내는 안전한 가상화 환경을 지원한다.

애플리케이션 가상화란 무엇인가?
애플리케이션 차원의 가상화는 다른 시스템을 방해하지 않고 재배치할 수 있는 독립적이고 유동적인 오브젝트로 소프트웨어 프로그램을 보호해 하드웨어나 운영체제로부터 분리해내는 것이다. 애플리케이션 가상화 기술은 운영체제의 애플리케이션 관련 변경을 최소화시키고 다른 프로그램과 호환성을 증가시킨다.

가상 어플라이언스란?
가상 어플라이언스는 이름과 달리 하드웨어의 일부가 아니다. 오히려 운영체제에 따라 미리 환경을 설정해 가상머신 내에 포함시켜둔 애플리케이션이라고 할 수 있다. 소프트웨어 설치와 설정 기능을 향상시키기 위해 VMWare와 같은 업체들이 소프트웨어 배포 방법으로 사용하기도 한다.

Xen이란 무엇인가?
Xen 프로젝트는 x86용 오픈소스 하이퍼바이저를 개발하기 위한 프로젝트다. GNU 정신 아래 2003년부터 Xen은 호스트 운영체제에서 동작하는 오픈소스 초가상화 기술이다. 캠브리지 대학의 연구 프로젝트로 시작된 이 프로젝트는 Xen 하이퍼바이저의 상용 버전을 출시한 첫 회사인 XenSource를 설립한 프랫(Pratt)이 주도했다. 현재 마이크로소프트, 노벨, IBM 같은 기업들이 Xen을 지원하고 있다. XenSource와 SAP의 버추얼 아이언은 Xen 기반의 가상화 솔루션을 공동 개발하고 있다.

가상화의 구체적인 비용 절감 효과는?
IT 부서는 자원 효율화란 이름으로 항상 적게 쓰라는 요구를 받고 있다. 가상화 기술은 공유 풀로 서로 다른 컴퓨팅 리소스를 모아서 사용함으로 눈에 보이는 효율성을 제공한다. 분석가들은 서버 성능의 5%에서 25% 정도를 효율화할 수 있다고 한다. 서버들은 대기 상태에서도 여전히 전기를 사용하는데, 데이터센터의 x86 서버를 가상화 기술로 통합하면, 절전 효과를 바로 볼 수 있고 지속적으로 전기료를 절감할 수 있다.

데이터센터의 서버 수 감소도 눈에 보이는 효과다. 서버 수의 감소는 확실한 절전효과로 이어진다. 서버만이 아니라 데이터센터의 적정 온도를 위한 항온 시설도 효율화할 수 있다.

서로 연결되지 않은 컴퓨팅 풀로 서버들을 모으면, 유틸리티 가격 모델의 변경과 구매 계획서의 하드웨어 투자 부분을 줄일 수 있다. 무엇보다 서버 가상화 전략은 서버를 공간의 효율성도 제공한다. 또한 쾌적한 데이터센터는 서버 관리자의 근무 의욕을 고취시킨다.

내가 찾는 가상화 솔루션은?
하드웨어로부터 애플리케이션을 분리하는 하이퍼바이저 기술은 고부가가치 제품을 평범한 것으로 만들어 버린다. 마이크로소프트나 HP 같은 거대 기업은 그들의 제품에 이를 포함시키려 할 것이고, 가상화 솔루션 업체들은 별도로 공급하려고 할 것이다. 이들 간의 차이는 가상화된 리소스를 관리하고 모니터링하면서 최적화 시키는 툴을 제공하는 능력에 있다. 물리적인 리소스를 적절하게 배분할 통계를 산출하기 위해 데이터를 모으고, 결정된 정책을 적용하기 쉬운 솔루션을 찾을 필요가 있다.

결론적으로, 가상화된 공간에서의 혁신은 퇴적물을 쌓이게 한다. 차세대 제품의 주요 기능은 관리 영역이다. VMWare 인프라스트럭처 스위트는 모든 것, 즉 서버, 스토리지, 네트워크를 한 리소스 풀에 담았다. VMWare ESX 서버와 같은 기업용 가상화 솔루션은 실제로는 연결되어 있지 않은 컴퓨팅 리소스 풀에 CPU와 메모리, 네트워킹, 스토리지, 애플리케이션을 모두 담아낸다.

가상화는 데이터센터의 서버 증설 같은 물리적인 요구를 줄이는 방향으로 가고 있지만, 이로 인해 서버 관리의 복잡성도 생겨나고 있다. 따라서 가상머신과 물리적 시스템을 모두 관리하기 위한 솔루션을 찾을 필요가 있다.

대부분의 기업은 현재 사용 중인 기본 애플리케이션과 운영체제를 수정없이 가상 파티션으로 옮겨 가기를 원한다. 이 마이그레이션을 위해 애플리케이션 성능 향상과 기본 관리 툴, 그리고 통합을 지원하는 단일 솔루션이 필요하다.

가상화는 더 이상 서버의 통합만이 아니다. 유연성은 가상화 기술이 가져다 주는 또 다른 혜택이다. 가상화된 환경에서는 움직이거나 통합하고 최적화하는 것이 더 쉽다. 현재 주요 가상화 솔루션 업체들은 서비스 중단없는 실시간 마이그레이션을 지원한다.



X