`
猫太的鱼
  • 浏览: 232975 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于KVM和Xen不得不说的事儿

阅读更多

本文选择性的翻译了Xen/KVM的开发者Anthony Liguori的一篇blog。在KVM刚出现的时候,媒体上有很多关于Xen的FUD。。。。比如Xen is dead啊,KVM进了Linux kernel,而Xen努力了很久也没有进啦等等。这篇文章从技术角度分析了KVM和Xen的差异,当然是站在一个Linux开发者的角度。 Anthony本人也是这两个项目的核心开发者,所以这篇文章就值得一读了。
—————————————–
“…现在围绕着KVM,Xen和Linux虚拟化的言论已经非常的让人感到困惑了。我将尽我最大的努力来澄清这些事情。。。。”
“我认为我们最终不得不承认我们–Linux 社区, 在Xen上犯了一个非常大的错误。Xen从来就不应该被包含进Linux发行版。我们已经开始考虑这个问题,已经在在密室里面低声谈论这个问题,已经开始尽我们的最大努力避免它。“
”我这样说,并不是因为Xen不是一个有用的技术,当然也不是因为人们不应该用Xen。Xen是一个而非常有用的项目,能够真正在企业环境里面产生巨大的影响力。只不过,Xen现在,将来,也不会成为Linux的一部分。因此,把Xen包含进Linux发行版只会使广大的用户对Linux和Xen之间的关系感到困惑。“
”Xen是一个基于Nemesis微内核的hypervisor。当前各Linux发行版包含Xen,默认安装了一个Linux guest(也就是dom0),并尽其最大努力掩盖Xen不是Linux的一部分的真相。他们这一点到做得很棒,以至于大多数的用户根本没有意识到他们正在运行一个完全不同的OS。这看上去有些荒谬。这就好像Linux发行版自动包含一个NetBSD的kernel,当你想运行LAMP的时候就切换到这个 NetBSD内核。我们不会在发行版中包含一个purpose-build的kernel。我们包含一个kernel,并且确保它对所有的用户都工作正常。这才是Linux发行版被成为Linux的原因。当你把Linux kernel拿走之后,它就不再是Linux了。“
”当个Linux发行版第一次包含Xen的时候,这主要是出于绝望。Virtualization过去是,现在也是一个热门的技术。Linux过去没有提供任何的native hypervisor的能力。大多数的Linux kernel开发者也对virtualization也知道得不多。因此Xen很容易的使用了一个purpose-build的kernel,并且这个 kernel还有一个相当好的community。我们做了一个龌龊的决定:包含Xen到发行版中,而不是把Linux变成一个合适的 hypervisor.“
”这个决定开始让我们感到头疼了,因为它使得大量的用户感到困惑。当人们在谈论Xen没有被合并到Linux,我不认为他们认识到了Xen将来永远也不会被合并到Linux。Xen将永远是一个独立的,purpose-build kernel。是有一些补丁能让Linux作为一个guest很好的运行在Xen之上。这些补丁很有可能在将来被合并到Linux,但Xen永远不会成为 Linux的一部分。“
”这并不意味着Xen已经死亡或者不应该鼓励用户从一个开始就使用它。在那个时候,Xen是一个最好的,可行的解决方案。即使在当前这个瞬间,仍然不清楚是否在所有的情况下,Linux作为一个hypervisor都要好于Xen. 我没有说,所有的用户都应该一股脑的从Xen迁移到Linux。。。“
”我是一个Linux开发者,像所有其他尝试着让Linux能很好的运行在所有的平台上,从大型机到DVD播放器,的Linux hacker一样,我将继续工作,让Linux成为一个hypervisor. Linux社区将把Linux变成一个最好的hypervisor. Linux发行版将停止为了virtualization包含一个purpose-build kernel,转而直接依靠Linux来实现它。“
”看一看业界其他公司,我很惊奇其他kernel没有走Linux这个方向:将virtualization直接添加到kernel里面。为什么 Windows不能很好地胜任作为一个hypervisor,以至于不得不重写一个新的kernel(Hyper-V). 为什么Solaris不能很好地胜任作为一个hypervisor,以至于需要SUN包含Xen在xVM中。“
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics