개요 #
- 호스트 컴퓨터에서 다수의 운영 체제를 동시에 실행시키기 위한 기술(플랫폼)
- 단일 하드웨어에서 여러 개의, 다른 가상 머신을 실행시킬 수 있는 프로그램
- 게스트 운영 체제(Guest)에 가상 운영 플랫폼을 제공/관리하는 역할
- 예를 들어, 물리적인 리소스(CPU/Processor, RAM) 등을 분리/제공/관리
- 2가지의 종류 : Natvie/Bare-Metal , Hosted
‘VMM’ 이라 불리우기도 한다.
- 가상화 머신 모니터(Virtual Machine Monitor)
- 가상화 머신 매니저(Virtual Machine Manager)
하이퍼바이저 유형 1 : Natvie / Bare-Metal #
- 하드웨어에 직접 설치되는 구조
- 호스트 OS 없음
- 즉, 하이퍼바이저가 호스트 OS 에 종속되지 않음
- VM에 설치된 게스트 OS 들은 하드웨어 바로 위에서 구동
- 유형 2(Type2)보다는 성능 향상
- 다만, 유형 2(Type2) 보다는 설치, 구성 불편 (하드웨어 드라이버 세팅…? 같은 것들이 필요하다고 한다.)
- Xen, Oracle VM Server for ~~~, Microsoft Hyper-V 등
가상화 방식 | 설명 |
---|---|
전가상화 | 하드웨어 전체를 가상화하는 방식 - Guest OS 는 자신이 가상화 위에 동작하고 있다는 것을 인식할 수 없음 - Guest OS 는 하드웨어 물리자원에 직접 접근할 수 없음 - 각각 다른 Guest OS 들의 명령어 방식을 하드웨어가 이해할 수 있도록 하이퍼바이저가 번역/전달 - (하이퍼바이저가)하드웨어 리소스(명령의 결과)를 Guest OS 에게 제공 |
반가상화 | - Guest OS 는 자신이 가상화 위에 동작하고 있다는 것을 인식할 수 있음 - Guest OS 는 하드웨어 물리자원에 직접 접근할 수 있음 - 각각 다른 Guest OS 들의 명령어 방식을 하드웨어가 이해할 수 있도록 가상머신이(직접) 번역/전달 (하이퍼바이저 X) - (하이퍼바이저가)하드웨어 리소스(명령의 결과)를 Guest OS 에게 제공 |
|---- Guest OS
|
HardWare --- Hypervisor ---|---- Guest OS
|
|---- Guest OS
하이퍼바이저 유형 2 : Hosted(호스트형 가상화) #
내가 사용해왔던 VirtualBox 등을 사용한 것이라고 이해한다.
- 호스트 OS 위에서 하이퍼바이저 실행
- 즉, 호스트 OS 가 존재
- 호스트 OS 문제 => 전체 Guest OS 에 영향을 끼친다.
- 호스트 OS 입장에서는 일반적인 프로그램을 실행하는 것과 같다.
- 유형 1(Type1)보다는 설치, 구성 편리
- 다만, 유형 1(Type1) 보다는 성능 낮음
- VMware Workstation, VirtualBox 등
|---- Guest OS
|
HardWare --- Host OS --- Hypervisor ---|---- Guest OS
|
|---- Guest OS
(Type1) 전가상화 방식의 전제하에 아래 내용도 참고합니다. #
여러 개의, 다른 OS를 운영하기 위해서 각각의 (Guest)OS마다 ‘커널’이 존재한다.
커널은 리소스 관리, 명령어 해석 등의 역할을 수행한다.
다만, OS 마다 리소스를 관리하는, 명령어를 해석하는 방법이 다르다.
1. 이들을 하이퍼바이저가 통일된, 하나의 명령어로 관리해주는 것이라고 한다.
2. 또, 각각의 OS에게 리소스를 나누어주며 관리해주는 역할도 한다고 한다.
이렇듯 가상화를 구현하기 위해 기초가 되는 기술이 ‘하이퍼바이저’이다.