강좌
클라우드/리눅스에 관한 강좌입니다.
클라우드 분류

리눅스마스터1급 : 리눅스 기반 가상화 서비스 XEN

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

 

 

리눅스마스터1: 리눅스 기반 가상화 서비스 XEN

 

 

 

Xen은 오픈소스 type-1(bare metal) 하이퍼바이저이다.

 

 

 

하이퍼바이저는 type-1type-2로 구분된다.

 

 

 

다음 그림과 같이 type-1의 경우는 하드웨어 위에 바로 하이퍼 바이저가 있는 방식이다.

 

 

 

다른 이름으로 베어메탈(bare metal) 방식이라 한다.

 

 

 

type-2는 하드웨어 위에 OS가 있고 OS위에 하이퍼바이저 순으로 배열되며 이를 호스티드(hosted) 타입이라고 한다.

 

 

 

이러한 분류에 의한다면 Xentype-1으로 볼 수 있다.

 

 

 

 

 

26d2e055822c151092e84cbe15845354_1687157273_3104.png
 

 

 

 

Xen은 각기 다른 많은 운영체제를 하나의 컴퓨터에 병렬로 실행시키는 가상화이다.

 

 

 

Xen은 서버가상화, Iaas(Infrastructure as a Service), 데스크탑 가상화등 다양한 곳에 사용되고 있다.

 

 

 

 

Xen은 다음과 같은 특징을 가진다.

 

 

 

 

 

가벼운 용량과 인터페이스

 

 

Xen은 마이크로커널 디자인과 작은 메모리 사용량, 제한적인 인터페이스를 사용하기 때문에 다른 하이퍼바이저보다 더 강력하고 안전하다.

 

 

 

 

 

운영체제에 독립적

 

 

대부분은 메인 컨트롤 스택(일명 "Domain 0“)은 리눅스에 설치되어 실행된다.

 

 

 

리눅스 대신에 NetBSD, 오픈 솔라리스를 사용할 수 도 있다.

 

 

 

 

 

드라이버 격리(isolation)

 

 

Xen은 가상머신 내에서 실행하는 주장치 드라이버를 허용하는 기능이 있다.

 

 

 

드라이버가 충돌하거나 손상된 경우, 드라이버를 포함하는 가상머신을 재부팅하고 드라이버가 시스템의 나머지 부분에 영향을 주지 않고 다시 시작할 수 있다.

 

 

 

 

 

반가상화(Paravirtualization)

 

 

Xen은 전가상화, 반가상화 모두 지원하며, 완전하게 반가상화된 게스트는 가상머신으로 실행하도록 최적화 되어 있다.

 

 

 

이 게스트는 하드웨어 확장(HVM) 보다 훨씬 빠르게 실행할 수 있다.

 

 

 

또한, Xen은 하드웨어 가상화 확장을 지원하지 않는 하드웨어 환경에서도 실행할 수 있다.

 

 

 

 

 

 

Xen 구조

다음 그림은 Xen 위키에서 가져온 Xen 아키텍처 다이어그램이다.

 

 

 

Xen 하이퍼바이저는 하드웨어에서 직접 실행하고 CPU, 메모리, 인터럽트를 처리하는 역할을 한다.

 

 

 

이 하이퍼 바이저는 운영체제의 부트로더가 종료된 후 실행되는 첫 번째 프로그램이다.

 

 

 

Xen의 상단에 많은 가상머신들이 실행된다.

 

 

 

실행되는 가상머신 인스턴스를 Xen에서는 도메인 또는 게스트라고 부른다.

 

 

 

도메인 0은 가상 머신 생성, 삭제 및 구성을 관리할 수 있는 컨트롤 스택을 포함고하고 있으며 시스템의 모든 장치에 대한 드라이버가 포함되어 있는 특별한 도메인이다.

 

 

 

 

 

26d2e055822c151092e84cbe15845354_1687157292_3838.png
 

 

 

 

상세 구성 요소

 

 

Xen Hypervisor는 하드웨어 위에서 직접 실행되면서 CPU, 메모리, 인터럽트를 관리하는 역할을 하는 매우 가벼운(소스코드가 150,000라인 이하) 소프트웨어 계층이다.

 

 

 

하이퍼바이저는 운영체제의 부트로더가 종료된 후 실행되는 첫 번째 프로그램이다.

 

 

 

Xen 하이퍼바이저는 네트워킹 및 스토리지와 같은 I/O기능에 대해 관여하지 않는다.

 

 

 

 

 

게스트 도메인(가상머신)은 가상화 된 환경에서 자신의 운영 체제 및 응용 프로그램을 실행하는 것이다.

 

 

 

Xen은 두 개의 서로 다른 가상화 모드를 지원한다.

 

 

 

반 가상화(PV) 및 전가상화(HVM)가 그것이다.

 

 

 

두 개의 서로 다른 게스트 타입은 하나의 Xen 시스템에서 동시에 사용할 수 있다.

 

 

 

전가상화 게스트에서 반가상화 기술을 사용하는 것도 가능하다.

 

 

 

기본적으로 PVHVM 사이의 연속성을 만든다.

 

 

 

이것을 HVMPV라고 한다.

 

 

 

Xen 게스트는 하드웨어와 완전히 격리된다.

 

 

 

, 게스트는 하드웨어 또는 I/O기능을 액세스할 권한이 없다.

 

 

 

이것을 권한이 없는 도메인(DomU)라고 한다.

 

 

 

 

 

컨트롤 도메인(Domain 0)은 하드웨어를 직접 액세스할 수 있고, 시스템의 I/O 기능에 대한 모든 액세스를 처리하며 다른 가상 머신과 상호 작용을 하는 특별한 가상 머신이다.

 

 

 

또한 시스템이 제어되는 컨트롤 인터페이스를 외부에 제공한다.

 

 

 

Xen 하이퍼바이저는 Domain 0 없이는 사용할 수 없고 이는 시스템에 의해 시작되는 최초의 VM이다.

 

 

 

 

 

Toolstack과 콘솔 : Domain 0에는 사용자가 가상머신 생성, 삭제 및 구성을 관리 할 수 있는 컨트롤 스택(Toolstack)이 포함 되어 있다.

 

 

 

Toolstack은 명령행콘솔, 그래픽인터페이스, 오픈스텍(OpenStack) 또는 클라우드스텍(CloudStack) 같은 오케스트레이션(orchestration)을 위한 인터페이스를 제공한다.

 

 

 

 

 

Xen이 활성화된 운영체제 : Xen Domain0Xen이 활성화된 커널을 요구한다.

 

 

 

반가상화 게스트는 PV 활성화된 커널이 필요하다.

 

 

 

Xen을 포함하고 있는 리눅스 배포판은 Xen을 활성화한 커널, Xen 하이퍼바이저 및 도구를 포함한다.

 

 

 

 

게스트 종류

 

 

Xen 반가상화(PV)

 

반가상화는 Xen에 의해 소개된 효율적이고 가벼운 가상화 기술이다.

 

 

 

이 기술은 다른 가상화 플렛폼에도 채택이 되었다.

 

 

 

PV는 호스트 CPU에서 가상화 확장 기능을 필요로 하지 않는다.

 

 

 

그러나 반가상화 게스트는 Xen-PV 활성화 커널과 PV 드라이버가 필요하다.

 

 

 

그래서 게스트는 하이퍼바이저와 에뮬레이터 또는 가상 에뮬레이트된 하드웨어 없이도 효율적으로 실행될 수 있다.

 

 

 

Xen-PV활성화 커널은 리눅스, NetBSD, FreeBSDOpenSolaris에 존재한다.

 

 

 

리눅스 커널은 Xen-PV는 리눅스 pvops 프레임 워크를 사용하여 2.6.24부터 활성화 된다.

 

 

 

실제로 PV는 대부분의 리눅스 배포판과 함께 작동된다.

 

 

 

 

 

Xen 전가상화(Full Virtualization : HVM)

 

 

전가상화는 호스트 컴퓨터의 CPU 가상화 확장 기능을 사용한다.

 

 

 

HVMIntel VT 또는 AMD-V 확장기능을 요구하고 컴퓨터의 BIOS에서 가상화 확장기능이 활성화 되어 있어야 한다.

 

 

 

Xen은 게스트의 BIOS, IDE 디스크컨트롤러, VGA 그래픽 어답터, USB 컨트롤러, 네트워크 어답터등 PC 하드웨어를 에뮬레이트 하기 위해 QEMU를 사용한다.

 

 

 

가상화 하드웨어 확장은 에뮬레이션의 성능을 향상하는 데 사용된다.

 

 

 

완전가상화 게스트는 커널 지원이 필요하지 않다.

 

 

 

이것은 MS Windows 운영체제가 Xen HVM 게스트를 사용할 수 있다는 것이다.

 

 

 

완전 가상화 게스트는 일반적으로 에뮬레이션을 요구하기 때문에 반가상화 게스트에 비해 느리다.

 

 

 

 

 

전가상화에 반가상화

 

 

성능 향상을 위해 전 가상화된 HVM 게스트는 특별한 반 가상화 디바이스 드라이버들을 사용할 수 있다.

 

 

 

이 드라이버들은 전가상화 환경과 에뮬레이션을 우회하는 디스크 및 네트워크 IO에 최적화된 반가상화 드라이버들이다.

 

 

 

따라서 HVM에서 PV와 비슷하거나 더 좋은 성능을 사용할 수 있다.

 

 

 

이는 Windows 같은 게스트 OS에서 최상의 성능을 가질 수 있다는 것이다.

 

[참고 자료 : http://wiki.xen.org/wiki/Xen_Overview]

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  120 명