2000년대 중반으로 넘어가면서 하이퍼바이저는 Linux 및 기타 Unix와 같은 운영 체제가 가상화 기술을 활용하기 시작했을 때 활성화 되기 시작했다. 하이퍼 바이저 및 가상화의 성장에는 더 나은 하드웨어 기능이 포함되어 있어 이제 단일 시스템에서 더 많이 동시 작업을 수행할 수 있다.
하이퍼바이저 설명
하나 이상의 가상 머신을 실행하는 컴퓨터를 호스트 머신, 각 가상 머신을 게스트 머신이라고 한다.
- 가상 머신 모니터라고도 한다. 가상 머신을 생성하고 실행하는 프로세스이다.
- 가상 운영 플랫폼이 있는 게스트 운영 체제를 제공하여 게스트 운영 체제의 실행을 관리한다.
- 물리 리소스를 필요로 하는 가상 환경으로부터 물리 리소스를 분리한다. (가상 환경에서 사용할 수 있도록 한다.)
- 노트북 등의 운영 체제에 배포하거나 서버 등의 하드웨어에 직접 설치할 수 있다. 다양한 운영 체제의 여러 인스턴스가 가상화된 하드웨어 리소스를 공유할 수 있다.
- 필요에 따라 여러 환경으로 파티션된다.
- VMM(Virtual Machine Monitor)이라고도 한다.
하이퍼바이저 분류
- 호스트 하드웨어에서 직접 설치되어 하드웨어를 제어하고 게스트 가상머신을 관리한다.
(하드웨어에서 직접 여러 개의 OS를 실행)
- 호스트 OS가 없어서 리소스 할당이 필요없다. 👉 물리 리소스 관리가 유연하여 Type 2보다 오버헤드가 적다.
- 가상 시스템 또는 게스트 운영 체제 중 하나의 문제가 하드웨어에서 실행 중인 다른 게스트 운영 체제에 영향을 미치지 않는다.
- 자체적인 관리 기능이 없기 때문에 별도의 관리 콘솔이나 관리 컴퓨터가 필요하다.
- 예시: Xen, Oracle VM Server for SPARC, Oracle VM Server for x86 등
Type 2. hosted hypervisors (호스팅)
- 시스템의 다른 응용 프로그램과 마찬가지로 일반적인 OS에서 실행된다. (소프트웨어 계층에서 실행)
- 이때 게스트 OS는 호스트에서 프로세스로 실행되는 반면 하이퍼 바이저는 게스트 OS와 호스트 OS를 분리한다.
- Type 2 하이퍼바이저는 운영에 있어 호스트 운영 체제에 전적으로 의존한다. 기본 운영 체제에서 실행되는 하이퍼 바이저가 안전하더라도 기본 운영 체제의 모든 문제는 전체 시스템에 영향을 준다.
- 예시: 간단히 설치해서 가상화 환경을 만들어낼 수 있는 Virtual Box와 VMWare workstation
하이퍼바이저를 사용하는 이유
게스트 가상 머신이 호스트 하드웨어와 독립되어 시스템의 가용 리소스를 더 많이 활용하고 IT 모빌리티를 향상시킬 수 있다. 이를 통해 가상 머신을 여러 서버 간에 쉽게 이동시킬 수 있다.
하이퍼바이저/가상머신과 컨테이너
최근 컨테이너 기술은 가상 머신보다 단일 물리적 서버에 더 많은 애플리케이션을 배치할 수 있기 때문에 하이퍼바이저를 대체할 수 있는 가능성으로 인기를 얻고 있다.
컨테이너형 가상화 기술은 기존의 가상화 기술보다 가벼워지고, 이식성이 뛰어난다. (대표적 기술 : Docker)
컨테이너는 가상 머신보다 공간을 덜 차지하며, 더 많은 응용 프로그램을 처리할 수 있다.
(그러나 보안 문제와 가상 머신의 실제 사용자들은 컨테이너가 하이퍼바이저/가상머신을 반드시 대체할 필요가 없고, 이 2가지 모두 혼용하여 사용하는 것이 좋다고들 한다.)