최근 수정 시각 : 2023-12-13 01:25:26

Xen(가상화 프로그램)

<colbgcolor=#132428><colcolor=#000000>
파일:xen_project_logo_dualcolor_white.svg
개발 시트릭스 시스템즈, Intel, 리눅스 재단, XenSource
개발 언어 C
라이선스 GPLv2
안정화 버전 4.17.2
플랫폼 IA-32AMD64ItaniumPowerPC 등
홈페이지 #
소스 코드 #


1. 개요2. 특징3. 주요 구성 목록4. 여담

[clearfix]

1. 개요

Xen 이하 XenServer 및 Xen Hypervisor는 반가상화(Para-Virtualization)를 통해 Bare Metal 서버의 성능과 거의 일치하는 성능을 제공하는 가상화 플랫폼이다.

2. 특징

  • 반가상화(Para-Virtualization)
    경쟁자로 언급이 자주 되는 VMware ESXi와 비교했을 때 두드러지는 차이점은 반가상화(Para-Virtualization)를 구현했다는 점인데, 일부만 가상화하고 나머지는 게스트 OS가 직접 시스템에 접근할 수 있게 하여 매우 높은 성능을 달성한다(이론상 게스트 OS는 Hypervisor 없이 하드웨어에 직접 설치된 것과 거의 차이 없는 성능을 보여줄 수 있다). 다만 반가상화는 단점이 되기도 하는데, Intel-VT, AMD-V등의 하드웨어 명령어 번역기능을 지원하지 않는 호스트에서는 게스트 OS의 System call을 Hyper call로 대치해야 하므로 Linux 등 Kernel 수정이 용이한 OpenSource OS만 호스팅 가능했으나, 오늘날 엔간한 시스템과 OS는 해당 기능을 지원함으로 별 의미 없는 제약이 되었다(실제 너무 오래된 버전이 아닌 다음에야 Windows등 여러 OS들이 커널 수정 없이 잘만 설치된다).
  • 무료
    상업 서비스가 되는 프로그램임에도 불구하고 거의 대부분의 기본 기능이 무료이다. 다른 상업 Hypervisor들은 라이선스별로 하드웨어 제약 등(예를 들어 CPU 코어 갯수) 기본 기능에 제한을 두는데 반해 XenServer는 그러한 제한이 없다(그런데 개인 사용자가 가장 관심 보일 GPU Passthrough가 Enterprise 라이선스다).
  • Citrix의 지원
    Xen Project는 가상화, 가상 데스크톱(VDI)의 선두주자인 Citrix 산하의 프로젝트로 실제 Citrix사 솔루션의 소프트웨어 기반이기도 하다. 엄연히 기업과 국가를 상대로 하는 제품인 만큼 잘 검증되어왔으며 상당한 완성도를 지닌다. 실제 대형 클라우드 상업 서비스에도 가장 많이 채용되는 솔루션이다.

3. 주요 구성 목록

  • XenApp
    애플리케이션 가상화를 제공한다. SBC(Server Based Computing)에 특화되어있다. 여러 사용자가 게스트 OS 인스턴스 내의 여러 애플리케이션에 접근할 수 있다. 더 나아가 독립형 애플리케이션도 전송 가능하기 때문에 고정적이고 공통적인 작업에 적합하다. 내부적으로는 XenDesktop과 동일하며 콘솔이 어느 부분(Application)에 접속하느냐의 차이가 있을 뿐이다.
  • XenDesktop
    VDI(Virtual Desktop Infrastructure) 세션 브로커이다. 모니터와 입출력장치에 연결된 조그마한 터미널(Thin Client)로 XenServer가 호스팅 중인 게스트 OS에 접속, 마치 로컬 컴퓨터를 다루는 듯한 경험을 제공한다. 내부적으로는 XenApp과 동일하며 콘솔이 어느 부분(OS)에 접속하느냐의 차이가 있을 뿐이다.
  • XenServer
    반가상화를 구현한 Bare metal hypervisor 솔루션이다. 하드웨어를 반가상화 하여 여러 게스트 OS를 구동할 수 있다.

4. 여담

  • 소스 코드 공개, 높은 성능 등의 다양한 이점 덕분에 AWS EC2등 다양한 상업 Cloud 플랫폼에서 채용되고 있다.
  • 국내 개인 사용자에게는 VMware ESXi에 비해 인지도 면에서 크게 밀리는 편이다. 무엇보다 반가상화를 통한 높은 성능은 어디까지나 잘 조율되었을 때 보장되는 것으로 대충 Hypervisor를 올리는 데 성공하면 알아서 작동되는 전가상화에 비해 시스템을 맞출 때부터 신경 써야 할 부분이 많다[1]. 또한 ESXi에 비해 상대적으로 인터페이스가 불편한 감도 있다. 이런 불편함 때문인지 개인 사용자들이 성능적 이득을 체감 못하고 도로 ESXi로 선회하는 편이다.

[1] 물론 ESXi도 Pass-through나 GPU 가상화 등 고급 기술로 넘어가면 신경 써야 할 부분이 만만치 않다.