服务器 频道

一名微软MVP眼中的虚拟化技术

   【IT168 资讯】虚拟化,也许是最近一段时间以来最热门的话题,而笔者本人也是几乎把所有的时间和精力,都放在虚拟化技术的学习和分析上。然而对不少朋友来说,虚拟化还是一个很神秘的东西,所以笔者将以一个普通测试者和技术爱好者的视角(部分内容,摘自Microsoft和VMware的公开文档),试图解读一下自己心目中的虚拟化,限于本人的能力所限,肯定包含不少谬误,还请各位老大不吝指教!

    今后笔者还将会通过ITECN博客,不断地把一些学习的小成果分享给大家。本文所说的虚拟化特指硬件模拟的虚拟化技术,并不包含应用程序虚拟化技术(例如Softgrid)、还有操作系统虚拟化技术(例如Virtuozzo的VPS技术)。

一、虚拟化的本质

    笔者在TechEd 2007(北京)上曾经讲到,其实虚拟化的本质,就是把整个系统打包成文档,把整个硬件配置、Windows和应用程序,统统打包成文档,如附图所示。而从应用的角度来看,却是一个真实的服务器,有自己的操作系统、CPU、BIOS、内存、硬盘等。

    而虚拟化的其他优点无不发轫于此:

1.服务器整合

    在一台物理服务器上同时跑多台虚机,其实就等于在一台服务器上存放多个代表虚机的文档,如附图所示,如此而已。这种整合能够极大地提高服务器的利用率,而且极大地降低成本。同时,借助虚拟化管理平台工具,还可以把多个硬件资源组成一个逻辑的资源池,以便虚机能够更好地利用硬件资源,获得更好的性能。

2.备份和恢复

    备份和恢复也很容易,对文档进行备份,总比对复杂的硬件配置、操作系统和应用程序进行备份和恢复,要容易得多。如附图所示。

3.迁移很容易

    迁移也变得非常容易,因为实际上等于把文档从一台服务器,移动到另外一台服务器,非常简单。而且虚机模拟的是一套标准的硬件设备,所以不需要修改,就可以直接在其他服务器上运行。如附图所示。

二、从技术角度看虚拟化

    VMware对于虚拟化的不同架构有一个比较好的描述,如附图所示。

    一种叫做寄居架构,也就是说虚拟化管理层是运行在主机操作系统之上,依靠主机操作系统来模拟硬件设备,以便在其上运行虚机,其优点是对物理硬件要求低,但是性能相对差。常见的例子有微软的Virtual PC/Virtual Server;VMware的VMware Workstation/VMware Server等。

    另一种叫作裸金属架构,直接在硬件上跑虚拟化管理层,其优点是性能比较好。裸金属架构的虚拟化管理层,一般叫做Hypervisor,或者VMM(Virtual Machine Monitor),又分为两种形式:

1. 胖管理层

    例如VMware ESX Server。由于VMware把底层物理硬件的驱动程序整合到Hypervisor管理层中,所以管理层显得比较胖。很显然,这种架构的性能比较好,但是对于底层物理硬件的要求比较高,兼容性和安全性的挑战比较高。

2. 瘦管理层

    例如微软的Hyper-V和XEN,Hypervisor管理层仅用于管理CPU和内存,而不包含底层物理硬件的驱动程序,所以管理层显得比较瘦。由于不包含硬件驱动,所以代码量比较小,安全性更高、兼容性也更好,但是效率和胖管理层相比有所不逮。

三、虚拟化厂商的分类

    由于虚拟化正在持续升温,所以各大厂商纷纷“蠢蠢欲动”,除了VMware和微软以外,其他IT巨无霸也纷纷加入这个领域,企图分一杯羹。尽管加入的巨头不少,但大致可以划分为以下四类:

1. 传统OS厂商

    例如微软,其代表产品为Virtual PC/Virtual Server,还有未来基于Hypervisor的Hyper-V。其管理端平台产品为System Center Virtual Machine Manager,当前的2007版本用来管理Virtual Server,在2008年Hyper-V发布后,还将会配套发布更新的System Center Virtual Machine Manager,以支持Hyper-V。

    还有RedHat、Novell SUSE Linux等厂商,也在其最新的OS里加入基于XEN的虚拟化功能。

2. 传统ISV厂商

    最近Oracle也宣布加入虚拟化的行列(详细信息可以参考这里:http://www.oracle.com/corporate/press/2007_nov/ovm-ga-111107.html),发布一个基于XEN的虚拟化产品。这是一个非常有里程碑意义的事件。也许今后不少ISV会选择这种模式。

3. 独立虚拟化厂商

    就是VMware和XEN Source(已经被Citrix收购)。

4. 硬件厂商

    这类的厂商并不明朗,CPU虚拟化只能算是辅助虚拟化,替代不了软件管理层。

四、厂商的不同策略

    如果仔细观察虚拟化的架构,就很容易帮助我们理解虚拟化厂商的分类,以及他们的选择(不管是市场还是技术上的选择),如附图所示。整个虚拟化架构,从上到下依次分为四层:应用程序、操作系统、Hypervisor(虚拟化管理层)、还有硬件层。

1. 传统的OS厂商

    从上图中可以看出,操作系统和虚拟化管理层相隔最近,所以由OS厂商提供虚拟化产品,这是非常自然(native)的事情。以微软为例,其虚拟化产品(Hyper-V)为什么会选择瘦管理层的方式?

    笔者个人的愚见,其实并不仅仅是技术上的考量,与其说是为了安全,毋宁说是为了市场策略的考量。

    (1)作为一家OS厂商,必须要考虑硬件兼容性的问题,如果采用胖管理层,则硬件兼容性的问题无法回避,就会严重影响未来Windows Server 2008的出货量,这当然不是微软愿意看到的,同时也不是客户愿意看到的事情。

    (2)作为一家OS厂商,微软可以和CPU厂商结成很好的战略联盟。微软的Hyper-V要求CPU必须支持64位、支持硬件虚拟化技术,这样的设计也有利于借助微软和CPU厂商组成的联合生态圈,共同为客户提供更好的产品和服务。

2. 传统ISV厂商

    从上图中可以看出,应用程序和虚拟化管理层相隔也比较近。但是Oracle最近也开始提供虚拟化产品,其主要目的还是为了推广其自己的数据库产品。考虑到技术支持和兼容性方面的优势,Oracle客户可能会更加倾向于使用Oracle公司提供的虚拟化方案。

    由于应用程序和虚拟化管理层之间毕竟相隔了一个操作系统层,所以可以想见,Oracle必然会和传统的OS厂商,包括UNIX/Linux,还有它一直不那么喜欢的Microsoft,进行合作,确保这些Guest OS能够很好地运行在Oracle的虚拟化管理层上,以便给Oracle数据库提供更好的支撑。

3. 独立虚拟化厂商

    虚拟化管理层当然可以由独立的厂商提供,例如VMware。那么VMware ESX Server的Hypervisor为什么会采用胖管理层呢?
笔者个人的愚见,同样并不仅仅是技术上的考量。与其说是为了性能,毋宁说是为了市场策略的考量。

    (1)作为一家独立厂商,VMware必须考虑向下和硬件厂商联合,向上和ISV厂商进行联合,共同组成自己的生态圈。要和硬件厂商进行联合,采用胖管理层,不失为一种很好的策略。由于胖管理层需要Hypervisor里整合底层硬件的驱动,这样就可以和下方的硬件厂商进行联合,开发支持Hypervisor的驱动,同时对硬件厂商进行验证,联合给客户提供整体的解决方案,无论对于VMware、硬件厂商、还是客户来说,都是好事情。

    (2)作为一家独立厂商,VMware必须考虑向上和ISV厂商进行联合,这样才能说服客户把关键应用放进虚机里,而不是仅仅把一些边缘的、无关的应用进行虚拟化。而Oracle自己推出虚拟化产品,对于VMware无疑打击不小,简直有点釜底抽薪的感觉。

4. 硬件层的虚拟化

    从上图可以看出,硬件层离虚拟管理层很近。如果硬件层和虚拟化层绑定,那么从客户的角度来看,一台物理机器就可以在逻辑上看成是多台机器。但是除了CPU厂商之外,“纯”硬件厂商推出的虚拟化产品并不多。就算是CPU厂商,其虚拟化产品,确切来说应该是辅助虚拟化产品,必须加上软件的虚拟化管理层,才能发挥作用。

    预计今后也许会出现固化在BIOS里的虚拟化层,一开机就native支持虚拟化……

    然而精明的VMware似乎已经看到硬件层+虚拟化这个结合点,他们新近推出的VMware ESX Server 3i(注意有一个字母i)产品,也是一种所谓的瘦管理层技术(包含更少的驱动)。

    本以为它主要用来和微软的Hyper-V竞争,但是实际不然。

    和微软的Hyper-V不一样的是,VMware ESX Server 3i这个瘦管理层主要和硬件捆绑,采用固化在硬件里的技术(也可以独立安装,甚至放在U盘里)。这样更加类似于拿到一台直接支持虚拟化的硬件平台。而微软的Hyper-V,则是和操作系统组成一体,采用不同的架构,其兼容性,要明显高于VMware ESX Server 3i。从兼容性的角度来说,微软Hyper-V>>VMware ESX Server 3>>VMware ESX Server 3i。

    为什么VMware不开发一款产品,和Hyper-V相同架构,而进行直接竞争呢?

    从技术上来说,VMware一定可以办到。但是VMware也许很清楚自己的定位,Hyper-V这种架构,更加适合微软这种传统的OS厂商,而作为独立厂商,VMware应该加紧和底层的IHV硬件厂商进行联合。

五、微软VMWARE的优劣势分析

    这是一个很敏感的话题。作为一名MVP,笔者自然当仁不让地站在微软这一边,相信在虚拟化领域,微软一定可以取得更好的成绩,这只是时间问题。

1. 微软的优势

    (1)作为一家传统的OS厂商,微软开发的Hyper-V产品,和微软自己的Windows操作系统,其兼容性理应更强。未来的Hyper-V,还能支持一些主流的Linux产品,商业客户可以放心地把Linux系统迁移到微软的虚拟化平台,而出了技术问题,微软可以提供技术支持。

    (2)如果采用支持虚拟化的Windows Server 2008,虚拟化管理层本身无需额外付出成本。

    (3)微软自己的应用程序,包括SQL Server、Exchange Server、活动目录、IIS等服务端应用,可以更好地在Hyper-V上运行,其兼容性、稳定性和性能,都会得到保障,有利于企业把关键应用迁移到虚拟化平台,以充分享受虚拟化带来的好处。

    (4)采用微软虚拟化方案,在许可证方面可以享受不小的优惠。例如标准版的Windows Server,可以免费跑一个标准版Windows Server虚机实例;企业版的Windows Server,则可以免费跑四个Windows Server实例;而DataCenter版本的Windows Server,则可以跑无限制个实例。所谓实例,就是指可以安装无限个Windows Server虚机,但是只有运行的虚机,才算一个实例。而其他第三方的虚拟化方案,则没有这种优惠,许可证方面的开销巨大。

    (5)微软最大的优点,在于有一个完整的、集成的平台,这是其他第三方产品所不具备的。微软的虚拟化架构,也许单独拿出其中的某个功能或者组件,并不一定都是业界老大。但也许只有微软才能提供完整的架构平台,我们不用担心要向多个供应商采购才能拼凑出一套完整的功能平台、不用担心各个组件之间是否可以整合、更不用担心各个组件之间是否可以兼容。

    微软为虚机和真机提供了一套相同的管理平台,可以用System Center Virtual Machine Manager进行真机到虚机的迁移,可以对多台VM主机进行管理,借助模板快速提供服务;可以用System Center Configuration Manager对虚机和真机打补丁和安装软件;用System Center Operartion Manager对虚机和真机进行监控和管理;用System Center Data Protection Manager对虚机和真机进行备份和恢复、以及灾备和还原。这些管理产品之间可以实现完美整合、完全兼容。

    最重要的是,微软的下一代System Center Virtual Machine Manager,将有能力同时对Hyper-V、VMware、XEN的虚机进行管理,如果微软能够做到这一点,这对其他虚拟化厂商来说很致命。

2. VMware的优缺点

优点

    (1)作为一家老牌的虚拟化厂商,VMware一直是业界的领头羊(已上市)。拥有业界领先的技术:例如,其VMotion模块,可以支持虚机在不同主机之间的在线迁移,以便主机在维护或者遇到问题时,关键业务不需要中断;其DRS模块,可以把硬件资源虚拟化成一个逻辑的整体,以便虚拟化的应用能够完美的运行;其HA模块,可以提供高可用性。

    (2)VMware的产品线比较完整,针对不同的行业应用,都有完整的解决方案。其联合上下游ISV和IHV厂商的能力,有助于给客户提供完整的解决方案。

    (3)不需要Windows Server 2008的支持,可以直接安装在裸机上,尽管实际上是通过一个定制的Red Hat提供管理控制台。

缺点

    (1)缺少完整的管理平台,客户可以用Virtual Center来管理多台VM主机和虚机,但是缺乏统一的管理平台,客户需要购买微软的System Center Operartion Manager(或者MOM)、System Center Configuration Manager(或者SMS),或者HP的管理平台,对虚机和真机进行统一管理。一方面,这增加了客户的成本,另一方面这些产品和VMware的Virtual Center集成的能力毕竟相对来说比较困难。

    (2)VMware的虚拟化管理层是一个独立产品,需要付费。当然现在VMware把ESX Server和管理平台Virtual Center,还有VMotion等增值模块混合打包,统称为VMware Infrastructure。按照客户规模的不同,分为Starter版本、标准版本、企业版本等。这样一方面弱化ESX Server本身需要付费的概念,另一方面更加贴近市场需求。

    (3)许可证方面的开销巨大,每安装一个Windows虚机,都必须对其中的Windows操作系统付费。

    (4)对于Windows虚机来说,微软不会对其中的Windows操作系统提供技术支持,除非可以证明可以在真机上重现同样的技术故障。

    (5)类似Oracle虚拟化技术的出现,打破了VMware和上游ISV软件厂商之间的蜜月,VMware必须对这种釜底抽薪作出防备。

    (6)不少ISV不支持把其产品安装在虚机里,例如Veritas,虽然可能可以在VMware虚机里正常使用,但是Veritas不对其提供技术支持。

3. 说说Oracle 

    Oracle虚拟化还是一个新鲜事物,目前还似乎很难判断其前景。但是可以预见的是,其在Oracle客户中的应用前景不会太差,毕竟其兼容性和性能,还有技术支持策略,都有企业客户所感兴趣的。

    对VMware来说,这个打击比较大,如果ISV群起仿效,其战略联盟的半壁江山可能会被撼动。而对于微软来说,这个压力相对小一点,微软也有自己的应用程序,SQL Server+Hyper-V+Windows Server,这条产品链的竞争力不容小觑。

    更多内容请参阅盆盆的博客:http://blogs.itecn.net/blogs/ahpeng/

0
相关文章