Hardware Virtual Machine vs Paravirtualization
3 types of virtualization:
- Full Virtualization (HVM): guest OS thinks that it is running directly on the hardware; uses a hypervisor, which directly communicates with a physical server's disk space and CPU. Each virtual server is independent and unaware of the other virtual servers.
- Para-Virtualization (PV): guest OS knows that it is running on a hypervisor instead of base hardware, recognizes that other virtual machines are running on the same machine; uses a hypervisor, each OS on the virtual servers is aware of one another.
- OS-Level Virtualization (Containers): does not use a hypervisor. The virtualization capability is part of the physical server OS (e.g.
cgroup
).
Xen supports 2 virtualization types; Amazon supports 2 types as it runs on Xen.
PV
- An OS or Kernel called Hypervisor is installed on the hardware.
- Dom0 is called the "privileged domain" which can issue commands to the hypervisor.
Pros
- Stability/Performance is close to the real servers and hardware virtualization.
- Overhead is very low.
Cons
- Implementation is tough.
- Both the host & guest kernels has to be patched.
- Supports Linux only.
- can’t change the OS options during install.
- Can’t compile and install a custom kernel.
HVM
- Stands for Hardware-assisted virtual machine.
- Provides complete hardware isolation. The hardware provides support to run independently for each OS.
Pros
- Can run Linux and Windows.
- Complete secure hardware isolation.
- Resembles close to a physical server.
- Greater stability.
Cons
- Low performance, because of the overheads at the hardware level.