본문 바로가기

AWS Cloud School

[04.29-30] KVM, 하이퍼바이저, 전가상화, 반가상화, bridge대역 추가

하이퍼바이저

  • 호스트 시스템에서 다수의 게스트 OS를 구동할 수 있게 하는 소프트웨어
  • 하드웨어를 가상화하면서 하드웨어와 각각의 VM을 모니터링하는 중간 관리자 역할을 함

하이퍼바이저는 다음의 두 가지 유형으로 분류된다.

  1. 네이티브/베어메탈(native/bare-metal) or 하이퍼바이저형(Hypervisor)
  2. 호스트형(hosted)

 

 

Type 1. 네이티브 (native/bare-metal) or 하이퍼바이저형(Hypervisor)

 

Type1 하이퍼바이저

 

  • 하이퍼바이저가 하드웨어 바로 위에서 실행되는 방식
  • 하이퍼바이저가 하드웨어를 직접 제어하기 때문에 자원을 효율적으로 사용할 수 있음
  • 별도의 호스트 OS가 없으므로 오버헤드가 적지만, 여러 하드웨어 드라이버를 세팅해야 하므로 설치가 어렵다.
  • 대표적으로 Xen, Hyper-V, KVM이 여기에 속한다.
  • 네이티브형 하이퍼바이저는 전가상화, 반가상화 방식으로 세분화할 수 있다.

 

Type 1-1) 전 가상화 (Full Virtualization)

 

 

  • 하드웨어를 모두 가상화하는 방식
  • 게스트 OS가 하이퍼바이저에게 하드웨어 시스템 제어를 요구하면, 하이퍼바이저는 하드웨어에게 해당 요구 사항을 전달한다.
  • 각 게스트 OS는 'DOM 0' 이라는 관리 머신을 거쳐 하이퍼바이저와 통신
  • 이러한 방식 때문에 CPU와 RAM처럼 I/O가 잦은 자원을 컨트롤 하기에는 번거롭다. -> 반가상화 방식 출현
  • 게스트 OS를 호스트 시스템과 완전히 분리하여 실행
  • 게스트 OS는 하드웨어 자원을 요청하기 위해, 반드시 하이퍼바이저가 중재

 

Type 1-2) 반 가상화 (Para Virtualization)

 

 

  • 게스트 OS를 일부 수정하여 필요한 하드웨어 자원을 직접 요구할 수 있음
  • 반 가상화 방식은 하드웨어를 완전히 가상화하지 않음
  • 대신 게스트 OS의 커널을 일부 수정해 하드웨어와 인터랙션할 수 있도록 함
  • OS를 수정해야 하므로 게스트 OS가 윈도우일 경우 별도의 툴을 이용해야 하기 때문에 번거로움
  • Xen에서 게스트 OS는 Hyper Call이라는 명령어를 통해 하드웨어에 필요한 자원을 바로 하이퍼바이저에 전달하고, 하이퍼바이저는 바로 하드웨어를 제어
  • 각각의 게스트 OS는 필요한 자원을 직접 요청할 수 있는 능력이 있으므로 모든 요청을 'DOM 0' 가 한꺼번에 처리하여 하드웨어를 제어하는 전가상화 방식에 비해 성능이 좋다

 

 

Type 2 호스트형(hosted)

Type2 하이퍼바이저

 

  • 일반적인 소프트웨어처럼 호스트 OS 위에서 실행되는 방식
  • 하드웨어 자원을 VM 내부의 게스트 OS에 에뮬레이트 하는 방식이기 때문에 네이티브 방식에 비해 오버헤드가 큼
  • 게스트 OS 종류에 대한 제약이 없고 데스크톱뿐 아니라 노트북에서도 운영 가능
  • 대표적으로 VMware server, VMware Workstation, Virtual box가 있음

 

 

위 그림을 보자. 하이퍼바이저에 의해 구동되는 VM은 각 VM별로 독립된 가상의 자원을 할당받는다. VM은 논리적으로 분리되어 있어서 한 VM에 오류가 발생해도 다른 VM으로 확산되지 않는다는 장점이 있다.

 

 

 

 

 

 

 

 

 

wget https://ftp.yz.yamagata-u.ac.jp/pub/vyos/iso/release/1.1.7/vyos-1.1.7-amd64.iso

 

 

 

DEVICE=br0

TYPE=Bridge

BOOTPROTO=none

DEFROUTE=yes

NAME=br0

ONBOOT=yes

DNS1=8.8.8.8

IPADDR=211.183.3.

PREFIX=24

GATEWAY=211.183.3.2

 

 

 

TYPE=Ethernet

DEVICE=eth0

ONBOOT=yes

BRIDGE=br0