六大虚拟化技术大比拚(2)

日期: 2008-04-09 来源:TechTarget中国

  Virtuozzo迎合大量服务器环境


  多个虚拟服务器在一个内核上运行,具有高性能和出色管理优点。


  SWsoft公司的Virtuozzo能够处理在一个主机系统上运行的大量虚拟服务器,它有一套出色的管理工具和开放的API,从而简化了自动化管理。


Virtuozzo


  Virtuozzo并不与VMware或者微软的虚拟产品正面竞争,因为它不提供硬件仿真机制,不过这也让它的扩展性远胜于其他虚拟化产品,每个物理主机可望提供几百个虚拟服务器。因此,Virtuozzo及基于主机的其他虚拟化产品的主要对象是大规模的Web和应用主机托管环境及一些质量保证应用。Virtuozzo采用的方法类似Solaris容器和BSD限制分区(BSD jail),原因就在于经过改动的操作系统内核的单一实例可以支持多个虚拟专用服务器(VPS)。面向Linux的Virtuozzo支持这款免费操作系统的多个版本。它可以安装在Red Hat、Fedora或者CentOS等平台上,可以管理运行任何这些Linux版本的VPS,包括Suse Linux Enterprise Server 9和Debian,不过它们都共享一个内核。另一方面,面向Windows的Virtuozzo提供类似功能,但可以运行Windows 2000/2003 VPS。


  当然,Virtuozzo的共享主机设计意味着运行在特定服务器上的每个VPS在操作系统内核方面肯定有着同样的基本配置。因此,需要应用和服务运行在VOS上将确定这种方案是否适合特定情形。


  VPS在Virtuozzo下的性能相当出众,大多数情况下,系统资源占有率不到3%。


  另外,Virtuozzo管理工具也极为全面。它们允许管理员定制每个虚拟服务器的细节,并且监控单台服务器的性能,它们还提供了全面的报警和报告功能。因为Virtuozzo原本就是为了让每个物理主机处理大量的VPS,所以管理工具也旨在处理大量的服务器版本以及应用软件的动态安装。


  要完成构建20台服务器的任务,只要选择预定义模板,然后指定起始IP地址及另外几个全局配置选项,就这么简单。20台服务器可以在短短几分钟内全部构建完毕,即可使用。跨多个VPS安装应用软件同样很简


  只需要拖放操作。所有的应用模板可通过Red Hat软件包管理器(RPM)或者文件树来构建,这样一来,构建定制模板就非常简单。用于把定制代码与Virtuozzo后端程序集成的API也相当全面,为实现VPS创建及改动的完全自动化提供了一条非常便捷的道路。


  除了Virtuozzo商业产品外,SWsoft还支持开放源代码版本的Virtuozzo——OpenVZ,该产品可以免费下载。不过,该版本缺少Virtuozzo的优秀管理工具。正是优秀的管理工具使得Virtuozzo解决方案真正脱颖而出。


  Xen 3.0让准虚拟化技术成为主流


  开放源代码hypervisor把虚拟化技术融入了操作系统内核。


  在2003年的Xen项目启动之前,准虚拟化技术(paravirtualization)闻所未闻。这项技术是指经过改动的操作系统把特权操作指令重定向至功能薄薄的“hypervisor”层,而不是直接把它们发送到CPU。特权操作指令是裸机代码,负责调整虚拟内存以及与设备之间进行通信。这种方案的效率远远高于在CPU指令层截获特权操作系统并加以重定向,而VMware、微软虚拟服务器及基于硬件仿真的其他虚拟化解决方案都属于后者。


  Xen把自己植入到Linux源代码树里面,相当于新的CPU架构。如果你把Linux和作为目标架构的Xen一起编译,最后得到的准虚拟化功能是内置、而不是外挂的Linux。引导时,Xen小小的hypervisor在Xen Linux主机内核加载前预先加载。之后,只要一个简单的命令即可启动Linux、BSD、NetWare,或者经过修改后作为Xen客户运行的其他少数主机操作系统。


  Xen的一大优点是,它详细地介绍了物理系统迁移到虚拟系统(这个过程通常很麻烦)的方法:使用dd命令,把引导驱动器从另一个服务器拷贝到本地文件上,然后把Xen指向该文件,最后就可以引导虚拟机了。用不着寻求任何其他帮助。


  尽管安装及运行简单,但开放源代码的Xen绝不是没有多少特性的简易方案。Xen客户虚拟机运行速度快,这还不足以描述其全部优点。Xen的速度之快不仅仅体现在计算速度方面,衡量虚拟化性能的一个标准就是吞吐量,而Xen在这方面不负所望。而说到存储,Xen也具有非同寻常的灵活性。客户虚拟机可以使用专用的驱动器或者阵列、现有驱动器上的专用分区,或者安装在主机上的其中一个文件系统上的磁盘镜像文件。


  Xen配置参数保存在文本文件中,其管理界面是一小组简单的命令行指令。Novell正在为Xen开发GUI管理界面。要是服务器数量有限,Xen简短、可编制脚本的单行命令在启动、关闭、查询虚拟机控制台的状态及连接到虚拟机控制台等方面就相当出众。把运行中的虚拟机从一个物理服务器迁移到另一个(Virtual Iron和VMWare VirtualCenter等虚拟产品具有的一项特性)也是单行命令可实现的。Xen声称,迁移的速度最快。确实,迁移过程只需要几分之一秒,在HTTP和SMTP(电子邮件)会话过程中几乎注意不到。而且由于它开销很小,Xen可以完全用于维持高可用性。


  XenSource网站声称:“Xen现在、将来都会一直是开放源代码。”相对商业软件,开放源代码项目往往需要作一番取舍。开放社区只有接受这种取舍,才能推广开放源代码运动。但Xen不需要照顾和优待获胜,等Xen 3.0在今年第三季度交付,那既是开放源代码项目的里程碑,又是得到赞助公司XenSource支持的商业企业解决方案,它将因为物有所值的优点而成为开放源代码项目的典范。


  AMD和英特尔把虚拟化功能嵌入到芯片


  如果软件不必从事所有的繁重任务,性能就会得到大大提升。


  如今AMD和英特尔都提供了硬件辅助的虚拟化技术,这虽然不是什么技术突破,却为今后取得技术突破拉开了帷幕。AMD的安全虚拟机(SVM)和英特尔的虚拟化技术(VT)表明CPU的设计理念及由此而来的架构将会出现巨大变化。


  AMD和英特尔都在力图解决同一个问题,所以最终提出了相似但独特的解决方案。问题就是落后的CPU架构采用软件虚拟化,从而带来了庞大的开销。解决方案就是让CPU处理繁重的任务。


  这两家芯片生产商采取的第一步都是先使各自的CPU能够截获并重定向改变系统状态的请求。在单机单操作系统模式下,操作系统有权自行改变CPU、芯片组及外围设备的状态。这对实现高效虚拟化而言显然是个障碍。如果对系统所作的改变不生效,客户操作系统就会崩溃。维持这样一个不切实际的单机主系统是实现虚拟化的最沉重负担。


  而补救方法就是确保任何一个操作系统都不能阻止计算机与其他操作系统共享。软件则通过执行特权指令来改变系统状态。确认及重定向这些指令属于软件虚拟化的最繁重的任务,这也是AMD和英特尔决定首先要解决的问题。


  如果操作系统基于SVM或者VT运行,任何特权操作指令在完成之前都能被截获、并被发送到由hypervisor建立的入口点。hypervisor是“管理管理程序的管理程序”,它成了惟一持有及授予改变系统状态这项特权的主体。比如说,如果客户要求映射一部分虚拟内存的请求被截获,hypervisor代码就会交出早就为该客户预留的一部分内存,从而满足这个请求。


  在虚拟化服务器上,这类特权操作每秒执行几百次或者几千次,因而可以想象,如果用软件来处理,情形会有多糟糕。英特尔和AMD把特权指令截获功能嵌入到了CPU里面,并且为新指令添加了保存及恢复扩展系统状态(如果你愿意,也可以是操作系统实例上下文)的功能。VT和SVM的优点不止这些,但截获和上下文是最重要的优点。


  AMD充分利用了其AMD64架构的优点,特别是CPU的板上内存控制器。英特尔的内存控制器在CPU外面,因而并不能意识到VT。AMD64的板上内存控制器已得到了升级,具有嵌套分页功能(nested paging),从而为每个客户实例提供了各自的内存地址转换表。英特尔的架构客户内存地址转换需要用软件来实现。


  除此之外两者实施的虚拟化技术还有其他不同之处。不过,具有硬件加速功能的虚拟化解决方案一开始都会把目光锁定这两种技术之间的重叠之处。相信不久,用户们就会看到为了利用AMD64改进之处而专门开发的系列产品。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐