KVM--基于内核的虚拟化技术
2008-03-28 16:41:44 来源:WEB开发网这种方法有许多优势,通过添加虚拟化功能到一个标准的Linux内核,虚拟环境能从所有正在Linux内核上运行的工作中受益,在这种模式下,每个虚拟机都是一个常规的Linux进程,通过Linux调度程序进行调度,通常,一个标准的Linux进程都有两个执行模式:内核模式和用户模式。对于应用程序而言用户模式是默认模式,当它需要一些来自内核的服务时就进入内核模式,如往磁盘上写入时。KVM添加了第三个模式:客户模式。
客户模式进程是运行在虚拟机内的,它非常象正常模式(无虚拟实例),有它自己的内核和用户空间变量、在客户模式下可以使用正常的kill和ps命令,因为无虚拟实例,KVM虚拟机表现为一个正常的进程,能象其他进程一样被杀掉,KVM利用硬件虚拟技术虚拟处理器的形态,虚拟机的内存管理由内核直接处理,目前的版本I/O在用户空间处理,主要通过QEMU完成。
一个典型的KVM安装包括以下部件:
一个管理虚拟硬件的设备驱动,这个驱动通过一个字符设备/dev/kvm陈列它的功能
一个模拟pc硬件的用户空间部件,目前,这在用户空间处理,它是一个稍微改动过的QEMU进程。
I/O模型直接衍生于QEMU,支持写时复制磁盘映像和其他QEMU特征。
你如何查明你的系统是否能运行KVM?首先,你需要一个支持虚拟化的处理器,这里有一个兼容KVM的处理器列表(http://wiki.xensource.com/xenwiki/HVM_Compatible_Processors),看看你的处理器是否在其中。另外,你还可以检查/proc/cpuinfo,如果在cpu flags字段看到了vmx或smx,那么你的处理器就支持KVM。
如何比较KVM和现存的管理程序
相对它的竞争者而言,KVM还是一个比较新的项目,与KVM的主要开发者Avi Kivity会面时,他是这样与其他解决方案做对比的:
更多精彩
赞助商链接