/ 中存储网

KVM再次引爆Type 1与Type 2 hypervisor战争

2011-04-20 23:52:10 来源:中存储

据IBM首席虚拟化架构师Michael Day所说,基于内核的虚拟机(KVM)口碑不佳更多是由于人们对它究竟是Type 1还是Type 2虚拟化平台存在误解。

争论由来已久,但是Type 1 与Type 2服务器虚拟化平台之间的区别仍在不断讨论之中,尤其是提到KVM的时候,因为它不适合归入任何一个类型中。

Michael Day在上周的Linux基金会合作峰会上就KVM神话做了演讲报告,他说:“围绕KVM的安全和性能,人们已经得出它究竟是Type 1还是Type 2的结论,一些IBM的用户已经看到并提及如下看法:如果KVM作为Type 2虚拟化平台运行在操作系统之上,性能将更难达到。他们同时暗示这样也更加不安全。”

KVM历史性争论

KVM是Linux内核中的虚拟化层。与所有的服务器虚拟化实现类似,它包括被称为虚拟机监视器的元素,该元素对工作负载及物理硬件资源和提供给应用程序的虚拟硬件之间的转化进行隔离。

Type 1和Type 2虚拟化平台之间的区别取决于VM监视器和客户操作系统之间的转化发生的次数。对Type 1虚拟化平台也就是裸机虚拟化平台来说,转化只发生一次。反过来说,Type 2虚拟化平台需要两次过程来游遍主机操作系统和VM监视器。

Hypervisor是什么?定义、种类及产品介绍


Hypervisor的两种类型(更多Hypervisor内容可见:Hypervisor是什么?定义、种类及产品介绍)

两种类型的虚拟化平台之间的区别可以追溯到一篇名为“可虚拟化的第三代架构在形式上的需求”的论文,这篇论文在1974年发表,作者是Robert Goldberg和Gerald Popek。当今,VMware vSphere、微软Hyper-V以及Xen虚拟化平台(提供开源和Citrix XenServer产品)被很多人认为是Type 1虚拟化平台,而OSX的Parallels、VMware Workstation以及Oracle VM VirtualBox,诸如此类产品通常被认为是Type 2虚拟化平台。

对KVM是Type 1还是Type 2虚拟化平台的混淆及争论的出现,部分是因为它是Linux操作系统的一部分。举例来说,在2009年,当时分析师Andi Mann就Xen和KVM的对峙写到:“KVM是Type 1还是Type 2主要取决于语义。”

然而,Andi Mann在那时强调:“Xen在更低的层(ring 0)运行并被管理,即使是创建新虚拟机,用户之间也不共享内存块,CPU指令或任何底层的(即使偶尔享有特权)的像KVM这样的Linux操作系统所共享的资源。这意味着KVM遭受着性能、延迟、安全、可扩展性、隔离性以及其他问题。而这些问题并不会影响真正的裸机虚拟化平台。”

IBM的Michael Day并不同意上述观点。在他看来,KVM符合Type 1虚拟化平台的定义,有两点原因:第一,它以内核模式在裸机上运行,并且使用硬件虚拟化。第二,KVM用户几乎花费他们所有的时间以直接执行模式运行,这是Type 1虚拟化平台的另一个评判标准,这个标准最初由Robert Goldberg定义。

Michael Day 又说道:“有趣的是Robert Goldberg在他之后的论文中摒弃了Type 1和Type 2虚拟化平台之间的区别。现在区别再次被提及,有很多博客对Type 1和Type 2虚拟化平台进行区分。”

现在Type 2虚拟化平台也不和之前的标准相匹配,因为自他们的论文发表以来,硬件和操作系统都已经改变了很多。

Type 1还是Type 2?非当务之急

虚拟化的赞成者说,当提及产品时,Type 1和Type 2虚拟化平台之间的区别依旧明显。

Bob Plankers是大学的一名虚拟化架构师,他说:“重要的是我没有更多的工作要做。如果是Type 2虚拟化平台,将给我带来很多的工作,因为我不得不维护底层的操作系统以及虚拟化平台。如果是Type 1虚拟化平台,所有的元素被封装在一起,能够一起维护。”

然而,Bob Plankers主要使用的虚拟化产品是VMware vSphere,当提及虚拟化管理和云计算的高级特性时,VMware vSphere在几年前已经抢在了竞争对手,包括KVM的前面。

Bob Plankers 说:“对我来说,实质上是支持并兼容KVM。每个人都了解VMware,VMware不遗余力地与所有人一同工作。它支持大量的硬件,也有很多软件支持在VMware虚拟化之下运行……相反,KVM没有如此成熟,明显没有相同数量级的受支持硬件。”

IBM Linux主管Jean Staten的一份声明中说到:“基于客户反馈,对Type 1和Type 2的讨论不是是否采纳KVM的前提。对今天开始关注虚拟化数据中心的用户来讲,采纳KVM是一个非常合乎逻辑的选择。然而,已经锁定专有虚拟化平台的用户可能发现转换更加具有挑战性,因此他们可能需要时间把KVM融入到全部的数据中心战略中。