• 가상화

Hypervisors를 통해 하드웨어가 여러개로 보이게끔 해주는 것. 즉, 물리적 자원을 논리적 자원으로 보이게 해줌

 

  • Hyperviors

하드웨어 자원을 논리적 플랫폼(Platform)으로 가상화해주는 소프트웨어 

 

위의 사진에서 밑에 있는것은 Host Software, 위에 올라간 os는 guest os

 

 

Hypervisor의 분류 방법

 

  • 설치 방식에 따른 분류 

 

  • Type 1

Type1

Baremetal 바로 위에 Hypervisor가 올라간 형태. CPU가 가상화를 지원해야함.(ex. KVM)

그러나 KVM은 Linux에 포함돼있어서 Type2로도 얘기하긴함

 

  • Type2

Type2

Host OS 위에 Hypervisor가 올라간 형태. (ex. vm,QEMU)

host os와 guest os가 같으면 무리가 없는데 다르면 Hyptervisor가 명령을 변환시켜줘야하므로 속도가 느려짐

 

  • 가상화 방식에 따른 분류

 

  • Full Virtualization(전가상화)

하드웨어 전체를 가상화

빠름,CPU의 지원이 필요

ex. KVM

 

  • Para Virtualizition(반가상화)

하드웨어를 완전히 가상화 안함

Guest OS가 변화점을 줘야해서 속도 느림

ex. QEMU, QEMU와 함께 KVM도 가능해서 KVM은 반가상화도 가능

 

 

KVM과 QMEU

 

  • KVM(Kernel-based Virtual Machine)

Open Code

KVM자체 홈페이지에서 Contribution을 통해 업그레이드 중 

Linux 커널에 있는 Software Module

Type1, 전가상화

cpu가 emulation됨 -> 즉, 명령어가 별도로 전환되는 과정 없이 물리적으로 HW가 쪼개진것처럼 도와줌 -> Hypervisor 역할이 줄면서 속도가 빨라짐

 

  • QEMU(Quick Emulator)

Open Code

Type2, 반가상화

Host OS 위에서 작동하며 HW가 지원하지는 않음

커널 번역, 자원 분배 등을 하는 Hypervisor보다는 하드웨어를 소프트웨어로 구현한 Emulation의 특징이 더 맞는 말

sw가 도와주는거라 대체로 kvm보다는 느림

그래서 HW자체를 나누는 KVM과 같이 씀.  왜 같이 쓰냐면 QEMU가 IO관련으로는 더 빠르다.

 

 

Libvirt

서버가 여러개가 있으면 Hypervisor도 서버마다 다르게 여러개가 있을 수 있다.

이런 경우 Libvirt가 다양한 Hypervisor를 통합 관리해줌.

오픈소스임.

다양한 Hypervisor의 커맨드를 통일화된 모양으로 보여주며 다양한 Htpervisor의 명령어를 관리해줌

 

'Cloud > Cloud 이론' 카테고리의 다른 글

Cloud 용어  (0) 2020.03.17
agility  (0) 2020.03.17

+ Recent posts