Skip to content

가상화기술 정리

현재 사용되는 가상화의 기술…
  1. Hardware Emulation – MAME,  Bochs, QEMU가 여기에 해당됩니다.

  2. Full Virtualization – Hardware위에 바로 Hypervisor가 올라가고 그 위에 GuestOS가 올라갑니다.
    Microsoft의 Windows 2008 hyper-v, VMware의 ESX Server가 여기에 해당됩니다.
    GuestOS의 수정을 거치지 않고 하드웨어와 연결됩니다.

  3. Para Virtualizaiton – Hardware위에 Hypervisor가 올라가고, GuestOS에 하드웨어를 인식할 수    있게 OS를 수정한다. XenExpress, VirtualIron 이 여기에 해당된다.

  4. OS Level Virtualization – 하드웨어위에 kernel이 수정된 OS가 올라가고 그 위에 Private Server가    탑재되는 것으로 대표적인 것이 Virtuzzo가 해당됩니다.

  5. HostOS 기반 Virtualizaiton – 하드웨어위에 기본 OS가 탑재되고, 그 위에 가상화 서버 솔루션이    올라가고, 그 위에서 GuestOS가 동작합니다.

대표적으로 VMware Workstation, VMware Server, VirtualBox, Microsoft의 VirtualPC 등이 해당됩니다. 물론 Linux위에서 돌아가는 Xen Open 버전, 레드햇 5.1안에 탑재된 Xen 등도 여기에 해당됩니다.
paravirtualization은 아래단에 있는 hypervisor가 guest들에게 virtualization을 관리하는 “hyper call”을 제공 해 줍니다.
hypercall은 linux의 system call에 대응되는되는 것으로, 예전에 ibm이 os를 supervisor로 부르고, os를 관리하는 소프트웨어를 그 아래단에서hypervisor라고 부른 것에서 유래했습니다.
para-virtualization은 guest들이 시스템 하드웨어를 억세스하는 경우 직접 억세스하는게 아니라 이런 ypercall을 사용하게 수정되어야 합니다.
과거에는 Para Vritualization의 속도가 월등히 빨랐습니다.

XenServer의 경우 다른 가상화 인터페이스와는 비교도 되지 않을 만큼 빠른 속도를 보여줬습니다.
하지만 최근에 CPU에서 Intel VT나 AMD V 기술을 제공한 후 Full-Virtualization의 속도도 Para-Virtualization 못지 않게 빨라졌습니다.
그 동안 사랑 받았던 Para-Virtualization은  성능상의 이점이 없어 졌기 때문에 이제는 “Full-virtualization”이 많이 활성화되고 있습니다.

많은 사용자 들이 Sun의 VirualBox나 MS의 Hyper-v를 사용하는 것도 이러한 이유 때문입니다.
실제로 하드웨어에서 가상화를 지원하게 된 후 많은 반가상화 연구자들이 의욕을 잃었다고 합니다.
참고: http://en.wikipedia.org/wiki/Comparison_of_application_virtual_machines

Published inLinux