KVM(基于内核的虚拟机)是一个x86 Linux全虚拟化解决方案,需要硬件支持虚拟化扩展(Intel VT 或AMD-V),它由一个载入时内核模块kvm.ko(提供核心虚拟化基础设施)和一个处理器特殊模块kvm-intel.ko或kvm-amd.ko组成,在它上层需要修改过的QEMU。
使用KVM,我们可以运行多个Windows或Linux虚拟机,每个虚拟机都拥有自己的虚拟硬件:网卡,磁盘,显卡等。
从2.6.20开始,KVM就进驻了Linux内核,它是一个开源软件。
图 3 KVM
安装
KVM对处理器有着特殊的要求,因此在安装前最好先用下面的命令检查一下你的机器是否与它兼容:
egrep -c ‘(vmx|svm)’ /proc/cpuinfo如果上面的命令返回0表示不支持KVM,如果返回1表示支持。
在我的桌面电脑上返回了0,因此KVM最终也只在我的64位Gentoo笔记本电脑上做了测试,这台笔记本配置了英特尔双核处理器,我在Gentoo内核开启了KVM和kvm-intel模块。
如果在Ubuntu中可以安装KVM,你应该使用下面的命令来安装它:
$ sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utilslibvirt-bin提供了libvirtd,它可以用来管理QEMU和KVM实例。
ubuntu-vm-builder是创建虚拟机的命令。
bridge-utils在你的网络和虚拟机之间架起了一座桥梁。
得分:★★
管理
KVM没有提供官方的管理界面,但有大量的第三方工具可以管理KVM域,用的最多的要数Red Hat的virt-manager,它提供了一个简单但高效的图形界面。
来自Convirture的Convirt是另一个管理KVM虚拟机的GUI工具,它和virt-manager类似,都支持远程和本地机器。
在我的测试中,我只使用了命令行工具,为此我还阅读了kvm-img的帮助手册。
得分:★★
特性
支持32位和64位虚拟机
实时迁移
可选的半虚拟化
直接访问USB总线
仅支持Linux(它是Linux的一个内核模块)
开源
得分:★★。如果我是在评估服务器虚拟化解决方案,它应该得3分。
虚拟镜像
得分:★★
小结
KVM是一个集成的Linux解决方案,我发现用它创建的虚拟机响应速度不错,唯一的缺陷是少针对桌面解决方案的功能,如3D图形加速,或GUI管理工具。
总分:★8
总结
说了这么多,究竟哪一个虚拟化解决方案才是Ubuntu桌面的最佳选择呢?
就我所测试的这三个产品而言,对于那些只是想体验一下其它操作系统的初级用户,VirtualBox无疑是最好的选择。对于那些已经熟悉虚拟化的高级用户,并且属于命令控一类的人,KVM可能是他们的最爱。VMPlayer对于那些制作虚拟用具的人来说,可能更有吸引力。
就我个人而言,我喜欢在桌面电脑上使用VirtualBox测试最新的发行版,在我的笔记本电脑上,我使用的是KVM,我用它创建了一个虚拟机用于工作,我计划在我的服务器上也采用KVM。