2014년 3월 1일 토요일

KVM vs XEN


가상화

 가상화란 컴퓨팅 리소스의 추상화를 통해 다수의 운영 체제 또는 애플리케이션 이미지가 하나의 물리적 서버를 공유하도록 함으로써 총소유비용을 극적으로 절감하고 관리성을 개선할 수 있게 하는 프로세스를 말한다.


전가상화 & 반가상화


  • 전가상화(Full Virtualization)
    • 491cec5902703 (400×200)
    • 하드웨어를 완전히 가상화 하는 방식, 하드웨어를 완전히 가상화하기 때문에 게스트 OS에 아무런 수정없이, 또한 윈도우에서 리눅스까지 다양한 OS 이용가능
    • 전제조건 : 물리적인 가상화 지원 기능이 있어야 함. CPU의 Intel-VT나 AMD-V 기능 필수
    • 단점 : CPU의 사용으로 성능 저하 발생
  • 반가상화(Para-Virtualization)
    • 491cec5940821 (400×200)
    • 전가상화와는 달리 하드웨어를 완전히 가상화하지는 않음. 게스트OS가 직접 하드웨어를 제어하는 것이 아니고 하이퍼바이저에게 의뢰, 하이퍼바이저가 제어를 하기때문에 높은 성능 유지 가능
    • 대표적 기술로는 XEN, KVM
    • 단점 : 게스트 OS의 커널의 일부분을 수정해야 하는 단점, 따라서 게스트 OS는 오픈 소스에 한정됨

하이퍼바이저(hypervisor)

 하이퍼바이저(hypervisor)는 호스트 컴퓨터에서 다수의 운영 체제(operating system)를 동시에 실행하기 위한 논리적 플랫폼(platform)을 말한다.

Type 1 / Type 2



  • Type 1 (native 또는 bare-metal)
    • 운영 체제가 프로그램을 제어하듯이 하이퍼바이저가 해당 하드웨어에서 직접 실행되며 게스트 운영 체제는 하드웨어 위에서 2번째 수준으로 실행된다. 
    • Xen, Citrix의 XenServer, VMware의 ESX Server, L4 마이크로커널, TRANGO, IBM의 POWER 하이퍼바이저(PR/SM), 마이크로소프트의 하이퍼-V, 패러랠서버, 썬의 로지컬 도메인 하이퍼바이저 등이 있다.
    • 히타치의 Virtage 하이퍼바이저같이 플랫폼의 펌웨어에 하이퍼바이저를 넣기도 하며 KVM은 하이퍼바이저 안에 완전한 리눅스 커널을 넣었는데 이것도 Type 1 이다.
  • Type 2 (hosted)
    • 하이퍼바이저는 일반 프로그램과 같이 호스트 운영 체제에서 실행되며 VM 내부에서 동작되는 게스트 운영 체제는 하드웨어에서 3번째 수준으로 실행된다. 
    • VMware Server, VMware Workstation, VMware Fusion, QEMU, 마이크로소프트의 버추얼 PC와 버추얼 서버, Oracle(SUN)의 버추얼박스, SWsoft의 Parallels Workstation과 Parallels Desktop이 있다.

KVM


  1. CPU의 가상화 지원기술(Intel-VT, AMD-V)이 필수인 전가상화만을 지원하기에 Xen처럼 가상머신의 커널을 수정해줄 필요가 없음
  2. ESX Server나 XenServer 등과 같은 전용의 하이퍼바이저가 아닌 Linux 자체를 호스트 OS로 이용
  3. 관리툴로서 에뮬레이터인 QEMU가 필요
  4. KVM에서 가상화를 제공하기 위해서는 한 가지 전제 조건이 붙는데, 사용하는 CPU에서 HVM(Hardware Virtual Machine) 기능을 제공해야 한다는 점이다. x86 아키텍처의 HVM으로는 Intel의 VT-x와 AMD의 SVM가 있다. 
  5. 같은 x86 아키텍처이라고 할지라도 가상화 기능은 벤더마다 다르므로 벤더별로 구현해야 하는 단점이 있다.


XEN


  1. Xen은 Type 1 하이퍼바이저이므로 호스트 운영체제가 존재하지 않는다. 
  2. Xen에는 도메인 0라는 특수한 도메인이 존재한다. 도메인 0는 실제 물리 디바이스와 통신하는 디바이스 드라이버가 있고, 각 도메인을 제어한다. 

참고


  • http://onestep.tistory.com/94
  • http://blog.daum.net/blue_05/12
  • http://blog.naver.com/lsj7610/80155779618
  • http://virtualhive.tistory.com/36
  • http://www.solanara.net/solanara/virtualization
  • http://technet.microsoft.com/ko-kr/magazine/hh802393.aspx



댓글 없음:

댓글 쓰기