To begin with, we must identify what these two terms mean and their differences.
KVM VMs are fully virtualized machines. These virtualize the entire system stack. Meaning that they virtualize an entire computer including RAM, Hardware, and Operating System. These systems are more robust and typically are utilized for a wide variety of use cases.
LXC Containers are only abstracted at the Operating System layer. The Kernel is shared amongst all containers on a host. This leads to a very small footprint. LXC Containers have limitations that KVM machines do not. You cannot run Docker inside an LXC Container in this environment for example.
To find out which you need, consider the following:
- What applications do you plan to run?
- What do you want to achieve with your server?
- Do you need to install Windows or a Windows Server Product?
- Do you need to use an Operating System outside of the provided Templates?
These are just a few questions to ask yourself when determining which system suits your needs. If you answered yes to either of the last two questions, you need a KVM machine.
Be sure to read the dependencies of any packages/applications you plan to install to make sure that all of them are compatible with LXC containers before trying to install and utilize them.