가상화 기술 | 도커

가상 환경을 만들기 위해서는 기본이 되는 하드웨어에 OS(호스트OS)를 설치하고 그 위에 가상화 소프트웨어를 올린 뒤, 게스트OS를 구동시킨다([그림 1]). 가상화 소프트웨어를 사용하면 한 대의 하드웨어에 여러 OS를 가상으로 구동시키거나 파기할 수 있다.

[그림 1] 호스트 가상화 구성


최근 가장 많이 사용되고 있는 대표적인 가상화 기술은 다음의 세 가지다.


● 호스트 가상화

● 하이퍼바이저 가상화

● 컨테이너 가상화


각 가상화 기술의 특징과 구조를 다음에서 설명한다.


호스트 가상화

하드웨어 위에 베이스가 되는 호스트OS를 설치하고 그 위에 가상화 소프트웨어를 설치한 뒤 게스트OS를 구동하는 가상화 기술이다( 그림2-5 ). 가상화 소프트웨어를 설치하여 간편하게 가상환경을 구축할 수 있기 때문에 개발 환경 구축에 많이 사용된다. 하지만 호스트OS 상에서 게스트 OS가 동작하기 때문에 오버헤드가 클 수밖에 없다.

[그림 2] 호스트 가상화


다양한 호스트 가상화 소프트웨어 중 하나로 Oracle의 Oracle VM VirtualBox가 있다. VirtualBox는 Java로 유명한 Sun Microsystems이 개발한 데스크톱용 오픈소스 가상화 소프트웨어로 지금은 Sun을 인수한 Oracle에서 릴리스되고 있다. 또한 VMWare의 VMWare Player 등도 있다.


Oracle VM VirtualBox | https://www.virtualbox.org
VMWare Player | https://www.vmware.com/kr


하이퍼바이저 가상화

하드웨어 위에 가상화 전문 소프트웨어인‘ 하이퍼바이저’를 설치하고 하드웨어와 가상 환경을 제어한다. 대표적인 하이퍼바이저에는 Microsoft Windows Server의 Hyper-V와 Citrix의 XenServer 등이 있다. 클라우드 서비스인 Amazon Web Services의 가상 서버 기능을 제공하는 Amazon Elastic Compute Cloud(Amazon EC2)는 Xen을 기반으로 구축되어 있다.


호스트OS 없이 하드웨어를 직접 제어하기 때문에 효율적으로 리소스를 사용할 수 있다([그림 3]). 단, 가상 환경별로 OS가 동작하기 때문에 가상 환경 동작에 걸리는 오버헤드가 클 수 있다. 하이퍼바이저는 펌웨어로 설치되는 경우가 많으며 제품과 기술에 따라 여러 가지 방식이 있다.


Hyper-V | https://technet.microsoft.com/ko-kr/library/cc770901.aspx
XenServer | http://www.citrix.co.kr/products/xenserver/overview.html

[그림 3] 하이퍼바이저 가상화



컨테이너 가상화

호스트 가상화, 하이퍼바이저 가상화는 가상화 소프트웨어를 통해 OS와 하이퍼바이저 위에서 또 다른 OS를 여러 개 구동시키며 그 자체로 많은 리소스를 필요로 한다. 때문에 호스트OS상에서 논리적으로 구역(컨테이너)을 나눠 애플리케이션 동작을 위한 라이브러리와 애플리케이션 등을 컨테이너 안에 넣고, 개별 서버처럼 사용하는 것이 컨테이너 가상화이다([그림 4]). 컨테이너 가상화는 오버헤드가 적어 가볍고 빠른 것이 특징이다.

[그림 4] 컨테이너 가상화


Docker는 컨테이너 가상화 기술을 사용하기 때문에 다른 가상화에 비해 가볍고 빠르게 동작하는 것이 특징이다. 사용한 리소스 양만큼 요금이 부과되는 IaaS 등의 클라우드 서비스는 시스템 비용 절감에도 도움이 된다.




완벽한 IT 인프라 구축을 위한 Docker

작가 | Asa Shiho

출판 | 정보문화사

Follow
4.7 Star App Store Review!
Cpl.dev***uke
The Communities are great you rarely see anyone get in to an argument :)
king***ing
Love Love LOVE
Download