LXC and KVM virtualization technologies are both great in their own respects. There are some differences between the two - functionality related and performance related. Please read more details below to assist in determining which technology will best fit your needs.
LXC
LXC relies on the host machine's kernel and operating system to function. Because of this, some functionality is limited, such as:
- Using Windows and other operating systems. - Installing new kernels. - Changing kernel sys values.
There are also benefits to using LXC:
- May be better performing then KVM as there is no hypervisor overhead. - Lower cost. Because the overhead is lower, the overall cost to host the containers is lower than KVM. We pass those cost savings to our customers.
KVM
When using KVM, you will not generally run into features which aren't supported as in the case with LXC. KVM servers run their own operating system, with its own kernel, and virtual hardware. This allows:
- Using Windows or *BSD-based operating systems. - Running specialized OSs such a routing, firewall, and other network-centric operating systems. - Using your own container technology such as OpenVZ, LXC, Docker, or many others.
While KVM may offer slightly lower performance than LXC in some ways, the stability, features, isolation, and flexibility it offers allows our customers the ability to accomplish any workload when required.
More Information
For further information, please see the following links:
KVM and LXC are both great technologies with some differences. Use LXC if you know you will use only Linux-based operating systems, and you will never need to tweak or install your own kernel. Use KVM if you are unsure and want to limit any future issues, want to customize your kernel, want to run container technologies yourself, or want to run Windows or *BSD.