[cloud] 가상화 기술

가상화 기술

호스트 가상화

하드웨어 위에 기본이 되는 호스트 운영체제를 설치하고, 호스트 운영체제에 가상화 sw를 설치한다. 그리고 가상화 sw위에 게스트 운영체제를 설치한다.

가상화 소프트웨어를 설치하여 손쉽게 가상환경의 구축이 가능하지만 호스트 운영체제 위에 게스트 운영체제를 작동시키기 때문에 필요 이상으로 cpu나 메모리 사용이 증가하는 오버헤드가 발생

하이퍼바이저 가상화

하드웨어 자체에 가상화를 전담하는 sw인 하이퍼바이저를 배치해 hw와 가상 환경을 제어한다. 호스트 운영체제가 없는 hw를 직접 제어하기 때문에 컴퓨팅 자원의 효율적인 사용이 가능하다. 하지만 환경 별로 다른 운영체제가 작동하기 때문에 가상 환경을 사용하기 위한 오버헤드가 발생.

많이 사용하는 VMware의 VMware ESXi, VMware 워크스테이션, VMware 플레이어 등의 VMware 솔루션들이나 시트릭스의 젠서버, MS의 Hyper-V 등에서 하이퍼바이저 기반의 가상화 기술을 사용.

컨테이너 가상화

호스트, 하이퍼바이저 가상화처럼 운영체제를 여러개 가동시키면 이것만으로도 많은 자원이 필요하다.

운영체제에 논리적인 영역(컨테이너)를 만들고 애플리케이션을 작동하는 데 필요한 라이브러리, 애플리케이션등을 컨테이너 안에 넣어 마치 개별 서버처럼 사용할 수 있는것이 컨테이너 가상화.

컨테이너는 시스템 자체를 가상화하는 것이 아닌 어플리케이션을 구동할 수 있는 환경 자체를 가상화하는 기법.

하이퍼바이저를 통한 가상화 방식의 경우 CPU, 메모리, 디스크는 물론이고 그 안에 돌아가는 OS와 각종 라이브러리까지 다 독립적으로 구분되어 운영되지만, 컨테이너의 경우 새로운 시스템 위에서 작동하며 어플리케이션에 필요한 부분만 독립공간으로 내준다고 생각하기.

하이퍼바이저와 컨테이너 가상화 방식의 차이

참조:
  https://blog.skhynix.com/1317