虚拟化方式及最佳应用的研究

日期: 2008-04-17 作者:Anil Desai 来源:TechTarget中国 英文

虚拟化是一个笼统的说法,可以适用于许多不同的技术。如存储系统、数据库和网络都可以通过某种方式进行虚拟化。许多舆论都关注在相同的硬件上允许不同的独立的操作系统运行的所谓的“虚拟服务器”。Microsoft(美国微软公司) 和 VMware的产品在这个方面是领先的。

  尽管虚拟服务可以提供巨大的好处,但它并不是虚拟化的唯一选择。在本文中,我将从正反两方面就各种的虚拟化方式讨论一些细节。目的是对特定的工作找出最佳的虚拟化方式。   虚拟化方式概述   图1高度概括的显示了一个可以被虚拟化处理的标准服务栈。

自下而上最底层的是硬件层,然后是操作系统层,最上面是应用层。   图1:各种虚拟化层   在深……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

虚拟化是一个笼统的说法,可以适用于许多不同的技术。如存储系统、数据库和网络都可以通过某种方式进行虚拟化。许多舆论都关注在相同的硬件上允许不同的独立的操作系统运行的所谓的“虚拟服务器”。Microsoft(美国微软公司) 和 VMware的产品在这个方面是领先的。

  尽管虚拟服务可以提供巨大的好处,但它并不是虚拟化的唯一选择。在本文中,我将从正反两方面就各种的虚拟化方式讨论一些细节。目的是对特定的工作找出最佳的虚拟化方式。

  虚拟化方式概述

  图1高度概括的显示了一个可以被虚拟化处理的标准服务栈。自下而上最底层的是硬件层,然后是操作系统层,最上面是应用层。

虚拟化

  图1:各种虚拟化层

  在深入讨论具体技术细节之前,先回顾一下虚拟化的主要目的。第一是确保彼此独立的操作系统和应用软件可以在相同的硬件上运行。第二是尽可能多地提供同低层硬件系统的接口。第三是在性能开销最小的情况下完成上述工作。这可不是一系列简单的目标,但还是可以达到的(而且有多于一种的方式)。让我们看看是如何实现的。

  硬件级别的虚拟化和管理程序

  我们将从系统的底层,硬件层开始。理论上,直接在硬件上运行的平台应该是用最少的开销以提供最好性能的。VMware 的ESX Server就是一个例子。ESX Server包括一个最小的操作系统都直接安装在所支持的硬件平台上。管理员通过可以用网络浏览器访问的网络应用程序进行管理。

  系统管理程序是运行于硬件和操作系统之间的一个很小的层。此外,它的目的是避免那些与“主”操作系统有关系的开销的产生。Microsoft(美国微软公司)和其他供应商未来的虚拟平台将会转向基于系统管理程序的模式。

  尽管底层的方法看起来是理想的,但还是有一些缺点。最重要的问题是设备的兼容性。为了在所有的设备上都很好地工作,平台就必须支持所有连接到主计算机上的设备。目前,ESX Server之类的产品只能在通过了认证的硬件平台上运行。尽管支持许多主流的服务器平台,但这种途径的兼容性显然没有其他的方式好。

  另一个问题是可管理性。专用的虚拟层必须提供一些管理虚拟服务的方法。虽然有各种各样的方法,包括操作系统“钩子”和基于网络的管理方式,但这些都要比其他的选择复杂。

  服务器级别的虚拟化

  那些知名和好用的都是运行于服务器级别的虚拟化产品。VMware GSX Server和Microsoft Virtual Server 2005就是最好的例子。这些产品都是安装在主操作系统(如支持的Linux 系统或者Windows服务平台)中的。在这种方法中,虚拟机在某个系统服务器或者主操作系统的硬件驱动程序与硬件通信的应用程序中运行。

  图2 显示了Microsoft Virtual Server 2005虚拟服务器的实例。

服务器
  
  图2:一个服务器级别的虚拟栈实例

  服务级别的虚拟机带来了管理上的便捷(因为主操作系统的标准管理手段可以被使用),增加了硬件兼容性(通过使用主操作系统的设备驱动程序)并且集成了文件和网络安全服务。所以无论在使用桌面电脑还是服务器系统,你都可以在短短几分钟之内开设这些虚拟机平台。

  有一个不足就是需要为必须的主操作系统增加额外的开销。有效的虚拟机使用投入中必须除去内存、中央处理器、磁盘、网络和其他主机必须的资源的开销。通常,主操作系统都需要一个许可证。最终,服务级别的虚拟化方法总是没有硬件级别的效益好。

  应用级别的虚拟化

  在有些时候,运行多个独立的操作系统是没有必要的。如果只是想建立一个允许多个用户同时运行几个应用程序的实例,就没有必要为每个用户都建立单独的虚拟机。这正是应用级别的虚拟化方法。

  应用级别的虚拟机运行在操作系统的上层,并把标准的应用程序(如包括Microsoft Office的应用程序)放在独立的环境中。每个用户通过计算机得到他或她自己唯一的产品安装配置。在后台,文件系统的修改,注册表的设置和其他细节表现在单独的环境中,并且独立的显示给各个用户。Softricity 和 SWSoft是两个提供应用级别虚拟方案的供应商。

  这种方式得主要好处是削减了大量的支出(因为只需要一个完整的操作系统),并改善了可扩展性(许多用户可以同时在一个服务器上运行同一个程序)。通常只需要一个操作系统的许可证(用于主操作系统的)。不足是只有软件的设置是独立的。如果一个用户想要改变系统的硬件配置(如内存或者网络配置)或者操作系统版本(通过补丁或升级),那么使用该系统的其他用户也会产生这些改变。

  瘦客户端和远程应用执行

  自从大型计算机出现后(当他们以并不太亲切的名字“哑终端”而闻名时),就有了精简客户端的概念。这个概念是用户们可以通过最简化的软件和硬件与中央服务器建立远程连接。所有的应用程序都在服务器上运行,只有键盘、显示器和鼠标等输入和输出设备的数据通过信号线进行传输。Citrix 和 Microsoft Windows Server 2003 Terminal Services的解决方案就是这种方式。

  选择最佳的方法

  现在你了解了这些选项,那么,你如何在特定的任务中选择最好的虚拟化方式?

  表1提供了一些典型任务的实例。一般而言,从硬件级别到服务级别再到应用级别的虚拟化,使你在获得可控制性的同时,也在牺牲系统的独立性。“最好的”解决方案决定于特定的任务以及其他相关的细节。底线是,当决定采用虚拟方案时有多种可选项,所以确保把它们考虑全面。 

虚拟化方式

作者

Anil Desai
Anil Desai

Anil Desai是独立顾问。他擅长基于微软技术的评估、执行和管理的解决方案。Anil Desai处理微软的Server产品和互联网发展平台,并且管理支持上千台虚拟机的数据中心环境。Anil获得了MCSE、MCSD和MCDBA认证,同时也是微软MVP。 Anil Desai写了很多技术书籍,主要关注微软Server平台、虚拟化、活动目录、SQL Server和IT管理。最近,他写了管理Microsoft Virtual Server的指南和Microsoft Virtual Server脚本指南。他作了许多会议报道,同时也是技术杂志的撰稿人。

相关推荐