하이퍼바이저 (Hypervisor)란? 가상화의 종류

hwwwa·2023년 3월 20일

하이퍼바이저 (Hypervisor)

  • 단일 물리적 머신에서 여러 가상 머신을 실행하는 데 사용하는 소프트웨어
  • 메모리 및 처리와 같은 단일 호스트 컴퓨터의 리소스를 가상으로 공유하여 호스트 컴퓨터가 여러 게스트 가상 머신을 지원할 수 있도록 함

Type 1 가상화 (베어메탈)

  • 호스트의 하드웨어에서 직접 실행
  • 하이퍼바이저가 호스트 운영체제를 거치지 않고 여러 가상 머신에 대한 리소스를 직접 관리하고 할당 가능하므로 효율성이 높음
  • 자체적인 머신 관리 기능이 없어 관리를 위한 컴퓨터나 콘솔이 필요하므로 사용성이 낮음
  • Type 1 가상화는 전가상화와 반가상화로 분류됨

전가상화 (Full-Virtualization)

  • 하드웨어를 완전히 가상화하는 방식
  • 게스트 OS와 네이티브 하드웨어 사이를 중재하는 하이퍼바이저 사용
  • 게스트 OS에서 발생한 하드웨어 접근을 처리하기 위해 기존 OS를 거침
  • 게스트 OS가 각각의 언어로 요청하는 명령들을 하이퍼바이저가 번역하여 하드웨어에게 전달
  • 게스트 OS의 별다른 수정 없이 사용 가능
  • 하이퍼바이저가 모든 명령을 중재하기 때문에 성능이 느림

반가상화 (Para-Virtualization)

  • 전가상화의 성능 저하를 해소하기 위해 등장
  • 모든 하드웨어의 반 정도만 가상화하고 나머지 반은 실제 하드웨어의 기능을 그대로 이용
  • 모든 명령을 하이퍼바이저에게 요청하지 않고, 하이퍼콜이라는 인터페이스로 직접 하이퍼바이저에 요청을 날림
  • 하이퍼콜을 이용하므로 게스트 OS의 커널 수정 필요
    • 오픈소스가 아닌 상용 OS에는 적용 불가 ex) 윈도우

Type 2 가상화 (호스팅)

  • 운영체제에서 소프트웨어 계층으로 실행
  • 시스템 관리자가 호스트형 하이퍼바이저의 리소스를 할당하고 이를 가상 머신에 배포
  • 설치, 구성, 사용이 쉬워 사용성이 높음
  • 호스트 운영체제로 인해 가상화 환경에 지연 시간 발생

참고 링크

0개의 댓글