“Which virtualization is better: KVM or OpenVZ?” This question comes up often when a customer is looking into a Virtual Private Servers (VPS). While there are many options to choose from, like Hyper-V, Xen, VMware, let’s examine and differentiate between two more common types which you can order in Hostens as well: KVM and OpenVZ.
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). 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.
Some pros with running OpenVZ is good performance and less resources needed for the host.
For the end user it often comes with predefined templates that are easily installed with only a few clicks.
The cons the only kernel modules available are the ones loaded by the host and if you are missing something there probably will be no option to enable it.
KVM (Kernel-based Virtual Machine) is, on the other hand a full virtualization solution. 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.
The pros with KVM is that 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.
These perks come with a price, the price of more resources needed for the host, meaning a small performance penalty regarding I/O and CPU