Linux KVM vs OpenVZ vs Xen Virtualization

Let us compare Linux KVM, OpenVZ and Xen virtualization technologies in this article. Virtualization technologies allow isolation of server resources within a bare metal server. With resource isolation, virtualization assigns the resources into different virtual private servers (VPS). VPS are also virtual machines, virtual servers or cloud servers. In addition to server resource isolation, virtualization technologies control network routing efficiently into the VPS.

What is Linux KVM?

Linux KVM (Kernel-based Virtual Machine) is a full virtualization solution. Using KVM, one can have Linux and Windows virtual machines running side by side on the same bare metal server. As full virtualization solution, KVM maintains separate instances for each virtual server. Hence, it uses significantly more resources than OpenVZ from a host perspective. Note that Google Cloud uses Linux KVM technology. Additionally, AWS started with Xen but is gradually shifting to Linux KVM too.

Pros: all applications should work exactly as on a dedicated server, usability of its own kernel, the flexibility of migrating from virtual machine to dedicated server.

Cons: the price of more resources needed for the host machine especially on disk I/O and CPU

What is OpenVZ?

OpenVZ is container-based virtualization for Linux only. Therefore, OS level virtualization means many basic components exist once on the host machine and are used by all virtual machines. This way hosting providers may use the resources more efficiently.

Pros: lower cost of resources on host machine. For end user, installation is easy with predefined templates.

Cons: it supports only Linux and you cannot modify or recompile missing kernel on host machine.

What is Xen?

Similar to Linux KVM, Xen is a full virtualization solution. The Xen daemon (xend) is a Python program that runs in dom0. It is the central point of control for managing virtual resources across all the virtual machines. Most of the command parsing, validation, and sequencing happens in user space in xend and not in a driver. Meanwhile, the original Xen Project is never intended for production use. The commercial version of Xen, Citrix Hypervisor is more viable for production environment.

Pros: provides sophisticated workload balancing.

Cons: relatively large footprint and relies on Linux in dom0.

Which is better? Linux KVM, OpenVZ or Xen?

Since OpenVZ’s footprint is the smallest, it will be the cheapest to setup. However because of the relatively narrow market, ie restricted to Linux virtual machines only, it may not make full commercial sense. On the other hand, Citrix Hypervisor is not free. Thus, Linux KVM will be the obvious choice for Hosting Provider.

VPS owners on the other hand, are likely to prefer Linux KVM too. Besides good isolation of resources through full virtualization, it is flexible enough to support both Linux & Windows VPS.

In the battle of Linux KVM, OpenVZ, Xen virtualization, the big brothers like AWS and Google Cloud choose Linux KVM. Let us safely assume that they have done their homework well.

 

Related Post