When you are purchasing a VPS from a provider you may be given the choice of a OpenVZ or a KVM VPS and you may be struggling over which to pick for your project.
We’ll be going over the differences and which choice of virtualization would be best for your use requirements.
OpenVZ is a container based virtualization method which can only run on Linux operating systems. As it is technically a “container”, it shares the Kernel with the host nodes operating system, and all other machines running on the node.
As OpenVZ isn’t a full virtualization method and instead container based, you can only run Linux based operating systems such as Ubuntu or CentOS. Running Microsoft Windows or FreeBSD is not possible on a OpenVZ VPS.
OpenVZ shares its resources with the other systems on the node, if you are not using your RAM for example then another VPS may “borrow” it from you while it is free. This makes it possible to “oversell” a node quite easily as the free space on each VPS can be used to run another, the downside being that if everybody uses 100% of their resources at the same time the node may crash.
Overselling is where a provider will sell more resources than they actually have available, for example if they have 128GB of RAM on their server and the users only normally use around 50% of their allocated resources, they may sell 200GB of RAM in VPSes to get a higher profit margin while still keeping the servers running. If done correctly and there isn’t a sudden demand by all the users for resources reselling will work fine, if all of the resources are required by many users at the same time there is a good chance that the server will crash.
Not all providers oversell so it may be worth checking with your host before purchasing.
As the OpenVZ container doesn’t need to emulate the Kernel for each VPS an OpenVZ should technically perform higher than a KVM VPS as CPU cycles aren’t used.
There are some major downsides to using a OpenVZ based VPS however, the Kernel that all OpenVZ servers run is quite old and is lacking features compared to the newer Kernels available on KVM machines. OpenVZ is also known to not be very stable too and often buggy with certain software. It is also impossible to upgrade the operating system on a OpenVZ machine, you cannot upgrade from Debian 7 to 8 for example and must reinstall instead.
An OpenVZ is usually much cheaper than a KVM based machine as they are oversold by the host, this means you can find offers that are very cheap when paid yearly if you go for a OpenVZ machine.
A KVM VPS is a method of virtualization that fully emulates a system. You can run any operating system that you please on a KVM VPS as it will virtualize the Kernel. This means that you have a choice of a Linux operating system, Windows or even BSD.
KVM gives you dedicated resources for RAM and storage meaning that there are no burst resources or resource sharing like you will find with an OpenVZ VPS. You may still share your CPU with the other users as it is not dedicated (depending on the host) so you should check with your provider before you go burning your cores.
A KVM machine is very hard for the provider to oversell so most do not attempt it, if you really need your resources then a KVM is the best option.
Even though an OpenVZ VPS should technically be faster than a KVM based VPS, it has usually been the opposite in my experience.
KVM VPSes are more stable than their OpenVZ counterparts, this is due to a few reasons including the fact that you have your own dedicated Kernel which is up to date and can be modified directly, you have your own dedicated RAM and storage and the fact that the operating systems you install are as they should be when developed and not modified to run in a contained environment.
KVM machines also cost a significant amount more than their OpenVZ based opposites but make up for it with the above features.
Use Cases – What should I Pick?
We’ll try to make it easy for you to decide between the two with a simple table below.
|Use Case||Description||Final Verdict|
|Basic LAMP / LEMP Stack for low traffic website||If the website is something basic such as a small WordPress based website or a HTML page with a small amount of traffic then an OpenVZ based VPS will fit your needs perfectly. This is because OpenVZ based machines are very inexpensive and since your site won’t have a large amount of traffic there is no need for dedicated resources.||OpenVZ|
|LAMP / LEMP Stack for high traffic website||When running a high traffic website you will need the dedicated resources of a KVM to prevent the site from crashing or running slowly.||KVM|
|Email (IMAP / SMTP) Server||Depending on the additional software that you run on your mail server either of a KVM or OpenVZ VPS will work fine in this use case. I would personally go for a KVM for the added privacy however it is completely up-to you.||KVM / OpenVZ|
|Personal OpenVPN Server||For something like a personal VPS server then OpenVZ will work fine. This also applies to the NAT based servers you can get which work very well as a VPN server. You also don’t need a high amount of resources to run a VPN. We wrote a guide to installing a VPN here.||OpenVZ|
|Teamspeak 3 or equivalent VOIP Server||For something like a small VOIP server OpenVZ will work fine as it doesn’t require a high amount of resources. When running a higher populated server however a KVM may be better as if someone else on the node uses all of their resources then the users voices may lag.||OpenVZ / KVM|
|Anything involving a Windows or BSD based Operating System||Because OpenVZ can only run Linux based operating systems, you will need a KVM based VPS to be able to run anything other than Linux.||KVM|
|Game Server||If you’re running a game server on your VPS then you will require dedicated resources to prevent the users from experiencing lag. It is best to use a KVM because of this.||KVM|
|Docker or cPanel based servers||As Docker relies on a form of virtualization to work you will require a KVM for it to work without issue. Although it is possible to run on a OpenVZ VPS the experience will be quite buggy. The same goes for cPanel to an extent, because of all the processes running in a cPanel installation the experience will be much better when running on a KVM based VPS.||KVM|
|Anything involving advanced setups or Kernel modifications.||As OpenVZ uses a shared Kernel and system files with the other users on the node and the host it’s self, you are not able to modify the Kernel in any possible way. If you require a custom Kernel then you will need to use a KVM based VPS.||KVM|
If you think there’s anything we should add to this guide, please leave a comment below!