微软虚拟化解决方案与实例剖析

云计算 虚拟化
本文主要讲了微软虚拟化解决方案与实例剖析。

张东明:讲一下我们虚拟化的解决方案,实际上我们之前大家可能更关注的是我们的Server,不管是从页面的角度来说,还是我们刚才讲微软虚拟化的时候,我们更多的从服务器虚拟化的角度给大家介绍的,作为我来说一直到从事微软的产品包括一些研究和项目实施,那么我可能更多的是从微软的角度,那么我们从微软的角度来说,虚拟化之前讨论的是服务器的虚拟化,但是我们说的虚拟化绝不仅仅是服务器的虚拟化,虚拟化实际上是多个层面,并不是只是服务器层面的虚拟化,我们说服务器层面的虚拟化,作为ESX包括微软的Hyper-V这个我就不过多的介绍了,我们说服务器的虚拟化,我们还有很多其他的虚拟化,比如说网络级别的虚拟化,比如说存储上面的虚拟化,还有特别我今天跟大家讨论的几个,一个是应用程序的虚拟化,还有一个桌面的虚拟化,以及我们的展现层的虚拟化,因为之前我们她们的都是服务器层面的虚拟化,也就是说当我们没有服务器的时候,那我可以靠硬件技术,比如说Hyper-V或者ESX等等,来帮我模拟出一套还是虚拟出一套硬件出来,或者是让虚拟操作系统能够用我的硬件,这是我们说的,当你没有硬件的时候,我们去模拟出一套硬件,来实现真实的硬件的使用,那么除了硬件的虚拟化之外,我们可以创建虚拟机,那么虚拟机就是我们说的服务器虚拟化,没有服务器的时候我们用服务器的虚拟化,现在我们有了服务器,或者说我们已经部署了这种虚拟化的时候,其实我们还有一些更典型的问题,因为我们说服务器虚拟化关注的是Server,那么一个企业可能有一百台两百台五百台机器,那么像微软全球大概有60万台服务器,但实际上我们说这个Server毕竟相对于什么是少数,相对于我们客户端来说实际上是少数的,现在企业客户端的数量远远多于服务器的数量,也许我们工作有一万个人,我们可能有两百台服务器,能满足这些人的使用,那么对于这些客户端而言,他所使用的服务是虚拟化的,但是这些应该不能完全满足一个企业对于内部使用的一个要求,为什么,因为我们发现客户端的应用是更为广泛的,那么客户端在使用过程中面临的问题,将比服务器端更为广泛,也就是说遇到的问题会更多。

比如说大家都知道,微软前年发布了最新的操作系统,但是为什么Windows Vista时至今日已经有两年多的时间了,很少有批量规模的部署,尽管我们做了一些项目,很多企业已经买了,或者他在测试,为什么没有迟迟大规模的迁移,做一个POC,做一个测试,没有大规模的去迁移到最新的操作系统,比如说应用程序兼容性的问题,像我们微软最新的产品,面临的一个很大的问题解决兼容的问题,那么对于这些问题,如果你仅仅靠Server是没有办法帮你去解决的,因为这些应用程序不可能指望都运行在服务器上,如果是变向的服务,不给客户端装,那么OK,这个应用我们通过服务器虚拟化把资源进行整合,不管是节约什么成本,那这是我们说的服务器端的,但是客户端的兼容性问题我们是没有办法靠这个去解决的。

那么对于这些客户端的兼容性问题,我们怎么办,其实更多的是应用,服务器虚拟出来了干嘛,跑的是应用,那么这些应用我们怎么去解决它的这些问题,那么实际上我们有更深层次的完整一套虚拟化解决方案,这个是我们要跟大家介绍的,实际上微软提供了一套比较多层次的虚拟化解决方案,其实很多厂商也有类似的方案,只不过我们在这里讨论的是微软的虚拟化解决方案,我们分几个层面,有服务器虚拟化,刚才我们讲了有Server,包括今年所发布的重量级的产品Hyper-V,这个都不具体说了,除了这些虚拟化之外,我们还有几个层面的虚拟化,其实是这样的,我们会发现很多企业内部有非常非常多的应用,这些应用有的是找了一些第三方的厂商去写的,或者我们是通用的一些,比如我们内部做的word、Excel这些都是微软的应用,那么可能我还会安装一些通用的程序,那么这些通用的应用程序,并不存在兼容性这些问题,假如微软推出了一个新的操作系统,那么这些厂商会迅速的跟进,或者跟微软合作,发布一个最新的版本,而且他们也会进行大量的兼容性测试,不光是应用程序跟操作系统的兼容性测试,还有应用程序和应用程序之间的兼容性测试。大家厂商都在做这些事情,那我们说这些是OK的。

但是现在我们说现在很多大中型企业有很多应用是自己开发的,他们有自己的开发团队,或者是找了他们特定的一些软件开发商来做特定的软件,在部署一些新的应用的时候,你会发现这些应用程序的兼容性会遇到非常多的问题,那我们怎么去解决,加入我们要批量的部署,那么我原有的应用程序,像我们之前做的一些包括银行的测试发现,他们银行内部的应用,他找了一个厂商帮他做了一些开发,这些应用对他们来说很关键,比如涉及到刷卡机,POS机等等这些,跟这些设备连接的时候他们用的XP,我们知道它有一个超级终端,但是你发现到了Vista当中它的终端没有了,这些程序就没有办法运行了,因为本身像微软这些操作系统对安全性做了一些改进,原来我用的程序到新的系统中没的,这些应用程序往往就没法运行了,当我们做这个测试的时候,这个银行他就找帮他开发的应用厂商,他们发现没了,原来帮他写代码的这些人都没了,那么这会就面临很大的问题,他们希望升级迁移到新的操作系统之上,但是他们的应用程序不能满足这种需求,那么怎么办,那么实际上我们可以通过我们的软件来实现,那么刚才我们说了,微软有一个产品,就是桌面的虚拟化来说,以前大家可以看到就是VPC,这个应用比较简单,但是你说让一些从事IT行业的OK没问题,大家可能用ESX等等这些大家都没问题,但是我们说如果有一些应用让用户去使用VBC,这将对于你们IT来说是一个灾难性的事情,为什么,假如员工有一万人,你要教会这一万人都使用VBC不太现实,IT行业的人很容易理解,如果我目前有一个应用程序到Vista里面运行不了,我把它放在VBC里边吧,那么你首先教会你们公司所有的人用VBC,那我们说这是一个非常困难的事,即使你把VBC写的再明白,我相信一定是多数人都不会用。

所以我们微软新推出了一个产品叫MEDA,实际上我们说我们在实现这个虚拟化的时候包括解决应用程序兼容性的时候,我们有几个产品,另外我们还有一个产品,展现了层次虚拟化,其实大家都用过,作为微软来说就是service大家说没用过,有时候你可能会用到远程桌面,它就是这个产品,有人说为什么这个是虚拟化呢,实际上所有的操作,比如我连到一台服务器上,我对服务器所有的操作、配置和设置,这些操作都发生在哪,都发生在服务器端,那么我的笔记本连在那台服务器上,我看到的是什么,我们看到的是通过远程桌面协议传送给我的一副一副连贯的图象,所以你看到的是虚拟发生的事情。当然了作为微软来说,针对这个产品也有了一些相应的改进。

其实刚才几位嘉宾也提到了一个问题就是管理的问题,你说服务器那么多,几百台,那么我们说服务器多意味着什么,客户端更多,你说有一百台服务器,你至少有五千台客户端,那么这意味着你的客户端多,这些服务器怎么对它进行管理,这其实是很严峻的问题,不管是用服务器虚拟化,还是针对与整个服务器做一套应用的虚拟化,这涉及到一个管理的问题,那么对于微软来说有一套完整的管理体系,就是System Center那么它里面有针对服务器客户端做监控的,还有对客户端进行企业资产管理的,刚才我们说对虚拟化管理有SVMM,那么实际上我们可以通过包括做备份我们有DPM,我们可以做相应的备份,所以说我们也要实现的完整的一套虚拟化。

那么接下来我们看一下,因为服务器虚拟化我们介绍了很多了,所以这里给大家转换一下思路,我们来看一下应用程序虚拟化和桌面虚拟化,对于为来说推出两个产品,一个是APDV和MEDV,那么这两个产品所实现的核心的问题是解决我们应用程序兼容性的问题,因为这个是我们发现很多企业所面临的一个比较严峻的问题,为什么,因为我们说不光使应用程序和操作系统兼不兼容的问题,也写应用程序之间也会相互产生冲突,因为每个应用程序都有厂商,厂商和厂商之间部可能做到完全兼容,像有的用户是基于当代的2.0开发的,有个是基于3.5开发的,那么这两个程序的兼容性就有可能出现问题,那么我们遇到这样的问题怎么做,比如说产生一些冲突的时候我们怎么去解决。

我们会通过APDV来进行解决,APDV给我们带来一些好处,包括节省成本等等,我们接下来看一下APDV是用来做应用的,它分了三个组件,这三个很好理解,一个客户端,一个服务器端,既然你要做虚拟化,那么肯定有客户端和服务器端,你要做一万台clone,那么这一万台都装一个客户端程序就可以了,至于你怎么装都OK,那么装完客户端之后,接下来我装服务器端,上面我可以存储虚拟出来的,这个我怎么去虚拟,假如我们公司部署了WindowsVista但是我们发现原来我们公司有一些应用到Vista当中运行不了,或者说原来有两个应用以前在XP上运行的挺好,但是在Vista当中都能装,但是就产生冲突了,那么这种情况下我们怎么去解决。

我们可以看到,这里还有一个组件叫序列化的组件,它就是随便找一台机器,假如说我们公司都有ICB,随便找台ICB,你装APDV一个组件,你装上之后把它开开,开开之后就相当于我们的摄像机,开下来之后你再去装你要装的应用程序,比如说我们公司要装一个应用程序,它在ICB里,在Vista当中不能用,那我可以把它找一台机器装一个,我把它开开,接下来我去装我的应用,那么这个会记录你在安装过程中所做的所有操作,一般我们说应用程序安装的时候会掉一些服务,也有可能注册一些注册表,可能对你的系统做一些修改,去写一些东西,比如说应用程序我们知道,在的时候会写一些配置文件,那么我们这个摄像机会把它记录下来,那么装完了你把摄像机一关,它会自动把刚才记录的事情打一个包,就说拿出一盘磁带拿到我们的服务器端去了,接下来的事就很简单了,这是序列化打包,打包的不是应用程序本身,是应用程序加上他运行所需要的环境,比如他掉了哪个服务,掉了哪个组件,这些都记录下来之后就把它上传到服务器端,哪些人能用这些软件,哪些人不能用这些软件,接下来给我们的客户端进行分发,我们说叫做动态的,客户端拿着的时候会想,我的应用程序又加了一个虚拟环境,这个复杂度很大,我们说不会,因为我们下载是一个动态型,按需去下,假如我做一个Word虚拟化,我用到文档编辑功能,那我就下20%,那我又用到画图功能,我再下20%,可能我又用到了其他功能,我再下20%,所以是按需进行下载的,当然你都下载也可以,这样我们可以减轻网络的负载。

#p#

那么应用程序发到客户端运行在一个虚拟的环境当中,这和真实环境当中的应用是没有关系的,不管你真机的操作系统是什么,它运行在虚拟环境中,所以这样就有效的解决了运行程序兼容性的问题,客户端怎么去推呢,我们有SCCM,我们要对应用程序进行监控,我们有SOM等等,但是我们说这个里边最新的版本当中我们增加一个功能,比如说我推了一个应用程序,接下来我们公司都有三个应用,我都推给客户端的时候,推下去之后这三个应用每个应用一个虚拟环境,这三个虚拟环境之间原来不能做交互,那第二个也带一个,那么现在作为最新版本的APDV可以让所有的虚拟的这些应用之间可以做通讯,这样的话,接下来所有的应用可以直接到第一个虚拟环境中去读取。

但是刚才我们说APDV能解决一部分兼容性的问题,因为有很多底层的应用,像杀毒软件,ID浏览器,特别是之前我们在北京一些政府部门,包括杭州的一个比较大的企业做了一个APDV的我们发现了一个问题,有些在按过程中要用一些刚才我们说APDV就没有办法运行了,那么另外还有一些问题,我们有些应用程序在安装的时候需要重启,装到一半要重启,像比较典型工具,它要重启就面临一个问题,重启意味着摄像机被关掉了,所以这种应用程序没有办法对它进行打包,那么企业有这种问题怎么办,那么微软又推出了一个新的产品叫MEDV,企业级的桌面虚拟化,那么桌面虚拟化实现的是一个什么功能,那么其实很简单,桌面的虚拟化的功能,其实它的原理我们后面就不看了,组成部分就是装一台服务器,装好了之后在Server上分发一些软件,之后我们会给客户端推一个,大家看看这个就是客户端,客户端有硬件有操作,但是实际上我们说,如果能运行在操作系统之上,那就不存在兼容性的问题了,但是如果不能运行当前的系统之上,或者有兼容性的问题,或者没法去运行的时候,我们怎么办。

我们MEDV会给它推一个VPC下去,解决用我们的VPC的虚机会通过我们的MEDV推一个VPC的客户端,这样你会发现,操作系统在运行起来之后,客户端拿到了一个虚机,但是对于客户端来说他看不到虚机的启动和关闭,他只能看到一个应用程序,他一点就运行了,一运行我们后台会加载一个VPC,起来之后这个应用程序就可以正常运行了,运行是在VPC里边的,但是客户端感觉不到也看不到,那这样的话我们可以解决相当多的应用程序兼容性的问题,以前我们说应用程序不兼容怎么办,我们APPV我们把它做序列化,但是有些东西还运行不了,它要重启,OK那干脆放在VPC里了,所以这里边我们可以通过MEDV来实现桌面的虚拟化,对于客户端来说看到的都是应用程序运行,但实际上有时候看到的是真的有时候是假的,但是客户端并不知道哪个是真的哪个是假的。

说虚机怎么给客户端,第一你可以通过网络布置给客户端,你也可以通过硬盘拷给客户端,他并不知道加载虚机的过程,这样可以保证我们系统有效的运行,这是MEDV,刚才让大家看到的是应用程序虚拟化,还有桌面虚拟化,我们不一定非要做服务器的虚拟化,当然它也很重要,我们还有一个表示展现的虚拟化,但是很多企业,我们做测试的时候发现很多企业在用远程桌面的时候比较有顾虑,因为在用端口的时候用的是3189,在网上随便一艘3189,基本上搜出一万条有9999条是针对于3189的攻击,那么以前我们在这种模式下在用远程桌面的时候会有一些问题,包括远程终端的一个管理,那么对于微软最新的产品,我们有一些新的改进,那我们怎么做到这种展现虚拟化的呢,第一这中间我们可以加,以前不管什么,不管你网络模型怎么样,都不可能回家之后远程桌面一连连到公司内网的服务器,这不可能,所以说在我们新的软件里面做了一些改进,我们加了一个叫TS gateway的东西,它可以把远程桌面的协议变换成HTTP的协议,这时候你从远程客户端连公司的服务器,这会连不是公司的内网服务器,连的是TSgateway,用什么协议连,用HTTPS协议去连,443端口,因为443对于我们的防火墙可以开放比较安全的端口,然后TSgateway再把我们的请求转给内网服务器就OK了。

另外还有一个应用,有的企业在部署应用程序的时候很头疼,为什么,一万个客户端,每个客户端都装一个应用,假如我们自己公司开发了一个产品,开发完之后给所有人去用,我把客户端推给所有人了,当然我们要做测试,发现这个产品出了一些问题,假如以前是1.0版本,如果我们发现有问题就要升级2.0版本,那怎么升级,假如是一万台,那么就意味着你要把这一万台都要升级为2.0,因为我们说客户端的数量比服务器多得多,万一开发团队升级到2.1了,怎么办,IT部门再把它推到2.1,我们现在可以通过远程终端去连,以前我们用远程桌面去连,现在我不给大家推了,我放在服务器上,谁想用谁过来连,但是以前我们连的时候有一个问题,你连一台服务器打开的是很完整的一个桌面,一打开就看到整个桌面,现在我们可以把桌面来做一个虚拟化,可以把应用程序做一个打包,可以给客户推一个快捷方式,这时候客户看到的是一个Word图标,跟本机的Word没有任何区别,他去双击Word的时候,并不是运行的本机的,而是连接到了服务器了,这样的话我们可以做集中化的管理,第二可以实现很好这是我们做了几个层面的虚拟化,当然这是Windows的,现在很多厂商都在用这样的架构,那么微软也用到了这样的架构。

当一个企业在做虚拟化的时候,必须要考虑几个问题,其实刚才嘉宾也提到过几个问题,大家有没有想过你的服务器,如果你用虚拟化实际上是成倍增加了你服务器的风险,以前我们三台机器装了三应用,现在跑到一台应用,以前一台机器坏了影响的只是一个应用,但是现在一台机器坏了意味着你们公司三个应用一起完蛋,那么这样的话,你用虚拟化就意味着你的风险是成倍增加的,所以我们就强调一点,当我们用虚拟化的时候,一定要做一件事,一定要用高可用,如果不做高可用,那就意味着你做完虚拟化之后,你自己把自己的风险加的非常高,所以一定要做高可用,其实不同厂商有不同厂商的解决方案,其实作为微软我们有集中解决方案,第一个是Cluster不管你是通过我们以前的Cluster服务还是通过2008的Cluster,我们可以搭建一个集群,另外我们ICVMM本身也可以去做高可用,我们可以实现虚机动态的资源的切换,这实际上是我们说的高可用,这是我想跟大家强调的一点。

另外还有一个问题,我们实现了虚拟化的时候,大家想的一个问题,性能,性能包括Hyper-V,包括VMware,因为他们两个本身就是有很深关系,所以这里边我们做过很多性能测试,包括还有一些企业,我们都做了测试,那么测试的时候,可能很多企业很关心的问题是第一是性能的问题,那么性能的问题作为Hyper-V和VMware来说,性能有一些差距,差距基本上在3%到5%之内,这是经过我们的测试,我们测试全部使用的是第三方的测试工具,没有用微软的工具,我们测试性能基本上差3%到5%,刚才我们讲虚拟化的时候已经介绍了,微软的Hyper-V叫做VMware,而VMware我们叫做比较厚的系统,所以它包含driver,而微软不包含driver,是否包含driver会对性能造成一定的影响,因为如果没有driver,就意味着它要到后面去读取driver,这就会造成性能的下降,看起来有driver好,但是有driver的话,它的安全性、可靠性也会有一定的问题,它不稳定就意味着上面所有的都不稳定,所以各有利弊的。

另外我们在测试的时候,我们去看了一下微软的服务器的性能,我们发现包括我们从磁盘,我们的网络传输,我们发现比较接近于真机的性能,基本上可以达到80%到90%,我们有一个很详细的测试数据,经过我们多方的测试,所以大家完全不必要担心性能达不到要求,我们还有一些解决方案的测试,比如是否能够做快速的切换,能否快速的备份还原,资源转移这些,微软都有很成熟的解决方案,可以帮助大家实现。

另外还有一个问题,这里就是一个提示,Hyper-V和VMware是很关系,如果你运行的操作系统是微软的操作系统,比如说WindowsServer2003、2008,但是如果你跑到VMware上,有一些问题,不会得到微软的技术支持,这是大家需要考虑的问题,因为我们遇到过这样的客户,我们做了之后发现他运行在VMware,当然它很广泛的应用,但是我们微软不提供技术支持,所以我们希望大家不光是对于服务器的虚拟化,而且还对于桌面虚拟化和应用程序虚拟化有一个更全面的了解,因为时间关系,我们今天主要内容就给大家介绍这些,我不知道还有没有问题可以跟我们交流一下。

【编辑推荐】

  1. 如何利用交换机里的虚拟化路由功能
  2. 独家:2009年虚拟化领域的六大预测
  3. VMware领跑虚拟化疲态已现
责任编辑:符甲 来源: IT168
相关推荐

2009-08-08 17:07:57

Intel虚拟化解决方

2009-06-24 10:56:09

微软虚拟化

2012-08-15 09:26:54

虚拟化

2010-06-04 13:42:32

微软虚拟化吴斌

2013-05-27 09:21:05

虚拟化IT企业应用

2013-06-03 09:50:27

虚拟化虚拟化解决方案

2021-09-09 06:38:56

网络虚拟化网络网络可见性

2013-06-26 10:02:42

Citrix XenServer虚拟化解决方案

2018-07-25 14:50:41

服务器虚拟化方案

2013-06-06 10:19:23

虚拟化解决方案虚拟化

2013-11-27 10:09:03

2010-08-24 10:04:45

中小型企业虚拟化

2009-04-21 10:24:36

运维管理网管摩卡软件

2012-06-12 09:56:33

虚拟化

2012-05-30 09:22:29

2009-02-17 19:47:43

浪潮服务器教育行业虚拟化解决方案

2012-03-18 22:43:40

centosopenvz

2010-06-03 11:10:46

Windows Ser虚拟化

2012-05-02 16:28:25

Windows XP虚拟内存优化

2010-04-23 15:54:19

桌面虚拟化
点赞
收藏

51CTO技术栈公众号