Ubuntu服务器应用KVM实现虚拟化速成手册
本文教大家如何让KVM在Ubuntu服务器上顺畅运行、安装多个访客操作系统、管理存储,以及将访客操作系统迁移到新主机上。
作为Linux内核虚拟机管理程序,KVM称得上是企业级虚拟化领域的后起之秀。它有诸多优点:非常精简,因而占用资源少,运行起来速度快,可以轻松自如地运行没有经过改动的访客操作系统。在这堂速成课中,我们会迅速让KVM在Ubuntu服务器上运行起来、安装多个访客操作系统、管理存储,以及将访客操作系统迁移到新主机上。
KVM与Ubuntu服务器
KVM的全称是“基于内核的虚拟机”,最先由Qumranet公司开发而成。2008年,红帽公司收购了Qumranet,将KVM作为服务器版红帽企业级虚拟化(RHEV)的核心部分。KVM采用了GPL许可证模式,是主线内核(mainline kernel)的一部分,因而任何Linux发行版都能支持它。KVM是一种类型2虚拟机管理程序,这意味着它在操作系统里面运行。一些流行的类型2虚拟机管理程序包括Xen和VirtualBox。类型1虚拟机管理程序(如IBM的z/VM和VMWare ESXi)则可以直接在裸机上运行,不需要什么操作系统。KVM几乎支持任何访客操作系统:Linux、Mac OS X、Unix、Windows以及你所采用的其他任何操作系统。
系统要求
就这堂速成课而言,你需要配备英特尔VT或AMD-V处理器的Ubuntu计算机,因为这些处理器包含特殊的扩展功能,可以原生支持虚拟机。(想了解更多信息,请参阅KVM的处理器支持页面:http://www.linux-kvm.org/page/Processor_support)。我在本文中使用了11.04 Natty Narwhal 64位版本。我建议使用Ubuntu服务器作为你生产环境的KVM服务器;但是进行测试的话,任何Ubuntu都可以。使用该命令,看看你的x86处理器有没有虚拟化扩展功能:
$ egrep -o '(vmx|svm)' /proc/cpuinfo
vmx
vmx
这个示例显示了能够支持虚拟化的双核英特尔处理器。你可能不得不在你系统的BIOS中启用虚拟化扩展功能。确保这项功能已启用,否则KVM无法正常运行。
你可以在64位系统上运行32位或64位访客操作系统,但是在32位系统上却只能运行32位访客操作系统。使用大量内存是好事,使用多核处理器也是如此。Ubuntu服务器占用系统资源很少,因而给你的虚拟机访客操作系统留出了更多资源。Ubuntu服务器系统的最低要求是300 MHz处理器、128 MB内存和1 GB硬盘空间。这个要求非常低。为了测试KVM,我建议至少为你的访客操作系统配备2 GHz处理器、2 GB内存以及足够的磁盘空间,另外还要有数据存储系统。为生产服务器配置资源很难做到非常准确。如果你仅仅把所有访客操作系统的系统要求叠加起来,很可能面临一台配置过度的机器,除非你的访客操作系统始终在全速运行。虚拟机的其中一个优点是,可以更高效地使用硬件,因为当一个访客操作系统闲置时,另一个访客操作系统忙碌运行。如果你配置资源过少,服务器变得不堪重负时,那么可以将访客操作系统转移到不同主机上。所以,你有很大的活动余地,不需要一开始就在资源配置方面做到完美。