위로 아래

VM

VM (Virtual machine)

하이퍼바이저를 이용해 하드웨어 자원을 가상화하는 방식 또는 결과물

 

 

하이퍼바이저 종류

  1. Native Hypervisor
    1. Full Virtualization
    2. Para Virtualization
  2. Hosted Hypervisor

 

가상화 종류

  1. VM
  2. Container

 

 

 

 


Hypervisor

하이퍼바이저

  1. 가상 머신을 생성하고 구동하는 소프트웨어
  2. 호스트 시스템에서 다수의 OS를 구동하게 해주는 소프트웨어
  3. 하드웨어와 각각의 VM을 모니터링하는 중간 관리자 역할

 

하는 일

  1. 호스트(물리적인 서버) 위에 설치되어 가상머신을 생성
  2. 가상 머신에게 컴퓨팅 리소스를 할당
  3. 가상 머신들이 물리적인 리소스를 공유하면서 독립적으로 동작할 수 있도록 지원

 

유형

  1. Bare-metal Hypervisor
  2. Hosted Hypervisor

 

 

 

 


Native Hypervisor

bare-metal Hypervisor

 

  1. 하이퍼바이저가 하드웨어 바로 위에서 실행되는 방식
  2. 호스트 OS 없이 하드웨어에 바로 하이퍼바이저를 올려서 사용하는 방식
  3. 하이퍼바이저가 하드웨어를 직접 제어하기 때문에 자원을 효율적으로 사용할 수 있다
  4. 장점 : 별도의 호스트 OS가 없으므로 오버헤드가 적다
  5. 단점 : 여러 하드웨어 드라이버를 세팅해야하므로 설치가 까다롭다
  6. 예시 : Mware ESXi, Microsoft Hyper-V, Citrix Hypervisor

 

 

 

전가상화 (Full Virtualization)

  1. 하드웨어를 완전히 가상화하는 방식
  2. 게스트 OS에서 하드웨어의 자원을 사용하기 위해선 반드시 하이퍼바이저의 중계 필요
  3. DOM0(관리용 가상 머신)을 통해 모든 가상머신(게스트OS)가 하드웨어에 접근한다

 

반가상화 (Para Virtualization)

  1. 하드웨어를 완전히 가상화하지는 않음
  2. 게스트 OS의 커널을 일부 수정해 하드웨어와 직접 인터랙션 할 수 있음
  3. 게스트 OS가 Windows일 경우에는 별도의 Tool이 필요함

 

 

 


Hosted Hypervisor

Hosted Hypervisor

  1. 호스트 OS에서 하이퍼바이저 소프트웨어를 실행하고 가상 머신을 관리
  2. 게스트 OS에 대한 제약이 없다
  3. 데스크톱, 노트북 상관 없이 운영이 가능하다
  4. 하이퍼바이저에 의해 구동되는 VM들은 각각의 독립된 가상 자원을 할당 받는다
  5. 예시 : VMware Workstation, Oracle Virtual Box 

 

 

 

 


Container

컨테이너

  1. 하이퍼바이저 기반의 가상화에서 컨테이너 기반의 가상화로 기술이 발전하는 중
  2. 애플리케이션 실행에 필요한 라이브러리와 바이너리, 기타 구성 파일을 이미지 단위로 빌드하여 패키지로 배포
  3. 실행에 필요한 모든 환경을 묶어서 배포한다
  4. 어떤 환경에서도 애플리케이션을 오류 없이 동작시킬 수 있다
  5. 컨테이너 하나는 하이퍼바이저와 게스트 OS가 필요 없어서 더 가볍다 (컨테이너 엔진 자체는 무거울 것..)