Virtuozzo:服务器虚拟新思路

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

  SWSoft提供的服务器虚拟方法Virtuozzo对操作系统非常友好,而且富于创新。Virtuozzo与操作系统等基础设备共同创造一个和谐的环境,实现虚拟化。


  VMware虚拟和仿真的都是硬件层,而Virtuozzo则在主机服务器上与底层操作系统一起运行,并且通过生成主机chroot(虚拟根)禁区的方式来创建VPS(虚拟专有服务器)。它会严格控制网络和内核层,并对磁盘、内存和CPU配额实施控制。


  美国《InfoWorld》最近测试了SWSoft的Virtuozzo for Linux3.0版。这个产品于2001年发布,因此对于Linux而言,它已经有了很悠久的历史,但3.0版是最新版本。用于测试的版本有许多新的特性,并且基于2.6版本的Linux内核。


  Virtuozzo的创新性


  与VMWare的服务器虚拟方法相比,SWSoft的虚拟化有一些优势,比如,运行Virtuozzo所需的额外开销较少,因此可以在单台服务器上运行更多的虚拟服务器,而且不会对性能产生明显的影响。此外,服务器的管理也变得更加简单。


  不过,在使用该版本的Virtuozzo时,不能在Linux主机上运行Windows虚拟服务器,反之亦然。与VMware相比,Virtuozzo的每个VPS对底层主机操作系统的依赖性更强。


  另外,所有运行在单个主机平台上的VPS必须运行主机内核——即经过高度定制的Linux v2.6.8。对于一些开发工作而言,这种对主机操作系统的依赖性使Virtuozzo的吸引力大打折扣。然而,对于主机服务商和大型基础设施来说,这种依赖性反而成了一种优势,因为单台服务器可以承担更多的VPS,而且管理工具也非常顺手。单凭它的操作系统和应用模板特性就使Virtuozzo能够为用户节省大量的时间。


  Virtuozzo能够在单台主机上运行不同的Linux版本。例如,它可以在Fedora Core 4(FC4)主机上运行CentOS、Red Hat和SUSE虚拟专有服务器。另外,SWSoft还对主机操作系统内核进行了定制,使其能够与每一种已经得到认证的操作系统版本协同工作,真正地在/vz分区中运行一个完整的操作系统版本。


  该版本的后续VPS工作版本将创建类似chroot的禁区,而且差不多每个文件都被创建为一个基础版本路径的Symlink(建立符号连接)。这样,全新的VPS只会占用100MB的磁盘空间,而VMware下的每个虚拟服务器在安装时通常采用完全安装的方式,所占用的空间高达数GB。


  当需要对VPS内的任何文件进行添加和修改操作时,所有变化都在本地完成,不会对全局构成影响。为了防止主机操作系统受到篡改,像lsmod这种能够显示所有内核模块的工具都将与真正的可执行部分形成Symlink关系,并返回一个成功的exit code。


  Virtuozzo提供的模板虽然还远不够完整,但范围却非常广泛。幸运的是,SWSoft为管理员提供了足够的工具,管理员可以自己建立模板,整个过程就像是向标准的RPM(Red Hat Package Manager)提供任意版本或文件目录的指针一样。在模板创建之后,它可以在单个命令中应用于一个或多个VPS。


  在管理控制台中还有在每个VPS中快速修改Apache和Sendmail配置的控制面板,另外还有每个VPS的监视面板以及类似Windows性能监视器的实时使用率图表显示功能。


  建立VPS


  在实际应用中,Virtuozzo很可能被当作高端硬件,因此测试时使用的是一台HP ProLiant DL585服务器,配备4颗双核Opteron 852 2.4GHz处理器、16GB内存和100GB的本地RAID5存储器。由于64位Virtuozzo还没有上市,此次测试的是32位版本。


  测试中,在建立服务器时使用的是一套精简版的32位FC4,并且根据安装指南对磁盘进行了分区。基本的作法是建立一个小的根分区,不建立引导分区,另外还建立一个大的/vz分区来存放VPS数据。


  接下来,测试人员对操作系统进行了升级,并且运行Virtuozzo安装程序。这种升级非常简单,只需安装支持SMP(对称多处理)和UP(单处理)的定制内核。另外还有符合Red Hat所提供的bigmem内核的企业内核。安装程序还准备了安装服务器所需的/vz分区,并且安装了各种操作系统和应用模板,以及用于管理的VPS。然后是安装控制台,并与管理VPS连接。控制台非常有用,它所提供的直观界面能够很方便地对数十或数百个VPS进行管理。该管理控制台还支持主机集群管理。创建新VPS的过程非常简单。几乎每一个VPS选项都可以在模板中预先配置,而且VPS的创建还可以全自动完成。


  所有的图形用户界面命令都在CLI中有自己的根,而且还提供一个XML API,因此定制前台应用与Virtuozzo之间可以实现非常直接的交流。


  创建VPS是一个很有意思的过程,测试中在DL585上创建了100个VPS。首先为FC4选择了一个VPS模板,然后设定希望利用基础FC4版本、所有的开发工具和php4来创建两个VPS,我们可以为这些服务器指定CPU、磁盘、网络和内存配额,并且可以指定网络地址和根口令。


  在向导操作完成之后,两个VPS各用了两分钟完成了启动和运行过程。接下来,测试者又以同样的方式创建了16个CentOS 4 VPS,还有32个Red Hat AS 4 VPS。通过这种方式,很容易就能达到创建100个虚拟私有服务器的目标。在测试结束前,在四路DL585服务器上运行的VPS的数量超过了300个。


  测试数据分析


  在Virtuozzo的世界中,所有的VPS都在主机上运行,也就是说,尽管所有的VPS进程只存在于本地进程表中,但主机操作系统可以将它们全部显示出来。因此,如果每一个VPS都运行Apache,主机操作系统就会显示出所有的进程。在性能方面,Virtuozzo的额外开销非常小。在纯静态Web服务测试中,当同时运行100个VPS时,主机系统的吞吐量的成绩约为97%。


  Virtuozzo并不是VMware的终结者,它只是另外一种完全不同的虚拟化解决方案,这种解决方案提供的小型shell脚本工具编写得非常好,这基本上可以说明其整体代码质量很高。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

相关推荐