KVM and Xen are two major virtualization technologies. KVM and Xen are free and open source management programs.
Differences between KVM and Xen
- KVM: KVM is a lightweight virtualization manager module that comes from the Linux kernel. KVM virtualization requires hardware support, such as Intel cpus that support VT or AMD cpus that support AMD-V. KVM can run only on cpus that support virtualization.
- Xen: Xen is a virtualization solution in Linux. The implementation of Xen is based on the kernel that supports Xen functions. The kernel under the control of Xen is called Domain0.
Comparison between Xen and KVM virtualization architectures
About whether to write to the Linux kernel
KVM has been written into the Linux kernel by the Linux core organization. Xen is an external Hypervisor program (virtual machine manager) that can control virtual machines and allocate resources to multiple clients. After KVM is written to the Linux kernel, it is estimated that Xen is difficult to be written to the kernel. KVM, which is part of Linux and uses the usual Linux scheduler and memory management, is smaller and easier to use.
About Version Upgrade
Xen needs to recompile the entire kernel to update the version, which may cause the system to fail to start. KVM does not require a kernel recompile or any changes to the kernel (it is just a couple of dynamically loaded. Ko modules).
Compared with Xen, KVM has a more streamlined structure, less code, and less error rate. In some ways, KVM performs better than Xen.
Take Ali Cloud as an example. Ali Cloud virtualization technology includes Xen and KVM. New machines are KVM, while the old generation is Xen.
Full virtualization and paravirtualization
Xen supports full virtualization and paravirtualization, but KVM does not support paravirtualization.
Comparison table between KVM and Xen
Compare the item | Xen | KVM |
---|---|---|
Arrival time | In 2003, | In 2007, |
Support enterprise | Citrix, Novell, Oracle, Sun, Ret Hat (RHEL5) and Virtual Iron | Redhat, Ubuntu, etc |
Supported virtualization technologies | Full virtualization, paravirtualization | Full virtualization |
Support structure | X86, IA64 and AMD, Fujitsu, IBM, Sun, and others ARM, as well as x86/64 CPU merchants and Intel embedded support | Cpus that support virtualization |
Supported operating systems | UNIX, Linux and Microsoft Windows | UNIX, Linux and Microsoft Windows |
Live migration | support | Support (not previously supported) |
The kernel support | You need to patch the kernel | Built into the kernel |
The difference between virtual KVM and Xen is the difference between virtual KVM and Xen. Which is better