본문 바로가기
용어 설명

Xen이란? (Hypervisor, Para-Virtualization)

by ByeoRi 2015. 1. 8.
Xen?

리눅스 커널에서 사용할 수 있는 오픈소스 기반 가상화 소프트웨어

Hypervisor 가상화 중에서Para-Virtualization 방식 사용

Xen의 경우, CPU 가상화 기술에 의한 반가상화(Para-virtualization)를 지원하기 때문에 기존의 가상화(VMware) 등과는 다른 개념이 존재한다.

CPU의 가상화에 따라...

      -  Domain  0 (Dom 0)  : 가상화를 위한 Host가 동작하는 환경을 의미

      -  Domain  U (Dom U) : 게스트가 동작하는 환경을 의미


장점: 

매우 높은 퍼포먼스 가상화 지원

오픈소스OS 지원 및 무료로 사용가능

Solaris , BSD , window 운영체제 지원(요즘 다 지원가능)


성능 향상을 위해서 가장 가벼운 상태에서 오직 가상화와 I/O, 네트워크 등을 위한 서비스를 포함하는 것이 가장 좋으며, 그 이외의 서비스는 모두 정지시키는 것이 좋다.

이를 위해서 Xen에서는 xenEnterprize(XenExpress)라는 별도의 커널 및 간단한 리눅스 배포판을 만들어서 제품화 시켜서 판매하고 있다. 이 제품은 가장 기본적인 리눅스 명령어만 포함되어 있다.



하이퍼바이저?

프로세서나 메모리와 같은 다양한 컴퓨터 자원에 서로 다른 각종 운영 체계의 접근 방법을 통제하는 소프트웨어

다수의 OS를 하나의 컴퓨터 시스템에서 가동할 수 있게 하는 소프트웨어로 중앙처리장치와 OS 사이에 일종의 중간웨어로 사용되며, 하나의 컴퓨터에서 서로 다른 OS를 사용하는 가상 컴퓨터를 만들 수 있는 효과적인 가상화 엔진이다.


반가상화 (Para-Virtualization)?

하드웨어를 완전히 가상화 하지 않는 방식

GuestOS가 직접 하드웨어를 제어하는 것이 아니라, 하이퍼바이저를 통해 제어하기에 높은 퍼포먼스 유지

반가상화를 구성하기 위해서 게스트 GuestOS의 커널 일부분을 수정 해야 한다

전가상화 방식보다 낮은 오버헤드

※높은 퍼포먼스를 유지하는이유

a,b,c,d,e 5개의 서로다른 게스트OS가 존재한다. 이중 a,b의  하드웨어사용율이높고 c,d,e의 하드웨어 사용율이 적을경우, 하이퍼바이저는 이를 하드웨어 할당 사용량을 분할하게 된다.