linux 内核虚拟化,Linux内核虚拟化KVM详解

8fe51fc1478bff8d733a15bc1871572a.png

Linux 2.6.20内核包含一个全新的虚拟技术: KVM(Kernel-based VirtualMachine), 全称为基于内核的虚拟机。 它很友好, 稳定和高性能。KVM发布到网上后,很容易就赶上其它的虚拟化解决方案如Xen, OpenVZ和Vserver, 它们都基于其它的方法, 都在努力集成到Linux

内核之中,但KVM成了最后的赢家。

从简单CPU性能测评来看,KVM的效率与native的效率相当,与传统虚拟技术比,有相当的竞争力。它的出现可能会完全改变我们使用集群和部署系统的方式。

原理简介

当前存在几种不同的虚拟技术: 一种是半虚拟化技术(Paravirtualization), 客户操作系统需做一些修改;另一种是全虚拟化技术(Full Virtualization), 客户操作系统无需任何修改。

我们知道全虚拟化技术是以降低性能来提高兼容性, 因为在虚拟化环境中如果没有客户操作系统的协助, 系统将很难达到较好的性能。另一方面, 近来新处理器的开发缩短了这方面的差距。最新的IntelVT(虚拟技术, Virtualization Technology)和AMD SVM(安全虚拟机, Secure Vir-tual Machine)从硬件上支持了虚拟技术,试图取代半虚拟化技术。KVM在标准的Linux内核中增加了虚拟技术, 从而我们可以通过优化的内核来使用虚拟技术。

在KVM模型中, 每一个虚拟机都是

一个由Linux调度程序管理的标准进程。

一个普通的Linux进程有两种运行模式:

内核和用户。而KVM增加了第三种模式:

客户模式(有自己的内核和用户模式。图1)

KVM由两个部分组成:

◆一个是管理虚拟硬件的设备驱动,

该驱动使用字符串设备/dev/kvm做为管

理接口。

◆另一个是模拟PC硬件的用户空间

组件, 这是一个稍做修改的qemu进程。

基准测试

Windows XP的安装速度很快, 接下

来进行一些基准测试。这里测试工作是部

分性的, 非标准测试,目的是从实验来理

解KVM的一些特性。一旦完成Windows

系统的安装, Windows客户机甚至可以在

未经修改的QEMU上运行, 而且重新编译

和安装了kqemu, kqemu是一个由qemu

原作者开发的QEMU加速模块(QEMU

accelerator module)。最后,选择了两个测

试软件: PCMark2002和Super PI(版本

1.1e)。注意测试硬件的处理器是Intel

E6600(图2、3)。

可以发现kqemu和KVM比单独的

QEMU模拟器的性能要强很多。而且可以

看到kqemu只比kvm好一点点。但是随

着技术的发展,KVM的性能会不断改进

的, 毕竟比起其它虚拟技术,KVM还很年

Linux内核虚拟化KVM详解□ 宋吉广

b7a90984d3f54abb147502597d1462f6.png

9276d19b04814f4c83d09d279090b564.png

KVM

4678ed367c8409aaf887e112cb2574ec.png

375ff53bec921e99c9966d4d3ca0cec5.png

集成到Linux

d291240a26bba085f021a2002ed80e25.png

25a8438b1f267d473d90f6e4f7d1d4cc.png

ccc9d490a622022ca7eb441f1d3d7727.png

8f23cabca28f720c3d127238679ffe32.png

官方内核当中,它将变成一个日用品。

linux 内核虚拟化,Linux内核虚拟化KVM详解_第1张图片

linux 内核虚拟化,Linux内核虚拟化KVM详解_第2张图片

图3

48 软件世界 2007.6.5

你可能感兴趣的:(linux,内核虚拟化)