하이퍼바이저 (Hypervisor)

앙금빵·2021년 4월 17일
0

가상머신 (Virtual Machine)

  • 줄여서 VM 이라고 부른다.
  • 컴퓨터 환경을 소프트웨어적으로 구현한 것
  • 내부구조가 물리적인 서버의 컴퓨팅 환경과 매우 유사
  • 여러 VM이 동시에 존재할 수 있고, 각 VM마다 서로 다른 구동 환경을 갖출 수 있어 다양한 어플리케이션을 수행하는 것이 가능

하이퍼바이저(Hypervisor)

하이퍼바이저란?

  • 가상화를 구현하기 위한 기반이 되는 기술
  • 하이퍼바이저는 가상 머신(Virtual Machine, VM)을 생성하고 구동하는 소프트웨어
  • VMM(Virtual Machine Monitor or Virtual Machine Manager)라고 함

하이퍼바이저 특징

  • 하이퍼바이저로 사용되는 물리 하드웨어를 'Host'
    리소스를 사용하는 여러 VM들을 'Guest'
  • CPU, Memory, Storage 등의 리소스를 처리하는 풀로, 기존 게스트간 또는 새로운 가상머신에 쉽게 재배치 가능
  • 서로 다른 여러 개의 운영 체제를 나란히 구동
    동일한 가상화 하드웨어 리소스를 공유

하이퍼바이저의 종류

Type1 : Native or Bare Metal Hypervisor

Enterprise 데이터센터와 서버 기반 환경에서 일반적으로 사용

  • Hypervisor가 OS에 종속되지 않고 하드웨어에 직접 설치되는 구조
    (Host OS가 없음)
  • Bare-Metal = "어떤 소프트웨어도 담겨 있지 않은 하드웨어"
  • 하이퍼바이저가 다수의 VM을 관리하는 형태

Pros and Cons

Pros

  • 하이퍼바이저에서 직접 하드웨어 제어 가능 → 상대적으로 오버헤드 적음 (직접 관리 → 리소스 관리 유연)
  • Type 2에 비해 향상된 성능

예) KVM, Microsoft Hyper-V, VMware vSphere

Cons

  • 별도의 관리기능 필요
  • 여러 하드웨어 세팅이 필요함 (번거로움)

하드웨어를 컨트롤할 OS가 없어 별도의 관리 기능이 필요하며 'DOm0' 라는 관리 머신이 같이 구동된다.

DOm0에서 일 처리량에 따라 크게 2가지로 나뉜다. (전가상화, 반가상화)

전가상화 vs 반가상화

전가상화

  • 하드웨어를 완전히 가상화 하는 방식으로 Hardware Virtual Machine 이라고도 불린다.
  • 모든 가상머신들의 하드웨어 접근이 DOm0을 통해서 이루어짐
    i.e 모든 명령에 대하여 DOm0가 개입을 하게 되는 형태
  • Guest는 자신이 가상화 위에 동작하고 있다는 것을 인식할 수 없음
  • Guest OS에서 물리자원을 직접 접근 불가

장·단점

  • (장점): Guest OS 운영체제의 별다른 수정이 필요 없음
  • (단점): 반가상화에 비해 비교적 느림

반가상화

  • 전가상화의 성능저하 문제를 해결하기 위해 등장한 기술
    'Hyper Call' 인터페이스를 통해 하이퍼바이저에게 직접 요청할 수 있음.
  • Guest OS가 자신이 가상머신 위에 동작하고 있다는 것을 인식할 수 있음
  • Guest OS에서 물리자원을 직접 접근가능

Hyper Call
반가상화는 전가상화에서 DOM0이 수행했던 '번역'의 역할을 각 가상머신에서 처리하는 것이다.
명령을 던지는 사람이 직접 번역을 해서 전달한다는 것이며 미리 번역된 명령을 DOM0를 통해서가 아닌 하이퍼바이저에게 직접 전달한다. 이를 Hyper Call이라 한다.

장·단점

  • (장점): 전가상화에 비해 성능이 빠름
  • (단점): Hyper Call 요청을 할 수있도록 각 OS의 커널을 수정해야하며 오픈소스OS가 아니면 반가상화를 이용하기 쉽지 않음.

Type2: Host형 가상화

개인 PC 환경에서 여러 운영 체제를 구동하려는 개인 사용자에게 이상적

일반적으로 사용하는 가상머신으로 생각하면 된다.

  • (Xen 방식) Host OS위에 하이퍼바이저가 실행되고, 그 위에 Gust OS를 올리는 방식
  • Host OS가 Bare-Metal을 알아서 관리해주기에 DOM0과 같은 관리툴이 따로 필요없다.
  • Type 1보다 성능이 낮음.

Ex) VMware Workstation, Oracle VirtualBox


참고
https://www.redhat.com/ko/topics/virtualization/what-is-a-hypervisor
https://pearlluck.tistory.com/121
https://itholic.github.io/hypervisor/
https://tech.cloud.nongshim.co.kr/2018/09/18/%EA%B0%80%EC%83%81%ED%99%94%EC%9D%98-%EC%A2%85%EB%A5%983%EA%B0%80%EC%A7%80/

profile
Cloud 관련 개인 공부 지식들을 기록하는 공간입니다.

0개의 댓글