개요

Hypervisors 개념 및 역할 그리고 Type1/Type2 를 살펴본다. 추가적으로 Hypervisors 일부 예시도 확인한다.

 

클라우드 컴퓨팅은 가상화 없이 가능하지 않고,

가상화는 하이퍼바이저 없이는 가능하지 않다.

이러한 얇은 레이어 계층은 전체 클라우드 에코시스템을 지원하도록 해준다.

 

Hypervisors

Hypervisors 가 주류가 되기 이전에는 대부분의 물리 컴퓨터들은 한번에 하나의 Operating System 만을 실행시킬 수 있었다. 이렇게 실행된 시스템은 컴퓨터 하드웨어가 하나의 OS 만 처리하면 되었기 때문에 안정적으로 운영될 수 있었다. 하지만 이런 접근방식에 단점이 있었는데, OS 가 컴퓨팅 파워를 온전하게 다 못쓰기 떄문에 쓰지 않는 일부 리소스에 대해 낭비가 생길 수 있다는 사실이었다.

 

Hypervisors 는 위와같은 단점을 해결할 수 있었다. Hypervisors 는 작은 소프트웨어 레이어인데, 해당 레이어를 통해서 물리적 컴퓨팅 파워를 공유하면서 여러 개의 OS 를 실행시킬 수 있었기 때문이다. 이런 OS 들은 가상머신 (VMs : Virtual Machines) 로 제공된다.

 

Hypervisors & VM

Hypervisors 는 virtual machine monitor, 즉 VMM 으로 불리우는데  VMs 들이 실행될 때 이를 관리한다. Hypervisors 는 VMs 실행 시에 논리적으로 서로를 분리하고, 각각의 VM 들에게 기본적인 컴퓨터 자원, 메모리, 스토리지를 개별적으로 할당한다. 이렇게 개별적인 할당을 수행함으로써, VMs 가 서로 자원에 대해서 간섭하는 것을 막을 수 있다. 또한 간섭이 없기 때문에 특정 VM 에서 OS 충돌이나 보안에 문제가 발생하더라도 다른 VM 내의 OS 는 계속 유지될 수 있다.

 

 

Hypervisors Type1 vs Hypervisors Type2

하이퍼바이저에는 큰 범주로 Type1 과 Type2 가 존재한다.

 

Type1 Hypervisors (bare-metal hypervisors)

물리적인 컴퓨터 하드웨어 장비 위에서 바로 실행되는 Hypervisors 를 의미한다. 그렇기 때문에 하드웨어의 cpu, memory, phsical storage 와 직접적으로 맞닿고 상호작용을 수행한다. 이러한 이유로 Type1 Hypervisors 는 bare-metal Hypervisors 라고 불린다. (bare-metal : OS 를 포함한 어떤 소프트웨어도 존재하지 않는 하드웨어)

 

type1 (bare-metal)

장점으로는 물리적은 장비에 바로 접근하기 때문에 효율성이 좋고, 만약 외부 공격자가 cpu 와 hypervisors 사이에 따로 영향을 끼칠 수 없기 때문에 보안상 이점이 있다. 단점으로는 다른 VMs 를 관리하고 Host 하드웨어를 컨트롤하기 위한 별도의 관리시스템이 필요하다는 부분이 있다. Type1 에는 VMware ESXi, MS 의 Hyper-V, open source KVM 등이 있다.

 

Type2 Hypervisors (hosted)

하드웨어 장비 위에서 바로 실행할 수 없다. 대신에 Host OS 에서 애플리케이션 레벨로 실행된다. Type2 Hypervisors 는 서버 기반의 환경에서는 적합하지 않고, 개인 PC 유저들이 여러 OS 를 실행시키기에 적합하다. Type2 Hypervisosrs 에는 사용자가 Guest OS 에 설치할 수 있는 추가적인 툴킷이 제공되는데, 이러한 툴킷은 Guest OS 와 Host OS 사이의 원활한 연결을 제공하기 때문에 Guest VM 내에서 Host OS 파일 및 폴더에 액세스를 가능토록 해준다.

 

type2 (hosted)

장점으로는 Host 시스템에서 함께 실행되는 기본 OS 와 함께 Guest OS 에도 빠르고 쉽게 접근할 수 있다. 단점으로는 Type2 Hypervisors 는 Host OS 를 통해서만 하드웨어의 리소스 (power, memory, network) 에 접근할 수 있다. 따라서 퍼포먼스적인 이슈가 있다. 추가적으로 외부 공격자가 host os 를 손상시킬 경우에 보안위험이 야기될 수 있는데 Host OS 위에서 동작되는 Hypervisors 레이어 내 Guest OS 를 조작할 수 있기 때문이다. Type2 에는 Oracle, Virtual Box, VMWare Workstation 등이 있다.

 

 

Examples

VMware hypervisors

 

Hyper-V hypervisors

Hyper-V 는 MS 에서 디자인한 윈도우 시스템 전용 Hypervisors 다. 해당 제품은 2008년에 Windows Server 의 일부로 출시되었는데 고객이 해당 제품을 사용하려면 전체 Windows 운영체제를 설치해야한다는 것을 의미한다. 이후 MS 는 윈도우즈 서버 코어에서 실행되는 Hyper-V Server 를 만들게 된다. 이를 통해서 윈도우즈 서버 내 설치를 하지 않더라도 Hyper-V 를 관리자는 실행할 수 있게 되었고, Hyper-V 는 윈도우즈 클라이언트에서도 사용할 수 있게 되었다.

 

MS 는 Hyper-V 를 다른 업체들과 다르게 실행되지만, Type1 Hypervisors 로 디자인이 되어 실질적으로 Hyper-V 는 윈도우즈 위에서 설치되지만, 물리 하드웨어 위에서 실행되어 Host OS 아래에 삽입된다. 이후 모든 Guest OS 는 hypervisors 를 통해서 실행되지만, Host OS 는 하드웨어에 대한 특별한 권한을 성능이점이 있다.

 

Citrix XenServer

Citrix XenServer 라고 알려진 XenServer 는 리눅스 및 윈도우 운영체제를 지원하는 commercial Type1 Hypervisors 이다. XenServer 는 오픈소스 프로젝트인 Xen open source project 에서 나왔다.

 

Open source hypervisors

KVM 과 같은 일부 hypervisors 는 오픈소스 프로젝트에서 제공된다. RedHat 과 오픈커뮤니티의 연계하여 KVM 을 대부분의 주요한 OpenStack 및 리눅스 가상화 배포환경의 핵심으로 만들었다.

 

Hypervisors KVM

리눅스는 OS 커널단에 직접적으로 내장된 Hypervisors 기능이 있다. 이것은 kernel-based virtual machine, 즉 KVM 이라 불리운다. (커널기반 가상머신) KVM 은 2007년에 리눅스 커널 메인 라인의 일부가 되어 소프트웨어단에서 물리적 머신의 프로세서를 에뮬레이트하는 QEMU 를 보완한다.

 

KVM 은 Intel 및 AMD 가 프로세서 및 아키텍처를 구축한 것에 대해서 더 나은 hypervisors 를 지원한다. Intel VT 그리고 AMD-V 라고 부르는 이 확장은 프로세서가 hypervisors 여러 virtual machine 을 관리할 수 있도록 해준다.

 

RedHat Hypervisors

RedHat 은 KVM Hypervisors 기반인 RedHat Enterprise virtualization hypervisors 를 기반으로 한다. 이 virtualization 솔루션은 hypervisors 주변에 추가적인 기능들을 구축한다.

 

 

reference

Posted by doubler
,