服务器 频道

Linux KVM与Xen的性能比较

  Linux 2.6.20内核的预发行版已经引起很多人的关注. 其中热点包括增加异步SCSI扫描, 多线程USB检测和许多驱动更新,其中最引人关注的是一个全虚拟化的解决方案(非半虚拟化, 不过kvm已经支持半虚拟化, 见相关文章'KVM的半虚拟化: KVM-paravirt'). 基于内核的虚拟机(或简称为KVM)是一个由Qumrannet开发和赞助的开源项目. 本文主要介绍KVM在linux上与其它虚拟技术QEMU Accelerator和Xen的性能比较.

  Linux 2.6.20内核部分包含了用于管理虚拟化硬件的设备驱动程序. 其它主件包括kvm用户空间程序, 一个修改过的QEMU版本. linux kvm的硬件虚拟需要Intel虚拟技术(VT, Virtualization Technology)或AMD安全虚拟机(SVM/AMD-V)的支持. 也就是说, kvm使用的x86处理器至少需要包含其中一项虚拟化技术(Intel-VT或AMD-V). 支持运行KVM的CPU包括Intel Core系列, Xeon 5000系列, Xeon LV系列. AMD的Socket F和AM2处理器.

  KVM增加了一个新的客户模式, 每一个虚拟机都是一个由linux调度程序管理的标准进程. 这样我们可以使用通常的进程管理工具来管理每一个虚拟机. linux 2.6.20-rc1和最新的内核已经包含了KVM内核主件, 而且我们还也可以在更老的内核(2.6.16到2.6.19)上运行kvm. KVM支持Intel主机, AMD主机, Linux客户机(x86和x86_64), Windows客户机(x86), SMP主机和非动态迁移的客户机. 正在开发的功能包括: MMU虚拟优化, 动态迁移, SMP客户机和Windows x64.

  无论你是通过内核内置或者内核模块方式使用kvm, 建立客户操作系统的过程都十分简单. 首先创建好映像文件(qemu-img支持kvm), 然后运行kvm内核主件(内核内置或者内核模块方式).

  系统安装

  kvm需要运行在至少含有AMD或Intel虚拟技术的x86/x86_64处理器上, 至少1GB系统内存(为客户机准备足够的内存). 我们使用了两个Dual-core双核心Intel Xeon LV处理器, linux 2.6.20-rc3内核(于2007年1月1日发行). 下面是我们的系统状况:

  硬件部分:

  处理器: 2 x Intel Xeon LV Dual-Core 2.00GHz

  主板: Tyan Tiger i7520SD S5365

  内存: 2 x 512MB Mushkin ECC Reg DDR2-533

  显卡: NVIDIA GeForce FX5200 128MB PCI

  硬盘: Western Digital 160GB SATA2

  光驱: Lite-On 16x DVD-ROM

  冷却部件: 2 x Dynatron Socket 479 HSFs

  机箱: SilverStone Lascala LC20

  电源: SilverStone Strider 560W

  软件部分:

  操作系统: Fedora Core 6

  我们选用的基准测试包括Gzip压缩, LAME Complication(编译), LAME encoding(编码)和RAMspeed. 我们使用的虚拟环境QEMU .8.2(含kqemu accelerator模块), Xen 3.0.3和KVM. 我们也比较了这些虚拟化环境和没有任何虚拟化技术的Fedora Core 6 Zod. 在Xen 3.0.3测试当中, 我们使用了全虚拟化而不是半虚拟化技术. 测试中使用的映像文件大小为10GB. 整个测试过程使用的操作系统是Fedora Core 6 Zod.

 

0
相关文章