[클라우드 서비스] OSS 기반의 가상화 기술

2010. 9. 13. 10:01
번역beta Translated by kaka i
글자크기 설정 파란원을 좌우로 움직이시면 글자크기가 변경 됩니다.

이 글자크기로 변경됩니다.

(예시) 가장 빠른 뉴스가 있고 다양한 정보, 쌍방향 소통이 숨쉬는 다음뉴스를 만나보세요. 다음뉴스는 국내외 주요이슈와 실시간 속보, 문화생활 및 다양한 분야의 뉴스를 입체적으로 전달하고 있습니다.

클라우드 서비스는 개인이나 기업이 컴퓨팅 자원을 직접 소유하는 것이 아니라 마치 전기나 수도처럼 서비스 제공 처로부터 필요할 때에 원하는 만큼 사용하고 그 만큼의 비용을 지불하는 구조이다. 이러한 IT 자원의 서비스화를 실현하기 위해서 필수적인 기술이 가상화(Virtualization)이다.

메인프레임 시대로 거슬러 올라가는 가상화 기술은 이후 H/W 및 S/W 기술의 변화에 따라 빠른 속도로 발전해 오고 있으며, VMWare와 같은 상용 솔루션은 최근 클라우드 컴퓨팅의 급속한 확산에 힘입어 시장을 지배 세력으로 떠오르고 있다.

그러나 비용절감 및 호환성 등의 관점에서 주목 받고 있는 오픈소스 소프트웨어(OSS: Open Source Software) 기반의 솔루션들도 점점 완성도와 안정성이 높아지면서 기술 및 비즈니스 발전의 중요한 한 축을 형성해 가고 있다. OSS는 TCO (Total Cost of Ownership, 총 소유 비용)의 절감을 통한 경제성, 신규 서비스 개발의 유연성, 커스터미아징의 용이성, 특정 벤더에 대한 종속성 탈피 등의 장점들로 인해 다양한 IT 분야에서 도입되고 있으며 클라우드 서비스의 가상화 기술 분야에서도 상호운용성과 기술 내재화 측면에서 점점 그 중요성이 커지고 있다.

가상화 기술은 실재 존재하는 물리적 자원들을 논리적 자원들의 형태로 표시하는 기술로서, 물리적 자원을 이용하는 사용자에게는 논리적 형태로만 나타난다. 가상화라는 중간계층이 응용 계층과 실제 H/W 자원을 분리시켜 줌으로써 사용자들은 복잡한 H/W 구성을 직접 제어할 필요 없이 IT 자원을 공유하거나 분할하여 사용할 수 있게 되었다. 가상화 기술에는 시스템의 레이어 별로 하드웨어 가상화에서부터 OS 가상화, 애플리케이션 가상화, 관리 가상화 등이 있으며, 가상화가 적용되는 물리적인 범위에 따라 서버 가상화, 스토리지 가상화, 네트워크 가상화 등으로도 분리될 수 있다.

서버 가상화란 하나의 서버에서 여러 개의 어플리케이션 및 미들웨어 그리고 운영체제가 동시에 서로 독립적으로 구동되는 것을 말한다. 초기에는 가상 메모리, 가상 I/O, 에뮬레이터 등이 포함되었으나 이 후에는 어플리케이션 및 서브 시스템 가상화로 발전되어 왔다. 서버 가상화 기술의 대표적인 예로는 1)Managed Runtime 기술 2)파티셔닝 기술 3)가상 I/O 기술 4)가상 머신(Virtual Machine) 기술 등을 들 수 있다. 하드웨어 위에서 여러 가상 머신을 구동시키는 중간 계층을 VMM (Virtual Machine Monitor) 혹은 하이퍼바이저 (Hypervisor)라 하는데, 클라우드 플랫폼 등 현재 가장 널리 보급되어 있는 가상화 솔루션이기도 하다. 하이퍼바이저를 기반으로 하는 서버 가상화는 크게 전가상화(Full Virtualization ) 기술과 반가상화(Para Virtualization) 기술로 나눌 수 있다.

반가상화란 가상머신과 H/W 사이에 하이퍼바이저가 있어 모든 제어를 중간에서 담당하는 기술이다. 하이퍼바이저가 H/W 제어를 하기 때문에 높은 성능이 유지될 수 있으나 게스트 OS의 커널 일부를 수정해야 하는 단점이 있다. 이러한 반가상화 기술의 대표적인 것으로 Xen이 있다.

캠브리지 대학의 연구 프로젝트로 시작한 Xen은 IA-32, x86-64, Itanium and PowerPC 970 계열 아키텍쳐의 VMM이다. 게스트 OS의 커널 내부를 수정하여 하이퍼바이저와 통신하도록 하고, HW의 제어는 이 하이퍼바이저를 통해서 이루어지는, 이른바 반가상화 기술이다. 현재 Xen은 Linux, BSD, Opensolaris 등 오픈 소스 계열은 Host 및 Guest OS 모두 지원하지만 MS Windows 계열 OS는 Guest OS로만 가능하며 이 또한 하드웨어 사양이 Intel-VT 나 AMD-V CPU 인 경우에 한한다

전가상화란 물리적인 가상화 지원 기능 (CPU의 Virtual Technology)을 이용하여 하드웨어를 완전히 가상화하는 기술로서, 가상머신에서 돌아가는 게스트 OS (Guest OS)를 수정할 필요가 없다는 장점이 있으나 성능이 떨어진다는 문제가 있다. 대표적으로 신생 벤처 쿰라넷이 지원하는 오픈 소스 프로젝트인 KVM(Kernel Based Virtual Machine) 있다.

KVM은 Intel VT-x 및 AMD-V 기술을 이용하여 리눅스 커널 모듈을 메모리에 올리는 방식을 취하는데, 이로써 리눅스 커널을 하이퍼바이저로 변경하게 된다. 새롭게 추가된 커널 모듈은 커널의 Guest Mode를 활성화시키기 위해 /dev/kvm 이라는 디바이스를 노출시키며 이를 통해 개별 VM들은 독립적인 주소를 확보하게 된다. 기본적으로 디바이스 트리(/dev)에 속해있는 디바이스 들은 모든 사용자 프로세스들에 공통으로 노출되며 사용되나, /dev/kvm은 독립적인 VM 구동을 위하여 이 디바이스를 여는 개별 프로세스 마다 서로 다른 내용을 보여준다는 점에서 그 차이가 있다. 현재 모든 Linux, BSD 계열의 및 MS Windows 계열, 그리고 최근에는 Mac OS X 까지 게스트 OS로 지원하고 있다.

다음, 스토리지 가상화는 가상화 기능을 제공하는 소프트웨어 또는 별도의 하드웨어 장비를 통하여 물리적인 이기종 스토리지 장치를 하나의 논리적인 가상화 스토리지 풀로 통합하여 관리하는 기술로, 필요에 따라 그때 그때 스토리지를 할당하여 사용할 수 있도록 한다. 스토리지 가상화 기술로는 대표적으로 1)펌웨어 단에서 물리적인 디스크 장치를 가상화 하는 방식 2)사용자로 하여금 원격 파일 시스템을 로컬 파일 시스템처럼 사용할 수 있도록 하는 파일 시스템 가상화 방식 3)이기종 서버간 하나의 파일명으로 접근이 가능하도록 하는 파일 가상화 방식 4) 디스크를 이용하여 테이프 드라이버 인 것처럼 에뮬레이션 하는 테이프 가상화 방식 등이 있다.

네트워크 가상화란 서버 가상화와 마찬가지로 다수의 물리적 자원을 하나의 논리적 장치로 사용하거나 반대로 하나의 물리적 자원을 복수의 서로 다른 용도로 분할하는 것을 말한다 가상화 가능한 네트워크 자원들에는 IP 어드레스, 네트워크 어댑터, LAN, 대역폭 관리 등이 포함된다. 네트워크 가상화 기술은 서버의 가상화 역량을 지원하거나 보완하는 데에도 필요하며 네트워크 자원의 공유 혹은 폴링 등에 사용되어 시스템 가상화를 가능케 한다.

네트워크 자원의 공유를 가능하게 하는 기술들로는 1) 가상LAN (VLAN) 기술 2) 가상사설망(VPN) 기술 3)가상 IP 할당 기술 4) 네트워크 어댑터 가상화 기술 등이 있다. 가상화 중 단일화 기술을 이용하여 사용자로 하여금 네트워크 요소들을 하나로 묶어서(풀링) 사용하게끔 하는 기술들에는 1) 여러 대의 애플리케이션 서버들을 마치 하나의 단일 애플리케이션 서버 또는 인스턴스처럼 보이게 해주는 IP 로드 밸런싱 기술 2) 다수의 애플리케이션 네트워크 연결을 연관된IP 어드레스로 이동시킴으로써 동일한 인스턴스로 보이게 해주는 네트워크 어댑터 가상화 기술 등이 있다. 이 외에도 어플리케이션 수준에서의 에뮬레이션이나 여러 형태의 네트워크에 특화된 기능들을 하나로 묶어서 하나의 어플리케이션 형태로 제공되는 가상 네트워크 어플라이언스 기술도 발전을 계속하고 있다

서버 가상화 기술, 스토리지 가상화 기술, 그리고 네트워크 가상화 기술을 기반으로 한 서비스를 제공하는 인프라 클라우드 컴퓨팅 서비스 (IaaS)의 상용화를 이끄는 또 하나의 기술적인 축이 바로 Management Stack의 발전이다 현재 다양한 솔루션들이 공개되었거나 개발 중에 있는데 이 중 오픈 소스 계열의 Eucalyptus, OpenNebula, OpenStack 등이 향후 인프라 가상화 분야에서 핵심적인 역할을 할 것으로 예상된다.

먼저, Eucalyptus(Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems)는 Linux기반의infrastructure에서 IaaS-style cloud computing을 management하는 소프트웨어 플랫폼으로 컴퓨터 클러스터 팜을 이용해서 탄력적이고 유용하게 클라우드 컴퓨팅을 구현하고자 하는 목표로 UCSB(University of California, Santa Barbara)의 전산학과에서 HPC(High Performance Computer)라는 이름의 연구 프로젝트로 시작되었으며, Eucalyptus systems Inc.에서 최근에 상업화하여 지속적인 open source로서 유지, 개발이 진행되고 있다. Eucalyptus의 대표적인 특징으로는 1) SOAP 및 REST 기반으로 Amazon의 EC2, S3, EBS등 클라우드 서비스와 호환성을 가진다 2) VMware, Xen 및 KVM 등의 하이퍼바이저를 지원한다 3) 웹 기반의 클라우드 configuration을 위한 인터페이스를 지원한다 4) 시스템 사용자의 용도에 따라 계층구조 혹은 peer to peer의 구조화가 가능하다 등을 들 수 있다.

OpenNebula는 Universidad Complutense de Madrid의 DSA-research Group에서 시작된 오픈 소스 기반의 IaaS Management 툴킷으로 다양한 종류의 네트워크 및 스토리지 솔루션과의 통합이 가능하며, private, public, 그리고 Hybrid등 모든 형태의 클라우드 구축이 가능하다. OpenNebula의 특징으로는 1) 모든 형태의 클라우드 구조화가 가능하다 2) Apache 라이센스 기반의 유연성과 확정성을 가지는 오프 소스 툴킷을 제공한다 3) Amazon AWS, OGC OCCI, VMware vCloud와 연동이 가능한 공통 인터페이스를 제공한다 4) 어떤 형태의 데이터 센터와도 연동 가능한 인터페이스와 컴포넌트를 제공한다 5) Xen, KVM, Vmware의 하이퍼바이저를 지원한다 등을 들 수 있다.

OpenStack은 RackSpace와 NASA라는 클라우드 컴퓨팅 분야의 두 리더가 추축이 되어 만들어진 협력 소프트웨어 프로젝트로서 클라우드 제공자나 사용자 모두에게 이득이 되는 기반 기술을 만들어 IaaS Cloud 표준화를 주도하는 것을 목표로 하고 있다. OpenStack 내에서 IaaS cloud Management를 위한 Nova와 오브젝트 스토리지 서비스를 제공하게 될 swift 라는 두 개의 하위 프로젝트가 진행 중이다. 이 중 Nova는 OpenStack에서 IaaS 시스템의 컴퓨팅 부분으로서 기업용의 대규모 클라우드 인스턴스를 배포 및 프로비저닝 할 수 있도록 하고 이에 대한 관리 제어 기능을 포함하고 있다. NASA의 오픈소스 클라우드 시스템인 Nebula에 적용되었던 기술을 기초로 개발이 진행 중에 있다. 그리고 Swift는 대표적인 클라우드 스토리지 서비스 업체인 Rackspace의 핵심 기술을 그대로 오픈소스화 한 것으로, Amazon의 S3 서비스와 유사한 오브젝트 스토리지 서비스를 제공하게 되며 올해 9월에 최초의 배포 판이 공개될 예정이다.

OSS(Open Source Software)는 소스코드를 공개해 누구나 사용할 수 있는 소프트웨어로 비용 절감 효과 등의 장점으로 주목 받고 있다. 엑센츄어의 '09년 조사 결과에 의하면 OSS 사용시 상용 솔루션보다 70~90%의 서비스 개발 비용 및 라이센스, 유지보수 비용 절감 가능하다고 한다. 클라우드 서비스의 가상화 기술 분야에서도 이러한 OSS의 장점들에 주목하여 OSS 기반의 솔루션 개발 및 도입이 중요하게 다루어지고 있다. 가상화 기술의 개발 및 솔루션 도입은 기업의 입장에서 TCO 절감을 통한 경제성, 신규 서비스 개발의 유연성, 커스터마이징 용이성, 특정 솔루션의 종속성 탈피 등의 일반적인 OSS의 장점에 더불어, 상호운용성과 기술내재화 측면에서 더욱 선호되고 있다.

클라우드 서비스의 핵심에는 가상화 기술이 자리잡고 있으며 이는 놀라운 속도로 발전하고 있다. 지금까지는 VMWare 와 같은 상용 제품, 솔루션을 제공하는 회사가 시장을 지배하고 있으나 위에서 살펴본 바, 오픈소스 소프트웨어 진영에서도 기술 개발 및 안정화를 활발하게 진행하고 있으며, 클라우드 서비스의 성패를 가른다고 평가되는 클라우드 eco-system 구축의 관점에서 볼 때도 개방과 표준의 기치를 내세우는 오픈소스 진영이 경쟁력을 가질 것으로 보며, 이러한 비즈니스 기회를 잡기 위해 세계의 기술 주도 기업들은 이미 오픈소스 커뮤니티에 적극적으로 참여하고 있으며 이는 국내 기업들에게도 자극제가 되고 있다.

[자료제공 : KT]

[ⓒ 매일경제 & mk.co.kr, 무단전재 및 재배포 금지

MBA도 모바일로 공부한다.

Copyright © 매일경제 & mk.co.kr. 무단 전재, 재배포 및 AI학습 이용 금지