使用Linux虚拟化十个理由
2010-01-30 22:36:49 阿炯

通过虚拟机软件,你可以在自己的主机操作系统中创建一个或者多个客户虚拟机,这些客户操作系统允许你做任何想做的事情,比如测试alpha或者beta操作系统,或者不稳定的程序版本,而不用担心会破坏自己的主操作系统。当使用基于应用程序的虚拟机软件(也称为管理程序)时,你的计算机操作系统通常称为主机,在VM界面中运行的辅助操作系统通常称为客户。

对于很多云技术供应商、虚拟软件生产商以及大型IT公司来说,Linux是他们首选的虚拟化平台。的确,Linux虚拟化有很多非常诱人的优点,让你无法割舍。以下就列出了Linux虚拟化的10大优势。

软件和网络开发人员将从这个应用程序中受益最多,他们可以在单个物理机的预设环境中测试其软件,将节省大量时间。即使没有互联网连接,销售人员也可以在任何地方的笔记本电脑上显示正在运行的客户端/服务器应用程序。

10.大厂商支持
VMware、思杰、红帽和Ubuntu等大型软件厂商都选用Linux作为各自虚拟化技术的平台。为什么呢?原因有很多,但是最主要的原因在于Linux的性能。

9.价格
是的,我知道我是在白费口舌,但你必须承认,价格确实是一大卖点。物美价廉永远都是人们购买产品时的首要原则。尤其是在目前全球经济低迷,各大公司纷纷削减IT预算的条件下,价格是人们做出购买决策的一个重要因素。

8.性能
对大多数人来说,阻碍他们从物理机过渡到虚拟机的头号障碍就是性能。不过,Hypervisor技术和Linux的完美组合使得虚拟技术的性能能够与本地物理机性能相媲美。此外。SAN存储以及磁盘I/O性能瓶颈等疑难问题的解决,使得大多数对Linux虚拟化持怀疑态度的人心服口服。

7.稳定性
云供应商对于系统正常运行时间的要求是必须能够达到99.999 %。那么他们应该选择什么平台呢?答案就是Linux操作系统。为什么呢?因为Linux稳定性非常好。如果不更新内核,Linux不需要重新启动。

6.商业支持
VMware、思杰、红帽和Canonical Ubuntu各自都有一套Linux虚拟化商业支持解决方案。这些大型厂商提供的一流的支持,卓越的产品再加上最优秀的技术人员,让你没有任何后顾之忧。

5.硬件要求低
红帽,Ubuntu和Xen的虚拟化基础对于硬件的需求几乎低到了极点,它们能够安装在你使用的任何硬件设备上。关键在于使用Linux虚拟化技术你可以实现“梦寐以求”的少花钱多办事。廉价的硬件是人们选择虚拟化技术的主要原因之一,因为没有庞大的财政承担。

4.管理
一旦安装,VMware和CITrix Xen就能通过远程应用进行管理,而不是通过命令行。你可以与底层操作系统直接打较大,但你几乎不需要这么做。

3.Hypervisor技术
由于体积小,再加上能够作为并行操作系统运行,Linux成为了Hypervisor技术的首选平台。 VMware和Xen都是按照这者方式运作的。Hypervisor没有所谓的操作系统层这一概念,而是使用并行虚拟Linux系统,你仍然可以与系统本身进行互动。

2.社区支持
你不用担心遇到的任何问题,因为你拥有世界上最大的支持社区。类似DaniWeb这样的网站及其成员将会为你提供更方面的帮助。你无需为某个问题感到沮丧,你只需进行搜索或提问,那么一定会有热心人或遇到并解决过类似问题的人为你出谋划策。

1.开放性
开放的Linux虚拟化解决方案能够让你省去很多许可方面的麻烦。私有虚拟化解决俄方案比如Hyper-V并不可怕,但是如果你使用它,你就不会由某个厂商任其摆布。


下面将介绍虚拟化的相关分类:

全虚拟化 半虚拟化 硬件辅助虚拟化 操作系统级虚拟化

全虚拟化(Full Virtulization)

简介:主要是在客户操作系统和硬件之间捕捉和处理那些对虚拟化敏感的特权指令,使客户操作系统无需修改就能运行,速度会根据不同的实现而不同,但大致能满足用户的需求。这种方式是业界现今最成熟和最常见的,而且属于 Hosted 模式和 Hypervisor 模式的都有,知名的产品有IBM CP/CMS,VirtualBox,KVM,VMware Workstation和VMware ESX(它在其4.0版,被改名为VMware vSphere)。

优点:Guest OS无需修改,速度和功能都非常不错,更重要的是使用非常简单,不论是 VMware 的产品,还是Sun(Oracle?)的 VirtualBox。

缺点:基于Hosted模式的全虚拟产品性能方面不是特别优异,特别是I/O方面。

未来:因为使用这种模式,不仅Guest OS免于修改,而且将通过引入硬件辅助虚拟化技术来提高其性能,我个人判断,在未来全虚拟化还是主流。

半虚拟化(Parairtulization)

简介:它与完全虚拟化有一些类似,它也利用Hypervisor来实现对底层硬件的共享访问,但是由于在Hypervisor 上面运行的Guest OS已经集成与半虚拟化有关的代码,使得Guest OS能够非常好地配合Hyperivosr来实现虚拟化。通过这种方法将无需重新编译或捕获特权指令,使其性能非常接近物理机,其最经典的产品就是Xen,而且因为微软的Hyper-V所采用技术和Xen类似,所以也可以把Hyper-V归属于半虚拟化。

优点:这种模式和全虚拟化相比,架构更精简,而且在整体速度上有一定的优势。

缺点:需要对Guest OS进行修改,所以在用户体验方面比较麻烦。

未来:我觉得其将来应该和现在的情况比较类似,在公有云(比如Amazon EC2)平台上应该继续占有一席之地,但是很难在其他方面和类似VMware vSphere这样的全虚拟化产品竞争,同时它也将会利用硬件辅助虚拟化技术来提高速度,并简化架构。


硬件辅助虚拟化(Hardware Assisted Virtualization)

简介:Intel/AMD等硬件厂商通过对部分全虚拟化和半虚拟化使用到的软件技术进行硬件化(具体将在下文详述)来提高性能。硬件辅助虚拟化技术常用于优化全虚拟化和半虚拟化产品,而不是独创一派,最出名的例子莫过于VMware Workstation,它虽然属于全虚拟化,但是在它的6.0版本中引入了硬件辅助虚拟化技术,比如Intel的VT-x和AMD的AMD-V。现在市面上的主流全虚拟化和半虚拟化产品都支持硬件辅助虚拟化,包括VirtualBox,KVM,VMware ESX和Xen。

优点:通过引入硬件技术,将使虚拟化技术更接近物理机的速度。

缺点:现有的硬件实现不够优化,还有进一步提高的空间。

未来:因为通过使用硬件技术不仅能提高速度,而且能简化虚拟化技术的架构,所以预见硬件技术将会被大多数虚拟化产品所采用。


操作系统级虚拟化(Operating System Level Virtualization)

简介:这种技术通过对服务器操作系统进行简单地隔离来实现虚拟化,主要用于VPS。主要的技术有Parallels Virtuozzo Containers,Unix-like系统上的chroot和Solaris上的Zone等,以及现在流行的Docker。

优点:因为它是对操作系统进行直接的修改,所以实现成本低而且性能不错。

缺点:在资源隔离方面表现不佳,而且对Guest OS的型号和版本有限定。

未来:不明朗,我觉得除非有革命性技术诞生,否则还应该属于小众,比如VPS。


在十佳评测网上有对目前主流的虚拟机软件在各个方面的点评:"2019年最好的虚拟机软件推荐",此文值得一看。