정보공간_1

[4기 강북 유성배] 하이퍼바이저의 이해 : Xen 본문

IT 놀이터/Elite Member Tech & Talk

[4기 강북 유성배] 하이퍼바이저의 이해 : Xen

알 수 없는 사용자 2013. 11. 11. 19:19

안녕하세요.
저는 강북 멤버십 20-1기 유성배라고 합니다.

  저번시간에 이어서, 이번 시간에는 대표적인 하이퍼바이저 중 하나인 Xen에 대해 다루고자 합니다. Xen은 가장 대표적인 Type-I, 반가상화 하이퍼바이저 입니다. 최근에는 반가상화 뿐만 아니라 하드웨어지원 가상화도 지원을 하고 있습니다. 최근 들어 CloudStack이나 OpenStack과 같은 많은 클라우드 환경에서 사용되고 있습니다. Xen은 현재 오픈소스로 공개되어 있습니다. (http://www.xenproject.org/)

  먼저 Xen의 구조에 대해 살펴보겠습니다. 아래 그림은 Xen의 기본적인 구조를 나타낸 그림입니다.

 

 

  Xen은 처음에 잠시 언급하였듯이 Type-I, 즉 bare-metal 형 하이퍼바이저입니다. 따라서 그림에서도 하드웨어 바로 위에 Xen이 위치하고 있습니다. Xen에서는 물리 하드웨어 중에서 특히 CPU, 메모리, 인터럽트, 타이머 등의 VM(가상머신)의 실행에 매우 필수적인 장치를 가상화하여 가지고 있습니다. 해당 장치는 각각의 VM들에게 제공이 되어 각 게스트 운영체제가 사용하게 됩니다. 

  위 그림에서 좀더 주목해야 할 점은 VM 중 하나가 짙은 색으로 표시되어 있고 구동되는 어플리케이션이 Control Plane Software라는 점입니다. Control Plane Software가 하는 일은 VM들을 관리하는 일입니다. VM을 새로 생성하거나 제거하는 등의 동작을 수행할 수 있습니다. Xen에서는 기본적으로 Xentool이라는 Control Plane Software를 사용합니다. 결국 모든 VM에서 VM 들을 관리할 수 있는 것이 아니라, 한 VM에서만 관리 할 수 있습니다. 해당 VM을 도메인(Domain) 0 또는 특권 도메인(Privileged domain)이라고 부릅니다. (참고로 Xen에서는 VM을 Domain이라는 이름으로 부르고 있습니다.) 그 외의 도메인을 가리킬때는 도메인 U 또는 비특권 도메인이라고 부릅니다.

  도메인 0는 도에인 U를 관리하는 것 뿐만 아니라,  분리된 장치 모델(Split device driver model)을 지원하는 데에 사용되기도 합니다. 아래 그림은 해당 모델을 나타내고 있습니다.

 

 

  분리된 장치 모델은 CPU, 메모리, 인터럽트, 타이머 등의 장치는 포함하지 않고, I/O 장치들을 다루는 모델입니다. Xen은 분리된 장치 드라이버 모델을 통해서 I/O를 처리하고 있습니다. 이러한 모델은 신뢰성이 낮은 장치 드라이버 코드를 특정 게스트 운영체제가 대신 수행하게 하는 모델입니다. 하이퍼바이저가 드라이버 코드를 가지고 있지 않으므로 높은 신뢰성을 유지할 수 있습니다. 또한, 게스트 운영체제 간에 I/O를 효과적으로 공유할 수 있는 구조입니다. 일반적으로 실제 장치에 대한 드라이버 코드를 가지고 있는 VM을 드라이버 도메인으로 부릅니다. 드라이버 도메인에서는 백엔드(Backend) 드라이버를 통해서 다른 게스트 운영체제의 요청을 받아드립니다. 게스트 운영체제에서 장치를 사용할 때는 프론트엔드(Frontend) 드라이버를 통해서 드라이버 도메인에 장치 사용을 요청하게 됩니다.

  실제 장치 드라이버들이 반드시 도메인 0에만 있어야 하는 것은 아닙니다. 다른 도메인을 지정하여 그 도메인에 장치 드라이버를 놓을 수도 있습니다. 제조사를 신뢰할 수 없는 장치 드라이버를 실행해야할 때 이러한 방법을 사용할 수도 있습니다.

 

  이상으로 Xen에 대해 알아보았습니다. 다음 포스팅은 또 다른 하이퍼바이저인 Virtualbox의 사용법에 대해 다루도록 하겠습니다. 그리고 그 다음 포스팅은 Xen-ARM에 대해서 알아보도록 하겠습니다. Xen을 임베디드 환경에서 사용할 수 있게 만든 것이 바로 Xen-ARM입니다.

  그럼 다음 포스팅에서 뵙겠습니다.

 

참고문헌

[1] Barham, Paul, et al. "Xen and the art of virtualization." ACM SIGOPS Operating Systems Review 37.5 (2003): 164-177.

[2] Fraser, Keir, et al. "Safe hardware access with the Xen virtual machine monitor." 1st Workshop on Operating System and Architectural Support for the on demand IT InfraStructure (OASIS). 2004.