Virtualization types

Lets compare different virtualization types.

Full Virtualization

This is common visualization type.

Examples: XEN, KVM, Virtual Box.
Positives:
  • No constrains on guest OS.
Negatives:
  • Performance is significantly slower than bare-metal: ~10% on common tasks, ~10%-80% on IO tasks.

Para-Virtualization

This is less-popular visualization type. Many modern virtualization solutions supports both: full and para-virtualization modes.

Example: VMware. Xen

Positives:
  • Performance is better comparing with full virtualization: ~5-10%, some slugs possible.  .
Negatives:
  • Guest OS should be prepared (have hooks to call host OS on critical tasks). In case of Linux guest OS - you should use modified kernel. Like for Xen guest OS kernel should have "xen" suffix - RedHead example: "kernel-xen-2.6.18-128.el5.x86_64.rpm".

Operating system-level virtualization

This is less-known visualization type, also known as containers, Virtual Private Servers (VPSs), or Virtual Environments (VEs). 
OS-level means that Host OS kernel have a virtual isolated containers. Each container - separate virtual machine. Inside container it is all looks like inside real OS. 
It is most lightweight virtualization type.

Positives:
Negatives:
  • Guest OS kernel IS host OS kernel. If host is Debian kernel-2.6.18, then gust OS-s can be: Debian kernel-2.6.18, ReadHead kernel-2.6.18, FreeBSD kernel-2.6.18, and so on. No changes to Guest OS kernel possible, no additional modules, no kernel recompiles.
 If you source on prices on all kings of visualizations, you find out that Operating System-Level type in twice cheaper !! than full with mostly same resources.

Comments