Virtualisation on Linux
Linux a great platform for different kinds of virtualization
Virtualization is wonderful
Virtualization is a wonderful solution, both for small home use as well as for the professional data centre. Linux comes with many solutions. Some are part of the stock kernel, others require some addition to the kernel. Some offer "real" full virtualization, some offer virtualization on the operating system level. What all the solutions have in common is that they work well and are free.
KVM: the hypervisor that is build into the Linux kernel
KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). KVM makes it possible to run multiple virtual machines running unmodified Linux, OpenBSD, Free-BSD, or Windows or even Debian GNU/kFreeBSD images. Each virtual machine has private virtualized hardware: a network card, disk, graphics adapter, etc.
A great start to learn more about KVM is http://www.linux-kvm.org
My KVM related pages
LXC Linux Containers
LXC Linux Containers is the latest addition on virtualization to the Linux kernel. It provides operating system-level virtualization.
Very often full virtualization is not needed and containers virtualization will do fine. Containers virtualization or operating system-level virtualization is very efficient and very fast. Also it is easy to implement and a can provide a lot of fun.
My LXC related pages
Other virtualization solutions
KVM and LXC Linux containers are not the only two ways to virtualization on your Linux system. Both KVM and LXC are build into the stock Linux kernel (KVM only on x86-hardware). If possible. always prefer this to systems that require a tainted kernel.
Here are some other virtualization solutions on Linux:
- Xen: full virtualization, just like KVM.
Not as easy to get up and running as KVM, but a solution that is used by many professionals.
- OpenVZ: operating system-level virtualization, just like LXC.
OpenVZ is more mature as LXC and is very often deployed as Virtual private server. OpenVZ is not part of the stock kernel and several distributions are switching to LXC Linux containers.
See also my Virtualization on a laptop page.