프로세서나 메모리와 같은 다양한 컴퓨터 자원에 서로 다른 각종 운영 체제(OS)의 접근 방법을 통제하는 얇은 계층의 소프트웨어, 다수의 OS를 하나의 컴퓨터 시스템에서 가동할 수 있게 하는 소프트웨어로 중앙 처리 장치(CPU)와 OS 사이에 일종의 중간웨어로 사용되며 ,하나의 컴퓨터에서 서로 다른 OS를 사용하는 가상 컴퓨터를 만들 수 있는 효과적인 가상화 엔진이다.
하이퍼바이저(the Hypervisor)
- VMM(Virtual Machine Monitor , or Manager) 라고도 불려진다.
하이퍼바이저는 여러 개의 OS가 단일 하드웨어 호스트를 공유할 수 있도록 하는 프로그램 각 OS는 호스트의 프로세스, 메모리 및 기타 자원들을 모두 스스로 나타낸다.
하이퍼바이저의 역할은 높은 수준의 관리 및 모니터링 도구에 대한 인터페이스를 제공하는 것 이외에, OS 간 서로를 방해하지 못하도록 VM에 대한 자원 및 메모리를 활당 등을 처리하는 것이다.
하이퍼바이저는 크게 두가지 타입으로 나뉘진다.
{참고 : Xen은 몇몇 회사들이(ORACLE , Citrix , Sun ,and Virtual lron등등 ..)가상화를 구현하기 위해 사용되는 opened-source 가상화 소프트웨어}
Guest OS 모니터로 호스트의 하드웨어에서 직접 실행하는 소프트웨어 시스템이다.
Bare-Metal 가상화 기술은 현재 기업의 데이터센터 분야를 이끌고 있다.
VMware ESX는 현재 기업의 가상화 시장을 이끌고 있다.
하아퍼바이저는 하드웨어 위에 위치해 있다. 이런 이유로 Bare-Metal 가상화라 불려진다.
이런 이유로 많은 데이터센터들이 ESX, Xen , and Hyper-V 와 같이 Bare-Metal 상품을 사용한다.
그이유는 , 이런한 상품들은 OS(호스트 가상화 사용)로부터 오는 오버헤드를 감소시켜 빠른 속도를 제공하기 때문이다.
반가상화 형태
이러한 유형의 하이퍼바이저는 일반적으로 Microsoft의 Virtal PC 나 VMWare 의 Workstation와 같은 클라이언트(user) 쪽에서의 가상화 프로그램이다.
전가상화의 형태
전가상화(Full-Vitualization)
이진코드 변환기법(binary code translation)을 사용하는 VMM(Virtual Machine Monitor) 위에서 윈도우에서 리눅스까지 다양한 운영체제를 이용할 수 있는 구조로, Guest OS를 수정할 필요가 없이 하드웨어를 완전히 가상화 하는 방식이다. 시스템 전체를 완전히 가상화하여 시스템의 BIOS(Basic Input/Output System)부터 CPU,Memory, I/O 등을 완전히 시뮬레이션 하여 가상화하는 방법을 사용한다.(KVM , Hyper-V , VMWare, ESX Server ,Xen)하드웨어를 완전히 가상화 하기 때문에 가상머신OS의 아무런 수정 없이 Window, Linux까지 다양한 OS를 이용할 수 있다. 다만 전가상화를 실현하기 위하여 CPU의 VT(Virtualization Technology)를 이용하므로 성능의 저하가 발생한다는 단점이 있다.
반가상화(Para-Virtualization)
- 가상화가 전용된 리눅스 커널들을 시스템 부팅시 저용하므로 모든 장치를 가상화 하는 것은 아니다. 결국 CPU레벨에서 에뮬레이션 하는게 아니라, OS커널을 수정해서 커널 함수 호출을 하면 바로 그게 호스트 커널로 전달시키도록 만든 방식이라 오버헤드(시스템에서 목적으로 하는 효과를 얻기 위한 본질적인 것은 아니지만 요구하는 작동, 또는 그 때문에 필요한 자원 ) 가 적다.
하지만 OS커널 수정이 필요하기 때문에 오픈소스OS(리눅스 등)에서만 동작한다.
가상머신이 직접하드웨어를 제어하는 것이 아니라 하이퍼바이저에게 맡긴다.
하이퍼바이저를 제어 하기 때문에 높은 성능을 유지 할 수 있다.
하지만 반가상화를 실현하기 위해서는 가상머신OS의 커널 일부분을 수정해야 한다.
//이건 때문에 다소 시간이 걸리죠.
출처 : http://blog.daum.net/sunwookim77/99
'Fundamental > Technical ' 카테고리의 다른 글
Project Manager (2) | 2014.04.09 |
---|---|
In-Line mode (1) | 2014.04.01 |
하이퍼바이저 - Hypervisor (0) | 2014.03.11 |
GIT (0) | 2014.02.17 |
빌드와 빌드도구 (0) | 2014.02.17 |
댓글