桌面虚拟化是指将计算机的桌面进行虚拟化,以达到桌面使用的安全性和灵活性。可以通过任何设备,在任何地点,任何时间访问在网络上的属于我们个人的桌面系统。
一 定义
概念
计算机虚拟化技术当前主要包括服务器虚拟化、应用虚拟化、桌面虚拟化。目前网络虚拟化,显卡虚拟化等技术都在快速发展,在不久的将来,当前物理的设备将都支持虚拟化技术,实现IAAS(infrastructure as service),实现真正意义的云计算。而桌面虚拟化技术是当前发展最快的,也是最具应用前景的技术。
桌面虚拟化是指将计算机的桌面进行虚拟化,以达到桌面使用的安全性和灵活性。
桌面虚拟化技术,维基百科上给出的定义是:“Desktop virtualization (或者成为Virtual Desktop Infrastructure) 是一种基于服务器 的计算模型,并且借用了传统的瘦客户端 的模型,但是让管理员与用户能够同时获得两种方式的优点:将所有桌面虚拟机在数据中心进行托管并统一管理;同时用户能够获得完整PC的使用体验。
用户可以通过瘦客户端,或者类似的设备在局域网或者远程访问获得与传统PC一致的用户体验。
很多商业方案同时提供了将用户远程转向到传统的共享系统,例如微软终端服务,思杰应用服务器,刀片PC甚至是没有使用的物理PC机。”
简单的来说,桌面虚拟化是指:
支持企业级实现桌面系统的远程动态访问与数据中心统一托管的技术。一个形象的类比,就是今天,我们可以通过任何设备、在任何地点,任何时间访问在网络上的我们的邮件系统,或者网盘;而未来我们可以通过任何设备,在任何地点,任何时间访问在网络上的属于我们个人的桌面系统。
二 桌面虚拟化的前世今生
要了解桌面虚拟化的技术,我们就要了解桌面虚拟化的发展过程。我们可以比较简单地将桌面虚拟化技术分为一下3个阶段:
1 第0.5代的桌面虚拟化技术:
在我们还不知道什么叫桌面虚拟化的时代,这种技术的前身从不同的领域产生,发展直至成熟,使得现在的桌面虚拟化技术成为现实。这主要包括了2种技术:
a. 远程桌面
远程桌面技术,几乎所有从事IT技术的人都使用过。内置在Windows XP中的远程桌面使用了RDP(Remote Desktop Protocol)协议,使得用户可以从其他的电脑上远程登录、访问与使用目标桌面。RDP协议最早微软用于Windows Server上的Terminal Service(终端服务)的访问协议,实现了Windows Server上的多用户模式,使得用户能够在本地并不安装任何应用的条件下,远程使用服务器上的各种应用。这种技术是将目标机上运行界面传输到用户实际的操作机屏幕上,并将键盘,鼠标等一系列的外设输入,传输到目标机,实现交互。终端服务与远程桌面的不同是,前者只操作应用,而后者将拥有整个桌面的控制权(当然这是独享的,这也是为什么有人远程桌面连入XP后,目标机屏幕自动变黑的原因)。
在虚拟化技术兴起之后,微软将Windows Server 2008上的终端服务重新定义为演示虚拟化技术。而RDP协议的真正创造者——Citrix(发明了RDP协议,后来又将RDP协议卖给了微软,转而研究了效率更高的ICA协议)——则将这种原理一样,但是使用ICA交付的应用模式称之为“应用虚拟化技术”。
不管名称如何叫,但可以看出桌面虚拟化技术的前身——远程桌面,是与现在的应用虚拟化技术具有相同渊源的。这也是今天桌面虚拟化技术的核心部分,正是有了这种技术,使得我们远程访问自己的桌面称为可能,也将用户使用与后台管理两个以前难以协调的矛盾进行了有机的分离,解决了目前用户使用灵活性与IT统一安全管理的冲突。
b. 桌面操作系统虚拟化
这里的这个题目是为了区分服务器虚拟化技术,特别强调桌面操作系统被虚拟。其实这个概念基本可以被等同与Vmware Workstation和微软VPC的方式实现的桌面级的操作系统。当然这种应用模式,主要开发人员和测试人员经常使用的,虽然虚拟的并不一定是XP,2000 professional,vista等桌面系统。这里之所以提倒这个是因为在虚拟化技术刚起步的时候,一些厂商将此定义为桌面虚拟化技术,例如微软在推出MED-v技术之前,都是将VPC定义为微软的桌面虚拟化产品。
在这个角度定义的所谓桌面虚拟化,基本上可以被认为是用于pc上的桌面系统之上的虚拟化解决方案,只是与服务器虚拟化简单的区别与对应。其本身解决的仍然是操作系统的安装环境与运行环境的分离,不依赖于特定的硬件。但是不可否认的是,而且当服务器虚拟化技术成熟之后,真正得虚拟桌面技术才开始出现。
2 第一代桌面虚拟化技术:
第一代桌面虚拟化技术,真正意义上将远程桌面的远程访问能力与虚拟操作系统结合了起来,使得桌面虚拟化的企业应用也成为可能。
首先,服务器虚拟化技术的成熟,以及服务器计算能力的增强,使得服务器可以提供多台桌面操作系统的计算能力,以当前4核双CPU的志强处理器16G内存服务器举例,如果用户的xp系统分配256M内存,平均水平下,一台服务器可以支撑50-60个桌面运行,则可以看到,如果将桌面集中使用虚拟桌面提供,那么50-60台的桌面采购成本将高于服务器的成本,而管理成本,安全因素,还未被计算在内,所以服务器虚拟化技术的出现,使得桌面虚拟化技术的企业大规模应用成为可能。
当然,如果只是把台式机上运行操作系统转变成为服务器上运行的虚拟机,而用户无法访问,当然是不会被任何人接受的。所以虚拟桌面的核心与关键,不是后台服务器虚拟化技术讲桌面虚拟,而是让用户能够通过各种手段,任何时间,任何地点,通过任何可联网设备都能够访问到自己的桌面,即远程网络访问的能力。而这又转回到和应用虚拟化的共同点,即远程访问协议的高效性上。
目前,提供桌面虚拟化解决方案的主要厂商包括微软、Vmware、Citrix,而使用得远程访问协议主要利用两种协议:早期由Citrix开发的,后来被微软购买并集成在Windows中的RDP协议,这种协议被微软和Vmware的桌面虚拟化产品使用,而基于Vmware的Sun Ray等硬件产品,也都是使用RDP协议;第二种就是Citrix自己开发的目前独有的ICA协议,Citrix将这种协议使用到其应用虚拟化产品与桌面虚拟化产品中。
协议效率决定了虚拟桌面使用的用户体验,而用户体验是决定了桌面产品生命力的关键,(微软的成功与Vista的没落无不证明了这一点)。从目前官方的文档与实际测试来看,通常情况下,ICA协议要高于RDP协议,一般情况下ICA的带宽占用为20kbps,而RDP在60kbps,这些都不包括看视频,玩游戏以及3D制图状态下的带宽占用率。正是由于这个差别,虚拟桌面的用户体验有比较大差别。一般情况下,在LAN环境下,一般的应用RDP和ICA都能正常运行,只不过是RDP协议造成网络占用较多,但对于性能还不至于产生很大影响,但是在广域网甚至是互联网上,RDP协议基本不可用。而在视频观看,Flash播放,3D设计等应用上,即使局域网,RDP的性能也会受到较大影响(在优酷上有很多视频进行比较),ICA的用户体验会很流畅。而且根据Citrix官方刚刚推出的HDX介绍,这方面的新技术会得到更快地推进。而微软和Vmware也意识到了这一差别,微软转而加大RDP协议的研发与优化,而Vmware也在转而寻找其他的更高效的替代方案。
特别强调的是,这三家厂商后台的服务器虚拟化技术都使用的是自己的产品,微软采用的是Hyper-v,Citrix采用的是XenServer(不过根据官方说法,是可以支持其他两个厂商的服务器虚拟化产品),Vmware使用的是自己得ESX。
3 第二代桌面虚拟化技术
第一代技术实现了远程操作和虚拟技术的结合,降低的成本使得虚拟桌面技术的普及称为可能,但是影响普及的并不仅仅是采购成本,管理成本和效率在这个过程中也是非常重要的一环。
纵观IT技术应用历史,架构的变化和三国中名言一样:分久必合,合久必分。从最早主机-亚终端集中模式,到PC分布模式,到今天的虚拟桌面模式,其实是一个计算使用权与管理权的博弈发展。开始主机模式,集中管理,但是应用困难,必须到机房去使用;PC时代来临,所有计算都在PC上发生,但是IT的管理也变成分布式的,这也是为什么IT部门的桌面管理员压力最大,需要分布式的管理所有用户的PC,管理的成本也大幅度上升。桌面虚拟化将用户操作环境与系统实际运行环境拆分,不必同时在一个位置,这样即满足了用户的灵活使用,同时帮助IT部门实现了集中的控制,从而解决了这一问题。但是如果只是将1000个员工的pc变成1000个虚拟机,那么IT管理员的管理压力可能并没有降低,反而上升了,只不过是不用四处乱跑了而已。
为了提高管理性,第二代桌面虚拟化技术进一步将桌面系统的运行环境与安装环境拆分、应用与桌面的拆分、配置文件的拆分,从而大大降低了管理复杂度与成本,提高了管理效率。如下图所示:
我们简单来计算一下:如果一个企业有200个用户,如果不进行拆分,IT管理员需要管理200个镜像(包含其中安装的应用与配置文件)。而如果进行操作系统安装与应用还有配置文件的拆分,假设有20个应用,则使用应用虚拟化技术,不用在桌面安装应用,动态将应用组装到桌面上,则管理员只需要管理20个应用;而配置文件也可以使用Windows内置的功能,和文件数据都保存在文件服务器上,这些信息不需要管理员管理,管理员只需要管理一个文件服务器;而应用和配置文件的拆离,使得200个人用的操作系统都是没有差别的Windows XP,则管理员只需要管理一个镜像(用这一个镜像生成200个运行的虚拟的操作系统,简单来讲可以理解成类似于无盘工作站的模式)。所以总的来说,IT管理员只需要管理20个应用,1个文件服务器,和1个镜像。管理复杂性大大下降。
这种拆分也大大降低了对存储的需求量(少了199个xp的存储),降低了采购和维护成本。更重要的是从管理效率上,管理员只需要对一个镜像或者一个应用进行打补丁,或者升级,所有的用户都会获得最新更新后的结果,从而提高了系统的安全性和稳定性,工作量也大大下降。
三 虚拟桌面的价值
为何要实现桌面虚拟化?为什么要转变传统的PC使用方式?
1 更灵活的访问和使用
从IT技术诞生到推广,就伴随着一对矛盾:即用户使用与IT管理的矛盾:
早期的大机时代,用户的使用与管理工作都位于机房内,用户使用不方便,但是管理员管理相对简单;
PC出现,用户无须去机房工作,更方便的使用IT技术,但是管理员的管理工作复杂化了,管理工作随着PC的分散化,也分散化了,即使网络出现使得管理工作一定程度地可以通过网络完成,但是成功率依然比较低,管理能力有限;
今天,网络访问不再是瓶颈,虚拟桌面技术的出现解决了这对矛盾:
用户可以远程访问桌面系统,获得和PC完全一致的体验;
管理员也只需要在数据中心就可以轻松完成所有的管理工作
所以桌面虚拟化技术实质上是将用户使用与系统管理进行了有效的分离。
这样带来的直接好处,就是用户对桌面的访问就不需要被限制在具体设备、具体地点和具体时间了。我们可以通过任何一种满足接入要求的设备,就可以访问我们的桌面。这样,员工就可以不必在公司加班,而可以回家通过家里的设备,访问公司的桌面,继续工作,并同事能够保证数据安全(因为只有图像传输到家里的设备上)。出差同样可以不必带电脑,而只要找到一个能上网的设备就可以使用自己的桌面。办公人员甚至可以通过手机访问自己的桌面(在优酷上查找“HTC touch Pro 用XP” 查看相关视频)。
2 更广泛与简化的终端设备支持
作为云计算的一种方式,由于所有的计算都放在服务器上,终端设备的要求将大大降低,不需要传统的台式机,笔记本;而正如维基百科所说,瘦客户端又重新回到我们的视野,而且智能手机,上网本,接近报废的PC等设备甚至于电视,都成为可用设备。而这恰恰是云计算的灵魂所在,目前Google也在研发所谓的基于互联网的操作系统,相信这还需要一段时间,但是桌面虚拟化技术已经让这种愿景变为现实(在优酷上查找“势不两立的 apple TV上跑微软 Windows”,就可以看到录像演示)。
在虚拟桌面的推动下,未来的企业IT可能会更像一个电视网络,变得更加灵活,易用:
我们可以使用各种设备,电脑,瘦客户端,手机,电视以及键盘,鼠标或者其他外设(比如wii的手柄),像看电视和选台一样去访问桌面或者应用;
而这些应用与桌面都是在服务商或者数据中心运行和管理的,他们得角色就好比发送信号的电视台,信号通过网络发送到各个“电视屏幕“上(当然网络目前是互联网,未来中国能够三网融合的时候,那么这个网络将可能是任何一个网络)
而各种应用,桌面,就好像我们今天看到的各种电视节目或者频道一样。作为内容被专业的提供商提供出来。
由于计算全发生在计算中心,所以客户端的压力大大降低,更简化的客户端可以得到广泛使用,终端设备的可选择性更广泛,可以满足不同的应用需求。
3 终端设备采购、维护成本大大降低
这种IT架构的简化,带来的直接好处就是终端设备的采购成本降低。以瘦客户端为例,一个瘦客户端的采购成本为2000左右,而pc目前价格在4000左右,则每台客户端的能够节省2000元,投资到物理服务器,按照1:1的压缩比(所有人都同时使用虚拟桌面),则10万元的服务器只要能够负载50个虚拟桌面,硬件投资成本就相等。但是一般压缩比不会为1:1,更重要的是,瘦客户端的报废周期一般6-8年,比PC长一倍,则终端投资二期就直接减少。另外,现有的PC系统也可以大大延长使用周期,只要外设可用,就可以转化为普通终端。间接降低了电子垃圾的产生数量。
4 集中管理、统一配置,使用安全
由于计算发生在数据中心,所有桌面的管理和配置都在数据中心进行,管理员可以在数据中心进行对所有桌面和应用进行统一配置和管理。例如系统升级、应用安装,等等。避免了传统由于终端分布造成的管理困难和成本高昂。尤其对于学校机房、教学中心等大规模的,多变需求的应用场景(频繁更换操作系统),非常适合。
由于传递的只是最终运行图像,所有的数据和计算都发生在数据中心,则机密数据和信息不需要通过网络传递,增加了安全性,另外这些数据也可以通过配置不允许下载到客户端,保证用户不会带走、传播机密信息。
5 降低耗电、节能减排
传统PC一般在200W以上,而瘦客户端在25w左右,耗电量接近十分之一,而服务器的计算压力会带来一定程度的耗电量的上升,但是与客户端的大数量相比,可以忽略。所以一年的电费也会降低90%左右。
而耗电的减少,也意味这碳排放的减少,适应了低碳时代的要求。
需要强调的是,桌面虚拟化的优势,是典型具有规模效应的,终端数量越多,上述的收益和优势越突出。
四 桌面虚拟化的市场格局
1 市场状况
桌面虚拟化技术作为目前虚拟化技术中最新的技术,还并不广为认知,尤其是国内很多企业还不知道桌面虚拟化所谓云云,或者将其等同与vmware workstation或者微软的VPC。从技术发展过程来看,2006年,这种概念才开始形成,2007年出现第一代VDI的方案,2008年才出现了比较完整的解决方案,而2009年看到的技术,才真正接近能够做到完全PC的体验。
但是桌面虚拟化的潮流已经酝酿,而且大有取代服务器虚拟化之势, 了解虚拟化的企业,已经对桌面虚拟化技术跃跃欲试了,但是比较大的案例相对较少。
国外相对比较多,例如匹兹堡医学院,有50000员工,管理20多所医院,400多个诊所,为了解决分支机构众多,分散造成的IT管理问题,使用Citrix的XenDesktop构建虚拟桌面,为接近40000个终端设备提供了虚拟桌面的服务,其中2000个为瘦客户端,实现了中心统一的管理。
另外,有消息说,花旗银行也开始全面采用桌面虚拟化技术,来为全银行的员工提供服务,来满足美国对于金融数据的安全规定要求。
2 厂商格局
当前在桌面虚拟化领域,主要有三个厂商,也是主要的服务器虚拟化厂商:
微软(Microsoft):
微软的桌面虚拟化技术MED-v刚刚推出不久,利用了桌面的VPC产品创建和“下载”虚拟机镜像,而实际上提供给用户使用的是安装在虚拟机中的应用,目标是用来解决桌面系统尤其是vista上对遗留应用不兼容的问题。并不是真正的虚拟桌面的解决方案,而从微软官网上看的信息,其VDI方案应该是真正意义上的桌面虚拟化或者精确地说是虚拟桌面解决方案,而这一方案,我们还得等待才能看到具体产品。
思杰(Citrix):
思杰作为应用虚拟化领域的绝对领导者(2007年份额在70%以上),由于桌面虚拟化的本质更接近应用虚拟化——对桌面的远程访问,其独有的高效的ICA协议和积累了20年的对外设重定向等技术的积累,使得其在桌面远程(包括广域网和互联网)访问的效率和外设的广泛支持性上,占有绝对的领先位置。尤其最新推出的HDX技术,能够广泛地支持标准USB设备,双向语音(VOIP应用),高清视频播放,使得虚拟桌面的体验真正达到了和PC类似的水平。
而在后端,其成功的对服务器虚拟化厂商XenSource和无盘工作站厂商Ardence的兼并,使之具有独立的服务器虚拟化平台,和更加灵活的虚机管理方式(使用单一的镜像技术批量动态生成虚拟机),加之其自有的应用虚拟化产品,使得整个桌面逻辑组成部分实现了完整的分离,实现了彻底的虚拟化,最大程度上地实现了灵活性,正式由于这个原因virtualizationreview 将Citrix的桌面虚拟化产品XenDesktop评为:对其他产品进行评判的标准。
Vmware
Vmware作为服务器虚拟化的老大,为了拉动其虚拟服务器的销售,并扩大产品线,也有自己的桌面虚拟化产品View。其后台架构在Vmware Sphere上,虚拟机的远程反问使用了微软的RDP协议,而应用虚拟化方面,兼并了原名Thin install的厂商,现在更名叫Thin app。实现了与Citrix类似的架构体系。
由于Vmware服务器虚拟化龙头的地位,推动桌面虚拟化也是顺风顺水,尤其是在其服务器虚拟化产品的技术优势之上,例如采用内存over commit技术,可以提高服务器上同时运行桌面的数量等等。
不过由于桌面虚拟化技术本质与服务器虚拟化大相径庭,Vmware遇到了很多困难,也是其目前正在化大力气克服的:
首先,协议问题,RDP协议效率相对ICA很低,在局域网内的业务应用可以基本承受,但是如果播放高清视频,flash等应用的时候,就会遇到跳帧,停止播放等问题。
其次,RDP的外设支持有限,例如USB设备,加密狗等外设无法使用,使得其提供的用户体验无法接近PC,所以很多应用场合造成虚拟桌面的无法应用。
这些问题都是因为协议造成的,所以Vmware正在寻求新的协议,例如PC over IP技术,但是由于目前这种技术与硬件绑定,所以投入成本相当大,对于客户来说,是很难接受的。而基于广域网或者互联网,目前似乎还没有什么好的协议可以超过ICA协议的效率。这无疑是摆在Vmware面前的一道难题。
不过Thin App的加入,使用“流”方式的应用部署结构,虽然只实现了微软App-v功能,或者Citrix XenApp产品中的“stream”功能,但是一定程度上实现了应用的拆离,使得整个体系变得灵活了很多,大大弥补了架构上的不足,整体的得到了很大的提高。
不过通过服务器虚拟化产品推广与IT巨头建立的合作关系,也是Vmware的另一个优势。