KVM简介
KVM:Kernel-based Virtual Machine,是基于Linux内核的开源虚拟化解决方案,从2.6.20版本开始被合入kernel主分支维护。最初只支持X86平台的上支持VMX或者SVM的CPU,不久后被确认为标准Linux内核的虚拟化方案并逐步支持S390、IA64和PowerPC等体系架构;KVM本身只提供部分的虚拟化功能(虚拟CPU和内存),而由经过特殊改造后的Qemu(Qemu-kvm)来帮助下提供完整的平台虚拟化功能
KVM属于硬件辅助全虚拟化技术,所以要求CPU必须支持虚拟化技术。
硬件辅助虚拟化(hardware-assisted virtualization)指的就是通过处理器提供的特殊指令来实现高效的全虚拟化,例如Intel-VT技术和AMD-V技术。
有了Intel-VT技术和AMD-V技术,Guest OS和VMM被完全隔离开来,同时,CPU虚拟化技术给CPU增加了新的Root模式,这样就实现了Guest OS和VMM的隔离。
KVM的历史
以色列的创业公司Qumranet创建了KVM
-
早期的主要开发者Avi Kivity
-
2006年10月,在完成基本功能,动态迁移,主要的性能优化后,正式宣布了KVM的诞生
-
2007年2月发布的内核2.6.20中,开始正式包括了KVM
2008年9月,Redhat 1.7亿美金收购Qumranet公司 -
RHEL 5.4,在集成Xe