그외

hypervisor의 종류

데굴데굴. 2018. 11. 1. 14:03

클라우드에 대해서 공부하면서 hypervisor에 대해서 공부하게 되었다.



하이퍼바이저는 크게 Type 1과 Type 2로 나뉜다.


Type 1은 다시 전가상화(Full Virtualization)와 반가상화 (Para-Virtualization)으로 나뉜다.



type 1 hypervisor에 대한 이미지 검색결과


Type 1은 하드웨어에 직접 설치되어 여러 개의 OS를 돌리는 하이퍼바이저를 말한다.

호스트 OS가 없어서 리소스 할당이 필요 없다. 그래서 물리 리소스 관리가 유연하여 Type 2보다 오버헤드가 적다.

자체적인 관리 기능이 없기 때문에 별도의 관리 콘솔이나 관리 컴퓨터가 필요하다. 

(그래서 VMWare의 ESX에는 관리 인터페이스를 제공하는 서비스 콘솔이라는 놈이 있다고 한다. 그 후의 버전인 ESXi는 서비스 콘솔을 제거하고 더 편리한 DCUI(Direct Console User Interface)를 제공한다.)


Type 1은 다시 전가상화와 반가상화로 나뉜다.

(Dom0은 관리용 가상머신)

 전가상화

반가상화 

하드웨어를 완전히 가상화함 

하드웨어를 완전히 가상화 하지 않음 

게스트 OS가 (Dom0을 통해) 직접 CPU에게 

하드웨어 제어를 명령햠

게스트 OS가 하이퍼바이저에게 

하드웨어 제어를 의뢰함(hypercall을 통해서) 

 게스트 OS의 수정 없이 사용 가능

하이퍼바이저에 대응할 수 있도록

게스트 OS의 수정이 필요함

(그래서 오픈소스 OS만 사용 가능함 ㅠㅠ) 

=> 도입이 쉬움

=> 도입이 어려움 

CPU가 물리적 가상화 기능(HVM)을 지원해야 함

물리 시스템에 대한 요구 사항이 없음 

 상대적으로 성능 bad

 상대적으로 성능 good


최근의 하이퍼바이저들은 대부분 전가상화를 지원한다.

왜냐면, 최신의 CPU들은 모두 가상화 기술을 적용하여 출시되고, CPU 자체의 성능도 고성능이기 때문에 

충분히 전가상화의 오버헤드들을 감당할 수 있다.

하드웨어가 비약적으로 성능이 좋아져서 가능해진 기술들이 많다고 하더니.... 사실인 것 같다.


Type 2 하이퍼바이저는 기존의 호스트 운영체제 환경에서 실행되는 소프트웨어 어플리케이션이다.

윈도우에 간단하게 설치해서 가상화 환경을 만들어낼 수 있는 VMWare workstation이나 오라클의 Virtual Box가 이에 해당한다.

과제를 하면서 많이 다루었던 Virtual Box..... 아아 애증의 Virtual Box.......

아무래도 가상화에는 필요한 시스템이나 소프트웨어가 많다보니 메모리 찌질이인 내 노트북은 버거워한다.

실수로 두 개 돌렸다가 메모리 100% 사용으로 뻑난 적도 있고......(물론 메모리라 재부팅했더니 괜찮아졌다.)


아무튼, 이 두번째 유형의 하이퍼바이저는 기존의 운영체제(내 노트북의 경우 윈도우 10) 위에 설치되고

그 위에 다른 운영체제를 돌릴 수 있도록 지원한다.




유명한 하이퍼바이저 몇 가지의 아키텍처를 조사해보았다.

  • Xen
  • Hyper-V
  • ESXi
  • KVM
  • Virtual Box

이 다섯 종류가 바로 그것이다.


포스팅이 너무 길어지면 가독성이 떨어지니까 다음 포스팅으로!