When physical space is an issue but you have virtual space to spare, virtualization is a great way to consolidate multiple server instances into one machine. Linux is very flexible when it comes to virtualization and even has virtualization capabilities built into the kernel.
There are three levels of Linux virtualization that determine how the virtual machine interacts with the physical hardware.
- Full virtualization – When the hardware fully supports virtualization, no software modification is needed. Some systems like KVM require this type of hardware compatibility. Intel calls it VT-x, whereas AMD calls it AMD-V.
- Paravirtualization – When all hardware is not supported, domains must be created to allow the VM to run in a simulated environment. Xen often uses this type of virtualization.
- Partial virtualization – This is the happy medium. If some hardware can be virtualized but others cannot, it is called partial virtualization.
Depending on your hardware and your needs, you may use one type of virtualization in one instance and use another at a later date. Once you know the type of virtualization you need, you can then decide on virtualization software that meets that criteria.