最近KVM很火热,我们也报道了很多KVM相关新闻。但是到底什么是KVM呢?KVM的作用和优势是什么?可能很多人还不太了解,这里我们详细介绍KVM的基础知识,供新人学习。
一、什么是KVM
Kernel-based Virtual Machine的简写,是RHEL 5.4推出的最新虚拟化技术,目前红帽只支持在64位的RHEL l5.4以上运行KVM,同时硬件需要支持VT技术,必须在64位bit环境中使用KVM。
通过一下命令可以查看系统是否支持VT
cat /proc/cpuinfo | grep 'vmx'
KVM的前身是QEMU,08年被红帽收购并获得一项技术hypervisor,不过RedHat的KVM被认为是将成为未来Linux hypervisor的主流。
二、KVM的组成
一个是管理虚拟硬件的设备驱动,该驱动使用字符串设备/dev/kvm做为管理接口。
linux进程有两种模式:内核和用户模式,KVM新增加一种客户机模式。
三、KVM的作用
提高物理服务器的资源利用率(较少的在硬件上的投入)
可以批量部署
实现实时快照技术
支持克隆技术
可以实现虚拟机的离线迁移和动态迁移(提高IT部署的灵活性)
可以将资源动态调整(传统的IT架构资源是固定的,无法动态分配)
四、KVM的优势
KVM与VMware的优势
ESX的底层是VMkernel + linux,VMkernel启动后开始接管对硬件管理,然后启动第一个linux虚拟机,协助VMkernel一起来管理和调度硬件资源。
KVM是直接将linux kernel变成hypervisor,只需要从标准linux内核启动即可,linux kernel拥有的特性可以全部利用上。KVM架构上的优势使得它非常简洁,在开发出来仅三个多月就被合并到了标准内核。
KVM与Xen的优势
Kvm和xen的最大区别就是架构,KVM是直接构建在linux kernel之上,把linux kernel变成hypervisor,是利用kernel已有的的功能基础上开发KVM所不具备的功能。
Xen的hypervisor是自己从头开始构建的,对硬件资源的调度管理,虚拟机的管理,还有很多接口与linux kernel不兼容,然后对于xen,hypervisor需要通过Domain0对虚拟机提供硬件访问驱动支持。
虽然说现在3.0的kernel中结合了xen,但是大部分linux OS的内核还是2.6,即便是一些新的发行版OS,也还是2.6的内核,新内核要单独去升级。
上面列举了两个例子,都与KVM进行了对比,但并不是就代表其他虚拟化技术不好,大家做技术的都知道,适合自己的才是最好的。
五、KVM发展趋势
随着虚拟化技术的发展,如今的虚拟化技术已经走向了企业关键业务领域。红帽推出了基于KVM内核虚拟机技术的虚拟化系列方案,旨在将虚拟化技术应用于企业部署,异构平台管理和云计算架构。