본문 바로가기

Cloud Study/Cloud

[가상화] 1. 가상화와 하이퍼바이저

가상화란?


한대의 시스템을 하이퍼바이저라는 소프트웨어를 이용하여 다수의 가상시스템으로 분할하여 서비스를 사용하는것을 의미합니다. 여기서 생성한 가상 시스템은 서로 독립적이다.

 

가상화 서비스 동작

  • 가상화에서는 한대의 시스템에서 여러 대의 가상시스템을 관리합니다.
  • 서로 다른 가상머신에서 실행한 프로세스는 실제 하나의 물리 메모리에서 실행됨니다.

가상화의 장점 

  • 리소스의 효율적인 사용 가능
  • 서버의 쉽고 빠른 배포가 가능
  • 중앙집중화된 가상화 인프라 구성가능

가상화의 목적은?

  • 단일 서버에서 여러 개의 운영 체제를 실행할 수 있습니다. 이러한 운영 중에 하이퍼바이저는 컴퓨팅 리소스를 필요에 따라 각 가상 머신에 할당합니다. 이를 통해 IT 운영이 훨씬 효율적이고 경제적으로 운영 가능합니다.

 

하이퍼바이저 (Hypervisor)


하이퍼바이저는 호스트 시스템에서 다수의 Guest OS를 구동할 수 있게 하는 소프트웨어입니다. H/W를 소프트웨어적으로 파티셔닝하여 가상머신에게 제공합니다. 하드웨어를 가상화하면서 하드웨어와 각각의 VM을 모니터링하는 중간 관리자 역할을 담당
하는 것 을 하이퍼바이저라고 합니다. 가상화에서는 독립성 유지가 매우 중요합니다.

 

하이퍼바이저 종류

하이퍼 바이저의 종류는 NativeHosted 로 구성

 

Native(Bare Metal)

  • 물리적인 머신에 하이퍼바이저를 설치합니다.
  • 별도의 OS가 필요하지 않습니다.
  • 하이퍼바이저를 관리할 시스템이 필요합니다.
  • Native형 하이퍼바이저는 전가상화 방식과 반가상화방식으로 세분화할 수 있습니다.

전 가상화 (Full Virtualization)

  • 가상머신이 제공받은 하드웨어가 전부 가상의 하드웨어
  • 전 가상화로 만들어진 가상머신은 자신이 가상머신인지 알지 못함
  • Guest OS를 Host 시스템과 완전히 격리되어 실행
  • Guest OS는 하드웨어 자원을 요청하기 위해, 반드시 하이퍼바이저가 중재 해야 함
  • 전 가상화는 트랩과 에뮬레이트 작업을 거치기 때문에 성능이 떨어짐.
  • sensitive instruction이 발생하면 하이퍼바이저에 문제 발생
  • 대부분의 운영체제를 쉽게 설치가능

반 가상화 (Para-Virtualization)

  • 운영체제의 커널 소스를 수정한 가상화
  • 운영체제의 커널 소스를 수정해야 하기 때문에 오픈소스 운영체제로 한정
  • 하이퍼바이저가 가상머신에게 특수한 인터페이스 제공
  • 반 가상화는 전가상화보다 오버헤드가 적음

Hosted

  • 운영체제가 설치된 머신에 하이퍼바이저 소프트웨어를 설치합니다.
  • 일반적인 소프트웨어 처럼 호스트OS 위에서 실행됩니다.
  • 하드웨어 자원을 VM 내부의 게스트 OS에 에뮬레이트 하는 방식이기 때문에 네이티브 방식에 비해 오버헤드가 크지만, 
    게스트 OS 종류에 대한 제약이 없고 데스크톱뿐 아니라 노트북에서도 운영할 수 있습니다.

에뮬레이트란? 어떤 하드웨어나 소프트웨어의 기능을 다른 종류의 하드웨어나 소프트웨어로 모방하여 실현시키기 위한 장치나 프로그램.