微软的Hyper-V和VMware的虚拟化有什么区别

微软的Hyper-V和VMware的虚拟化有什么区别
Hyper-V中的I/O架构
该架构极大地减少发送I/O请求所需的开销。如果Virtual Server用户把虚机迁移到Hyper-V中,能体会到高I/O的工作负载的CPU开销大大降低。
在虚拟化领域,微软是继VMware后最大的竞争者,它的出场引发了一个讨论:Hyper-V是否会超越VMware ESX Server成为主导的hypervisor。VMware与微软及其余竞争者之间的争论是一场热烈的战争,让想人起了Windows与Mac OS之间的战争。
VMware对 Hyper-V的看法
对于微软这样庞大的但在虚拟化领域的后来者,VMware方面认为,VMware是最有经验的公司。VMware有10年的虚拟化经验和一个庞大的用户基础,包括100%的财富500强公司和92%的财富1000强公司,全球总共有超过10万的用户。VMware还拥有11个虚拟化专利权,在2007 年,VMware的收入达到了13.3亿美元。
拥有新虚拟化产品的微软几乎没有企业虚拟化经验,到目前为止,还没有财富500强的用户在生产环境里采用微软的企业虚拟化产品。哪个公司听起来更能胜任提供你企业的虚拟化解决方案?
据称ESX已经有过运行1000多天而没有一次重启的记录;而由于Windows更新,Windows Server 2008 Hyper-V需要,每三十天重启一次。总而言之,如果你仅仅看到一个单独的VMware Infrastructure企业套件许可证要花费6950美元,相比一个单独的Windows Server 2008企业或标准的套件许可证来说,毫无疑问,VMware解决方案花费更多。然而,就性能而言,VMware仍然比微软的Hyper-V胜出一筹。
微软是毫不示弱给予回击
Microsoft Hyper-V 和VMware ESX Server都是基于硬件支持的Bare-Metal虚拟化产品,他们最大的区别在于,Microsoft Hyper-V采用了微内核的结构,而ESX Server是一个单内核的产品。
单内核的主要特点是硬件的驱动程序集中在Hypervisor一层,被Hypervisor上的所有的虚机所共同使用。当一个虚机的OS需要访问硬件时,它通过Hypervisor中的driver model来访问,这种单内核的Hypervisor能够提供很好的性能,但是它在安全性和兼容性上存在缺陷。由于驱动程序和一些第三方代码跑在一个很敏感的区域内,这种模式有了一个很大的被攻击面。
设想下某些不怀好意的代码被隐藏在驱动程序当中,然后跑在Hypervisor中,这会影响到所有的客户虚拟机,而且这是很难被发现的,因为对于实际被使用的虚机来说,Hypervisor这层是不可见的,所以无法通过一些病毒软件去监控它。另外一个问题就是稳定性,假设某个驱动程序当中存在bug,那么它将影响到所有的虚机。另外你还要求Hypervisor去支持所有的驱动程序,造成了这层体积较为庞大。所以单内核的Hypervisor一般被认为是胖Hypervisor。
而Hyper-V采用了微内核的结构,它是一个瘦Hypervisor。因为它里面没有驱动程序,所以在体积上Hyper-V更有优势,另外,由于微内核体积较小,所以运行的效率很高。驱动程序是跑在每一个分区里面的,每一个分区内的虚机OS都能够通过Hypervisor直接访问硬件,还使得每一个分区都相互独立,这样就拥有更好的安全性和稳定性。
除此之外,大多数虚拟化解决方案都是采用了硬件模拟来解决硬件访问的兼容性问题,但是也造成了很大的开销和性能损失。而微软的Hyper-V没有采用这样的做法,而是采用了Enlightenment(启蒙)技术。它能够对那些虚拟机操作系统进行启蒙,让它们明白自己是一个虚拟机,被启蒙过的虚拟机操作系统会记住虚拟化,所以他们可以不需要硬件模拟,而是通过VSP/VSC这套组件来进行的,当子分区内的操作系统需要访问硬件的时候,由子分区内的 VSC(Virtualization Service Client)通过VMBUS将request发给父分区里面的VSP(Virtualization Service Provider),然后由VSP去提供实际的硬件服务。通过这种方式来使用硬件,相对于使用硬件模拟的方法,其访问性能有了大幅度的提高。

松鼠  发表于: 2009-09-27

我要回答

电子邮件地址不会被公开。 必填项已用*标注

敬请读者进行回答,本站保留删除与本问题无关和不雅内容的权力。

相关推荐