panic moon / 虚拟化技术 / 全虚拟化 vs. 半虚拟化

0 0

   

全虚拟化 vs. 半虚拟化

2012-03-12  panic moon

全虚拟化 vs. 半虚拟化 - [virtualization]

Tag:vmware xen

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://lovewo2go.blogbus.com/logs/42383713.html

PV vs. FV
PV(Para-Vritralization)和FV(Full-Vritralization)的差别,主要以guest OS的硬件仿真程度做区分。

FV:FV 是一般较常看到的作法,所有的guest OS完全不会看到实际的硬件为何,只能使用由Supervisor所提供的所有虚拟硬件,因此,在这种机制下,guest OS动作的性能一定会大受虚拟接口的影响。另外还有一个特点,就是因为完全仿真的关系,不支持新的技术,连ACPI开关机的机制都无法使用,也就是当使用 者在FV的guest OS下,若直接触动关机的按钮(这里的按钮是由VMM所提供的,不是主机上的)会直接断电,而不会进行关机程序。

PV: 至于PV的作法,有鉴于一般Virtual Machine工具都是以完全仿真的方式,造成性能上的降低,因此,XEN在设计上,希望各操作系统可以在开发时就已经将XEN的技术包括进去,这样在使 用时,就可以用局部仿真的方式,让操作系统可以直接使用到硬件中的CPU、内存等,而不需要通过XEN做仿真的操作。

 

这样,若硬件都是由Virtual Machine仿真出来的,性能自然会变得比较慢,所以XEN所主推的概念就是,当操作系统默认支持XEN时就可以通过XEN的机制,直接使用到底层的硬件,而不是每个OS都要通过Hypervisor的接口,性能上就可大为提高。

在PV与FV的安装上,对CPU的要求是有差异的。以PV而言,因为OS原本就支持XEN,所以不需要经过特殊的处理步骤,因此,对CPU来于,没有特殊的要求,基本上都可以使用。
但FV就不同,因为FV模式是以完全仿真的方式进行,所以CPU必须要特别将此功能加入到CPU的核心中,因此,CPU是有特殊需求的。在Intel与AMD中针对Virtual Machine所加入的功能名称不同,分别为Intel VT与AMD-V。

在 目前Linux的世界,XEN并不是唯一的,除了XEN这一架构外,另外还有一个KVM(Kernel based Vitrual Machine),从2.6.20版本之后的Linux Kernel就支持其功能。因为KVM的做法是以原本Kernel为依据,只要将其module加载即可使用,唯一较XEN弱势的是KVM以单一Full Virtuallization为服务方式。


资料来源:http://en.opensuse.org/Virtualization_Terminology

 

从以上看来,我们现在用的vsphere是一个完全虚拟化的,因为它完全依赖于CPU的虚拟技术,这样它的性能有30%的区别也不奇怪。sun XVM也是基于Hypervisor技术,那天sun那人说的很厉害,我们看结果也会跟vmware差不多。

以上今天早上发给我的boss,现在需要改正一下,vsphere是支持半虚拟化技术的。

 

启用了 VMI 的可用内核包括 Ubuntu 7.04 (Feisty) 或更高版本。
使用 32 位 Intel x86 系统的标准映像。VMI 当前仅支持 32 位客户机。
注意 :只有硬件版本 7.0 虚拟机支持 VMI。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。如发现有害或侵权内容,请点击这里 或 拨打24小时举报电话:4000070609 与我们联系。

    猜你喜欢

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多
    喜欢该文的人也喜欢 更多