하이퍼바이저(Hypervisor)는 하나의 물리적인 컴퓨터(Host Machine) 위에 여러개의 Guest(VM; Virtual Machine)를 동시에 실행할 수 있게 가상화하는 플랫폼을 의미한다. CPU(core), 메모리, 기타 물리적 자원(ex: Network, Storage)에 대한 가상화 레이어(Virtualization Layer)를 제공하며, 이를 통해 각 Virtual Machine에 필요한 만큼의 리소스를 할당할 수 있다.
VM 입장에선 물리적 환경과 가상화 환경에 차이가 없다. 마찬가지로 하이퍼바이저의 존재와 다른 VM과 Computing Power를 공유하고 있다는 사실 역시 알 수 없다.
현존하는 하이퍼바이저는 대부분 다음 두가지 타입으로 구분할 수 있다.
Types of Hypervisors
Type 1
물리적인 하드웨어 위에 바로 Hypervisor가 위치한 방식으로 'bare-metal hypervisor'로 부르기도 한다. 이 경우, 하이퍼바이저가 간단한 OS의 역할(KVM과 같은 예외 존재)도 수행하며, Host는 가상화 목적 이외의 용도로 사용할 수 없다.
중간에 Host OS가 개입하지 않으므로 높은 성능과 안정성을 제공하기 때문에, 대부분의 Enterprise 환경에서 채택하는 방식이다.
리소스 부족, 장애 등의 이유로 Baremetal에 문제가 발생할 때 다른 Baremetal로 VM을 이동할 수 있다. 관리자가 콘솔을 통해 직접 수행하거나, 자동으로 진행하도록 설정 가능하다. 또한 물리적인 자원양을 초과해서 할당(over-allocation)할 수 있는데, 이는 전체 VM에 할당한 리소스가 실제 하드웨어 스펙을 넘어가도 문제가 없다는 얘기다.
Type 1 Hypervisor Vendors
VMware vSphere with ESX/ESXi
VMware에서 개발하였으며, 대형 데이터센터에 적합한 솔루션이며, 가격이 꽤 높은 편이다. 필수적인 기능만 포함된 Free Version 외에도 다양한 유료 버전 에디션을 판매 중이다.
KVM
KVM을 Linux에 설치하여, 커널을 하이퍼바이저로 전환할 수 있다. 이후 설명할 타입2 하이퍼바이저와 혼동할 수 있으나, VM이 Host OS를 거치지 않고, 물리적 하드웨어에 직접 접근하기 때문에 타입1이 맞다. 오픈소스이며, 리눅스의 모든 기능과 더불어 추가적인 기능을 제공하기 떄문에 현재 많은 Enterprise 환경에서 사용중이다.
Microsoft Hyper-V
VMware 만큼은 아니지만 나름의 입지가 있다. 무료 버전도 존재하나 GUI 및 추가 기능을 사용하기 위해선 유료 버전이 필요하다. VMware 제품만큼은 아니지만, Live Migration, VM 복제, 동적 메모리 등의 기능은 제공한다.
Oracle VM
무료로 제공되는 하이퍼바이저로, 코어에 Xen이 적용되었다. 물론 추가적인 기능은 유료버전에서만 사용 가능하다. 하지만 vSphere, KVM, Hyper-V 만큼 안정적이진 않다는 평이 많으며 점유율 역시 높은 편은 아니다.
Citrix Hypervisor
Citrix에서 Xen Server 프로젝트를 인수한 뒤, 이와 같은 제품명으로 판매중이다. Enterpise 환경에 적합하며, NVIDIA 가상화 그래픽, Direct Inspect API와 같이 유용한 유료 기능을 제공한다.
Type 2
Host Machine에 OS가 설치되어 있고 그 위에서 Hypervisor가 수행되는 방식으로 'hosted hypervisor'라고 부르기도 한다. 일반적으로 소프트웨어 테스트나 연구를 위한 샌드박스로 사용된다. VM 생성시, Baremetal의 하드웨어 스펙을 초과할 수 없기 때문에 리소스 할당에 어느 정도 제약이 존재한다.
대표적인 제품으로는 VirtualBox(Oracle), Workstation Pro(VMware), Parallels(MacOS) 등이 있으며, 기능이나 성능은 대동소이하므로 본인 환경과 재정에 맞는 것을 선택하면 된다.
결론
어떤 타입의 하이퍼바이저를 선택해야 하는지는 사용 목적에 달려있다. 개인용 또는 소규모 환경인 경우, Type 2 하이퍼바이저가 적합하다. 하지만 Enterprise 환경에서 수많은 VM을 관리해야 한다면 Type 1 은 불가피한 선택이다.
참고
What Is A Hypervisor? Types Of Hypervisors 1 & 2
What Is A Hypervisor? Types Of Hypervisors 1 & 2
'Cloud' 카테고리의 다른 글
Amazon EKS Tutorial - Part.5 (0) | 2021.03.20 |
---|---|
Amazon EKS Tutorial - Part.4 (0) | 2021.03.17 |
Amazon EKS Tutorial - Part.3 (0) | 2021.03.16 |
Amazon EKS Tutorial - Part.2 (1) | 2021.03.15 |
Amazon EKS Tutorial - Part.1 (0) | 2021.03.13 |