Difference between XEN, KVM and OpenVZ?
Cloud Servers employ a technology known as virtualization: a technique where a physical server (known as node) is divided into virtual private servers (known as VPS, SSD-VPS, Storage-VPS, or VMs), which make it appear as if your site is running on a dedicated server.
There are three major types of virtualization being used by most hosting providers today. XEN, KVM and OpenVZ.
Xen is a bare metal hypervisor, which makes it capable of running multiple instances of virtual machines on a single host. These hosts are not constrained to the kernel of the host and for that matter do not even have to run Linux in the VPS. Xen Virtualization is capable of hosting Windows and BSD operating systems as seamlessly as a Linux guest. Additionally Xen is a very light hypervisor with a small foot print. This leave the valuable resources you need where you need it, for the guest virtual machines.
Another great benefit from a consumer perspective is that Xen cannot be over-subscribed. Each guest’s resources are allocated all the time on the host node. No sharing memory and hoping some is there when you need it! Xen supports both Hardware Virtual Machine (HVM) and Paravirtualization (PV) in the hypervisor.
We at zetservers.com only use Xen on our virtualization nodes in order to offer a great performance for our clients.
KVM (Kernel-based Virtual Machine) is, on the other hand a full virtualization solution for Linux containing virtualization extensions (Intel VT or AMD-V). Using KVM, one can have Linux and Windows virtual machines running side by side on the same hardware. Each virtual machine has private virtualized hardware: own kernel, a network card, disk, graphics adapter, etc. Since it has its own virtualized hardware, the virtual server will act completely on its own.
Because of KVM maintains separate instances for each virtual server it uses significantly more resources than OpenVZ form a host perspective. in overhead to create/maintain separate instances for each VM.
OpenVZ is container-based virtualization for Linux. OS level virtualization means many basic components exist once on the machine, and are used by all guests (like the identical kernel). That means that each container shares the same underlying OS but still operates as secure, isolated Linux container. Each container performs and executes exactly like a stand-alone server; a container can be rebooted independently and have root access, users, IP addresses, memory, processes, files, applications, system libraries and configuration files. This way you use the resources more efficient but at the same time you can not run different OS types (Linux and Windows).
The cons however is that it’s not easy to migrate to other platforms, the only kernel modules available are the ones loaded by the host and if you are missing something, it is up to the provider to add it or not.
There are a lot of providers that advertise dedicated resources and use OpenVZ for virtualization in order to cheat you. Get more information about a hoster before you purchase in order to not get fooled.
Thank you for reading our article.