当前位置:首页 > 虚拟化技术介绍及分类
1.1 虚拟化技术发展史
虽然虚拟化技术在最近几年才开始大面积推广和应用,但是如果从其诞生时间来看,可以说它的历史源远流长。
1959年,克里斯托弗(Christopher Strachey)发表了一篇学术报告,名为\大型高速计算机中的时间共享\(Time Sharing in Large Fast Computers),他在文中提出了虚拟化的基本概念,这篇文章也被认为是虚拟化技术的最早论述。可以说虚拟化作为一个概念被正式提出即是从此时开始。
最早在商业系统上实现虚拟化的是IBM公司在1965年发布的IBM7044。它允许用户在一台主机上运行多个操作系统,让用户尽可能充分地利用昂贵的大型机资源。随后虚拟化技术一直只在大型机上应用,而在PC服务器的x86平台上仍然进展缓慢。不过也可以理解,以当时x86平台的处理能力,应付一两个应用都有些捉襟见肘,还怎么可能将资源分给更多的虚拟应用呢?
随着x86平台处理能力与日俱增,1999年,VMware在X86平台上推出了可以流畅运行的商业虚拟化软件。从此虚拟化技术终于走下大型机的神坛,来到PC服务器的世界之中。在随后的时间里,虚拟化技术在x86平台上得到了突飞猛进的发展。尤其是CPU进入多核时代之后,PC具有了前所未有的强大处理能力,终于到了我们考虑如何有效利用这些资源的时候了。
从2006年到现在,可以说是进入了虚拟化技术的爆发期。诸多厂商如雨后春笋般涌现,而微软这样的主流操作系统厂商也终于按捺不住,从2003年收购Connectix获得虚拟化技术并很快推出Virtual Server免费版到2008年年底推出Hyper-V,可以说每一步都是势头逼人,就连已经成为业内老大的VMware也不得不一再出招应对。
纵观虚拟化技术的发展历史,可以看到它始终如一的目标就是实现对IT资源的充分利用。
1.2 虚拟化技术概念及分类
实际上,我们通常所说的虚拟化是指服务器虚拟化技术。而除此之外,还有网络虚拟化和存储虚拟化技术。其中网络虚拟化应用于企业核心和边缘路由。利用交换机中的虚拟路由特性,用户可以将企业划分为使用不同规则和控制的多个子网,而不必再为此购买和安装新的机架或设备。与传统技术相比,它具有更少的运营费用和更低的复杂性。存储虚拟化则是将企业中的存储资源整合在一起,通过一台逻辑存储设备供用户访问。它主要分为硬件和软件两种方式来实现。目前大多数存储厂商都提供了这种技术。微软的分布式文件系统(DFS)从某种意义上来说也是存储虚拟化的一种实现方式。本书着重讨论的则是服务器虚拟化技术。
什么是服务器虚拟化技术?维基百科将虚拟化定义为\一种关于计算机资源的广义术语\。另一种定义是\从其他系统、应用或终端用户与计算机资源进行互动的方式中隐藏物理特性的技术\。维基的解释确实有些拗口,其实服务器虚拟化就是在一台主机上运行多个客户操作系统(也就是我们常说的\虚拟机\),在提高系统资源利用率的同时还可以提高虚拟机的可移动性、降低运行成本、减少管理费用、整合服务器、容错容灾等好处。 服务器虚拟化通常使用两类虚拟化技术,一类是全面硬件仿真系统,代表厂商为VMware和微软。此方案模仿物理服务器的本地硬件平台,用于每个虚拟机,包括可以配置的BIOS。这种方法让每个虚拟机作为单一进程在主机平台上运行。在磁盘上,每个虚拟机完全与其他虚拟机独立,各自拥有完整的一套操作系统和所有必要的应用软件。而另一种技术则另辟蹊径,使用基于主机的虚拟化技术,SWsoft的Virtu-ozzo和Sun的Solaris容器(Sun Containers)是其主要代表。根据这种设计,主机操作系统的一个实例支持多个虚拟操作系统实例,同一个主机操作系统的内核在进程级别处理虚拟服务器的I/O和调度需求。图1-1显示了VMware的虚拟化实现方式。 图1-1 VMware全硬件虚拟化实现 从图1-1中可以看到,虚拟机运行在虚拟化层(VMware Virtualization Layer)之上,拥有自己独立的虚拟化硬件资源。而位于宿主机硬件和虚拟机之间的虚拟化层则负责实现对硬件资源的调
1.3 主要厂商及其产品线
随着虚拟化技术的逐渐成熟,不断有新的厂商加入企业虚拟化市场的竞争之中,其中比较有代表性的主要有以下几家。
1. VMware
VMware可以说是虚拟化技术的布道者,是它将虚拟化技术带到x86平台。该厂商目前也是虚拟化行业的龙头老大,虽然其地位正受到软件巨人微软公司的不断挑战,但是其市场
增长率仍然非常可观。VMware目前还在不断地通过收购等手段扩张自己已经非常庞大的产品线。VMware的产品目前主要分为两个系列:数据中心虚拟化和桌面虚拟化,具体名称和功能如下。
VMware vCenter Converter:用于实现对物理服务器到虚拟服务器的转换过程。可以使用冷迁移和热迁移两种方式。
VMware vCenter Site Recovery Manager:主要用于数据灾难恢复,通过实现恢复流程自动化和降低管理及测试恢复计划的复杂性,加速恢复流程并确保成功执行恢复。它省去了复杂的手动恢复步骤,能够避免灾难恢复带来的风险并解除后顾之忧。
VMware vCenter Lab Manager:主要用于降低软件的开发、测试和集成的成本。创建并管理常用的配置库,而且只需简单地单击鼠标即可在几秒钟内对这些配置进行动态部署。允许用户按需访问所需的计算机和系统,同时IT组织仍保留管理控制权,能够节省大量服务器、存储和部署的相关成本。通常用于软件公司的开发环境之中。
VMware vCenter Lifecycle Manager:对数据中心内虚拟机的生命周期进行管理的工具。可以实现虚拟化工作流程的自动化,以提高效益和生产效率,并确保严格遵守公司的策略。
VMware vCenter Stage Manager:主要用于自动执行IT服务部署和更新。直观显示、管理和自动化发布过程。从单一的视角管理企业中的所有服务配置,优化IT服务交付、修补程序测试和归档。
VMware View:用于简化虚拟桌面管理并提高桌面安全性。将传统的PC替换为可从数据中心进行管理的虚拟桌面。
以上产品实际上都是构建在VMware的VMware Infrastructure 3(VI3)的基础之上。而VI3作为一个虚拟数据中心操作系统,将离散的硬件资源统一起来以创建共享动态平台,同时实现应用程序的内置可用性、安全性和扩展性。而VI3又是由VMware vCenter Server和ESX Server构成。
除此之外,VMware还有VMware Server(基于Windows或者Linux宿主操作系统的免费产品)、VMware Workstation(桌面级虚拟化应用,同样需要宿主操作系统的支持,通常用于测试和个人使用)、VMware Fusion(Mac版本的VMware Workstation)、VMware ThinApp(在瘦虚拟化环境中执行应用程序,使其就像在宿主机上直接运行一样)、VMware Player(可以理解为限制了功能的VMware Workstation的免费版本,主要用于免费运行虚拟机)。由于篇幅所限,本书就不再介绍VMware产品线中的其他产品了。
2. Microsoft
也许是为了规避VMware在服务器虚拟化上强劲的发展势头,微软在进入虚拟化市场之后提出了多元的虚拟化技术概念。微软提出的虚拟化主要覆盖4个方面-服务器虚拟化、桌面虚拟化、表现层虚拟化和应用虚拟化。
其中服务器虚拟化既包括了最新的Hyper-V与Hyper-V Server 2008,也包括了免费的Virtual Server 2005 R2 SP1。而桌面虚拟化则主要有Virtual PC。表现层虚拟化其实是终端服务的新瓶装旧酒。而应用虚拟化则来自于收购的SoftGrid Application Virtualization(目前的名称是Application Virtualization 4.5)。
要特别说明的是,微软为全部的虚拟化产品提供了统一的管理解决方案。通过System Center系列产品来实现对企业中IT资源的全面管理。其中的System Center Virtual Machine Manager 2008(SCVMM2008)作为管理服务器虚拟化的产品,甚至可以管理VMware的VI3。如果仅仅部署Hyper-V而不部署SCVMM2008(虽然其价格不菲,但是和VMware的解决方案相比,已便宜很多),效果将大打折扣。
微软作为软件行业的巨无霸,几乎它所介入的每个新兴市场都被颠覆。想想当初在浏览器市场的那场决斗中网景公司的下场,也就不难理解人们对VMware为什么有所担心了。不过微软的介入对用户确实是一个重大的利好消息,毕竟有竞争才有发展。我相信,随着竞争的不断加剧,虚拟化市场上将为用户提供越来越多价廉物美的产品。就像在处理器市场上发生的情况一样。
3. SWsoft
SWsoft的拳头产品Parallels Virtuozzo Containers使用的是另一种主流虚拟化技术-操作系统虚拟化技术,动态地将单台Windows或Linux操作系统实例分割为多个高效、稳定的虚拟环境(VE)或\容器\,这些虚拟环境以最大化效率利用硬件、软件、数据中心及管理资源,每个虚拟环境(VE)中可独立安装和运行各种应用软件,使用起来和物理服务器完全一样。不过,Virtuozzo使用的这种技术也制约了它的应用场景,对于角色差异较大的服务器,其优势很难得到发挥,而对于全硬件仿真很容易做到的在一台物理服务器上运行Linux/Windows异构虚拟机,Virtuozzo则很难实现。
Virtuozzo目前多用于主机托管服务提供商的应用场景,因为相比全硬件虚拟化技术,它可以提供更高的资源利用率。同时它还提供了非常方便的虚拟机部署和管理界面。对于使用大量的Web服务器这样的应用场景,Virtuozzo还是非常适合的。
从Virtuozzo的技术原理我们了解到,它是不可能实现同台宿主机上的异构操作系统虚拟机的。为什么在这里说\很难实现\呢?其实实现的方法很简单-在宿主机运行VMware的ESX Server这样的硬件虚拟化产品,然后在ESX的异构虚拟机中安装Virtuozzo来实现单宿主机运行多异构虚拟机。不过这只可能用于测试环境或者一些极端特殊的应用场景之中。在
共分享92篇相关文档