http://www.searchvirtual.com.cn/guide/virtualvdi.htm#log
VDI虚拟桌面基础架构
虚拟桌面基础架构VDI
VDI,英文全称Virtual Desktop Infrastructure, 即虚拟桌面基础架构,正迅速成为一个热门词语。本手册将探讨什么是虚拟桌面架构、与传统桌面解决方案的比较、适用于什么范围以及怎样实施VDI。
简介
VDI的概念很简单。它不是给每个用户都配置一台运行Windows XP或Vista的桌面PC,而是通过在数据中心的服务器运行Windows,将你的桌面进行虚拟化。 _
虚拟桌面基础架构(VDI)简介 _
比较
在这一部分里,我们将对VDI、基于服务器计算以及传统的本地桌面各自相对的优点进行比较,并看看它们各自在哪些情况下最适合。 _
VDI与基于服务器计算的桌面 _
VDI与传统本地桌面 _
使用范围及实施
VDI应用在什么地方?又是什么技术让VDI可能实现?我们怎样实现动态VDI桌面呢?VDI又有具有哪些优势? _
DI何时有用? _
什么技术让VDI成为可能? _
如何在实际中实施动态VDI桌面? _
利用VDI节省成本和能源 _
具体应用
本部分介绍一些关于VDI的实际例子。 _
在复杂的基础架构实施VDI解决方案 _
使用VDI镜像安装流应用 _
拟桌面基础架构(VDI)简介 _
VDI,英文全称Virtual Desktop Infrastructure,即虚拟桌面基础架构,正迅速成为一个热门词语。在这些被分为六部分的系列文章中,TechTarget中国的特约独立技术分析师Brian Madden将探讨什么是虚拟桌面架构,人们为什么使用它以及各厂家在这个领域内正在做些什么。同时,也将分开讨论目前哪些是真实可行的,哪些是夸大其词的。
VDI的概念很简单。它不是给每个用户都配置一台运行Windows XP 或Vista(后文统称为Windows XP)的桌面PC,而是通过在数据中心的服务器运行WindowsXP,将你的桌面进行虚拟化。用户通过来自客户端设备(瘦客户机或是家用PC)的瘦客户计算协议与虚拟桌面进行连接,用户访问他们的桌面就像是访问传统的本地安装桌面一样。
在后端,虚拟化桌面通常通过以下两种方式之一来实现:
·运行若干Windows XP 虚拟机的MicrosoftVirtual Server的Vmware Server,每个用户以一对一的方式连接到他们的VM(虚拟机)。
·安装Windows XP刀片的刀片式服务器,每个用户以一对一的方式连接到刀片服务器。(这种方法有时被称作"bladed PC(刀片PC)”)
无论何种方式,都是让终端用户使用他们想使用的任何设备。他们可以从任何地方连接到他们的桌面,IT人员可以更易于管理桌面,因为它位于数据中心之内。 _
VDI方式最有趣的是,虽然这些技术是新兴的,但把桌面作为一种服务来提供的概念在十多年前就已经被提出了。传统的基于服务器计算的解决方案,如Citrix Presentation Server或微软的终端服务器,在过去十年中一直都提供VDI的解决方案。最主要的区别是基于服务器计算的解决在Windows的共享实例提供个性化的桌面,而VDI的解决方案是为每个用户提供他们自己的Windows机器。
也就是说,基于服务器计算行业在过去几年的发展中,更少地注重基于服务器的计算,而是更多地关注向用户提供应用。即使是这样,桌面只是另一种IT需要提供,用户需要访问的应用。
我们现在看其意义所在,有很重要的一点需要指出,那就是没有一个人会真正建议摒弃传统的本地桌面,而由VDI 解决方案取而代之(就像是十年前没人会建议摒弃传统桌面,由基于服务器计算的应用来替代它一样)。
通过基于服务器计算获得成功的公司都会基于具体的应用或具体的情况来评估需求。如今大多数使用基于服务器计算的公司将它作为整体解决方案的一个部分来使用。该整体解决方案融合不同的技术,为正确的情况提供恰当的应用。
VDI也不例外。它并不是一个最终的根本解决机制。它只是为用户提供桌面的另一个选项,由此来解决传统的本地桌面或基于服务器计算桌面所面临的一些巨大挑战。
在这个系列文章的第二部分,我们将对VDI、基于服务器计算以及传统的本地桌面各自相对的优点进行比较,并看看它们各自在哪些情况下最适合。
VDI与基于服务器计算的桌面
本系列共有六个部分,本文是第二部分,探讨的是当今IT环境下的虚拟桌面。
VDI(Virtual DesktopInfrasctructure,虚拟桌面架构)就概念本身而言已经不新,不过,现在很多人在思考如何使用VDI以及在何处使用,这倒是一个全新的问题。特别是人们对此进行评估,将VDI与其它向用户提供桌面的方式进行比较和对比,即基于服务器计算和传统的本地桌面架构。
本文中,我们将探讨VDI技术和基于服务器计算技术(server-basedcomputing,简称SBC),如Citrix Presentation Server或Microsoft 终端服务器。在本系列的第一部分,我已简要介绍过虚拟桌面基础架构(VDI)。
现在,SBC方式是一种很有趣的实现桌面的方法,因为SBC技术在很多方面提供一些类似SBC解决方案已有十年之久。事实上,Citrix直到1999年才推出无缝软件发布,因此在这之前的一切都是远程桌面。当然,我们当时并不叫它VDI,但是那就是它的前身。
然而,现在的基于Windows XP虚拟机的VDI与SBC桌面发布有很大的不同,尽管它们都从根本上解决了同一个业务目标:通过瘦客户机远程协议为用户提供桌面。 _
下面,我们对这两种技术进行比较,看它们各自的优势在何处。
与SBC相比,VDI有何优势?
1. 应用多时性能相对较好。在VDI环境下,终端用户的WindowsXP工作站运行于刀片机上,或是作为几台虚拟机的其中一个运行于服务器上。而在SBC环境下,一台服务器可能同时要支持50个、100个或更多的终端用户。在VDI环境中,每台用户虚拟机可利用的资源更多,所以应用繁重时性能比SBC好。
2. 没有兼容性方面的问题。在实际中,并不是所有的应用都与终端服务相兼容。在VDI环境下,每个用户虚拟机就是一个单独的工作站,因此你不用担心应用与终端服务的兼容性问题。
3. 更好的安全性。由于每个用户都有自己独立的Windows XP虚拟机,所以你不必为加固用户session而担心。如果其中一个用户出错,不会影响到其他的用户。
- 后端服务器的可移植性。在VDI中,系统是建立在虚拟机技术之上的,你可以“暂停”单个虚拟机,然后将其从一台服务器移到另一台服务器上。这在维护系统时将会很方便。你可以想象,你只需点击管理控制台的一个按钮,就可以将用户移到另一台服务器上。可能用户会收到一个弹出的提示框“请稍等”,然后服务器会将虚拟机的存储内容转移到一个硬盘上,虚拟机将在另外一个物理硬盘上进行自动配置,最后虚拟机重新联机。整个过程不到30秒,用户就恢复到中断时的位置。
5. 客户运行软件的“工作站”版。由于VDI工作站是基于Windows XP,而不是Windows Server sessions的,因此任何软件和应用都会把session作为真正的工作站。这样,你就可以使用所有软件的“工作站”版。
6. 用户控制。同样,由于每个用户都可以得到一个完整的Windows XP工作站虚拟机,所以他们可以根据自己的需求定制自己的虚拟机(或者在你允许的权限范围内)。但作为管理员,你可以更加灵活地设置用户权限,因为你不必担忧他们会影响其它用户。这也就意味着,需要自己工作站的管理权限的用户也可以被虚拟化。
7. 用户可离线使用session。如果你用的是基于虚拟机的VDI解决方案,请记住,不管你的物理硬件如何,虚拟化软件提供给用户的是一个通用的硬件情况。因此在所有用户桌面都是虚拟机的情况下,用户在办公室时可以使用集中的后端服务器,而不在办公室需要离线运行时,他们可以使用手提电脑运行VMware。有一个“断开连接”选项可以暂停用户session,然后复制硬盘镜像和内存到手提电脑,然后可以在手提电脑上恢复虚拟机。你甚至可以用通用手提电脑,供用户出差时使用。想象一下,VMware ACE可以灵活采用本地或远程运行,并且可以轻松地前后切换。
因此,VDI的确很不错。它带来了一些传统安装的分布式个人桌面的好处,还有基于服务器计算的很多优点。不过它也有不足之处,因为分布式桌面也存在着很多的缺陷。
与VDI相比,SBC有何优势?
1. 管理。SBC的亮点之一在于,你可以在单个终端服务器或Citrix PresentationServer上运行50或70个桌面session,这个服务器只需管理一个Windows实例。而在VDI中,50到70个用户就要50到70个Windows的副本,然后你还要对它们进行安装、配置、管理、打补丁、查毒、更新和杀毒。太可怕了! _
2. VDI需要更多服务器硬件。与SBC相比,VDI潜在的高性能是有代价的。与在一台终端服务器上给用户分配session相比,让每个用户都拥有一个完整的工作站虚拟机将需要更多的计算资源。一个有4GB RAM、双处理器的服务器作为终端服务器可以运行50到100个桌面session,而在VDI中,你可能就只能运行15到20台WindowsXP虚拟机了。
3. VDI需要更多的软件。除了操作系统和应用软件以外,你还需要虚拟机软件(VMware或Microsoft),而且还要一些为用户提供的管理虚拟机自动配置的软件(本系列后面将介绍更多)。当然,这些都是要花费更多成本的。 _
你可以看到,VDI和SBC倒不是完全不同。它们都使用瘦客户机协议来分离应用的执行和用户界面,而且它们都允许用户从任何地方使用任何设备进行连接。唯一真正不同的在于,VDI是连接瘦客户机用户到一个Windows XP工作站,而SBC是连接到一台共享终端服务器的一个session。 _
在本系列的下一篇文章,我们将探讨VDI与传统桌面计算有何异同。
VDI与传统本地桌面
传统的桌面架构是通过复制Windows,然后本地安装,运行于企业各个部门的PC和手提电脑上。那么,虚拟桌面架构(VDI)解决方案与传统桌面架构各有哪些优势呢?在VDI系列的本部分,TechTarget中国的特约专家Brian Madden将回答这个问题。
本系列的第二部分已经对比了VDI方案和基于服务器计算(SBC)方案,如Citrix Presentation Server或Microsoft 终端服务器。
VDI本质上就是使传统的本地桌面“SBC化”。用户可以通过任何连接、使用任何设备访问桌面。你可以享用两者的优点。
与传统本地桌面相比,VDI有如下一些优点:
1. 可从任何地方访问真实桌面。SBC和VDI最大的优点之一在于,用户可以从任何地方访问他们的应用(或VDI的情况下指桌面)。任何连接、任何客户端设备、世界的任何角落都可以访问。你何不把它也应用到桌面架构呢? _
2. 易于管理。如果你要管理1000个桌面,你会愿意管理哪种:1000个四处分散的物理桌面?还是一个数据中心的1000个虚拟机和VMware磁盘镜像?如果客户“工作站”都集中到数据中心,这将对管理、打补丁、资源分配等工作很有利。
3. 更易于备份。备份“工作站”你需要做的就是备份或快照磁盘镜像文件到服务器。如果用户丢失某些东西,他们可以轻松地将电脑恢复到任何时刻的状态。你甚至可以选择自动快照服务,它将会每小时自动快照一次。
4. 数据存储。使用VDI,你可以保证重要的文件和数据不用通过网络存储到客户机设备上。
5. 桌面运行于服务器级硬件上。由于桌面电脑分散于公司的各个角落,各台电脑与服务器级硬件的冗余情况也会不一样。一个停电事故、驱动或内存错误也可能导致桌面电脑崩溃。当然,服务器也一样。不过,由于公司的服务器比桌面数量少,从财政和风险角度看,在电力、RAID和其它技术方面花钱以确保服务器硬件不出问题,这样做也是值得的。
与VDI相比,传统本地桌面有何优势?
1. 离线使用。VDI最大的不足在于,客户机设备必须网络连接到一个运行Windows XP session的后端服务器上。
2. 运行图形丰富的应用时性能好。VDI与各个应用的兼容性更好,因为这些应用是各自运行于自己的Windows XP工作站的,而不是共享终端服务器。这解决了许多兼容性方面的问题,如性能独占和非终端服务器兼容应用。然而,VDI作为核心还是和SBC很类似的,应用的图形画面必须通过网络从后端传输到客户机。这就意味着,如果应用程序是视频或图形密集型,那么VDI的性能可能就不太好了,尽管这些应用是运行于Windows XP虚拟机上的。
3. 它是实质的标准。就如没有人会因为购买IBM而被开除一样,我们之所以把这个方法称作“传统本地桌面”,是因为这就是如今做事的方法。我们不需要执行什么新东西、自寻烦恼,也不需要尝试任何新技术。你只需继续使用现行的方法,就应用了传统本地桌面。
总之,VDI不仅拥有传统计算的许多优点,而且具有基于服务器计算的一些优点。当然,与传统桌面计算相比,VDI的网络连接要求却是一个很大的缺点。 _
VDI何时有用?
前面比较了虚拟桌面基础架构(VDI)解决方法相对于基于服务器计算的解决方案和传统本地桌面环境所具有的优点。我们已经分析了这些技术各自的优缺点,现在就来看看VDI在实际中的何处有用。
正如我之前写到的,VDI技术将永远不会取代本地桌面计算技术。但是通过目前可以使用的SBC(server-based computing,基于服务器计算)技术,很多人将大多数普通的应用从桌面转移到数据中心。(也许有80%?)
那么为什么只有80%呢?为什么不能将应用的其它部分也转移到数据中心来呢?可能的原因有:
1.用户需要脱机连接(出差使用的手提电脑等) _2.应用不与终端服务器兼容 _3.应用会大量占用资源,导致终端服务器宕机 _4.应用使用大量图片,无法通过瘦客户机远程显示协议很好地工作,如RDP(remote display protocol,,远程显示协议)或ICA(Independent ComputingArchitecture,独立计算构件协议) _5.在SBC环境中使用应用软件得不偿失。
正如我所说,VDI并不是应用的最终根本解决方法。SBC是一个不错的基础。基于此,让我们看一看以上列出的几点,再想想VDI。这些原因中的第二,三和第五点都可以由VDI加以解决。
(重申一下,为什么你“需要”解决以上列出的第二,第三和第五点原因呢?请参考本系列的第二篇文章。)
目前为止,很明显的一点是任何运行环境都可以从SBC、VDI和传统本地桌面的混合使用中获益。正如创建一个包含SBC、传统安装的应用以及应用流(application streaming)在内的综合应用解决方法是合理的,你应该把桌面看作仅是“另一种应用”,可以根据不同的情况,以多种方式进行工作。
在回答 _“为什么有人会需要VDI?”的问题时,经常提到的例子是远程软件开发人员需要。远程开发人员都有他们自己的VM(虚拟机)桌面,能够在不影响其他使用者的情况下做任何他们想做的事。
这确实是一个很好的例子,不过,VDI在其它许多方面也都有用。我担心过多地使用开发人员的例子会使人们误认为,如果他们没有远程开发人员,就不需要VDI。
事实上,只要具有超级用户(poweruser)或者需要使用不熟悉的、不与终端服务器兼容之应用的用户,而用户仍然需要与传统SBC环境相关的灵活性,例如,从任何地方连接到应用、连接速度缓慢等,任何这样的情况,VDI技术都是很有用的。 _
我认为VDI几乎在各个方面都有用,不过会受到一些限制。它仅仅是用来为用户提供桌面的多种方式的一种。VDI能够在百分之百的公司内发挥作用,但是可能只对公司内2%~4%的用户有用。的确,VDI很有用。但是,人们并不会因此而淘汰SBC环境或者桌面计算机。
这系列的下一篇文章我们将讨论什么技术让VDI成为可能。
什么技术让VDI成为可能?
我们已经了解了什么是虚拟桌面基础架构(VDI)及其应用的领域,现在让我们来看一下这些让VDI成为可能的基础技术。
从最基本的层面来讲,你需要在后台有一个虚拟机解决方案,而且还要有让用户远程访问Windows XP VM的方法。
Windows XP具有终端服务器功能,并支持RDP(Remote Display Protocol,,远程显示协议)内置。这称之为“远程桌面”。所以,可以这样说,任何一台可以运行RDP session的瘦客户机都可以通过RDP和VM的的远程桌面功能与VM相连接。
如果你以前用过VMware,你可以想像设置所有的虚拟机,然后给每台机器分配一个网络名称或IP地址,从而使每个终端用户都知道他们应该连接到哪一台Windows XP VM。
这在理论上可行,但在现实生活中却会是一个噩梦。具体问题包括:
1.所有虚拟机必须一直保持开机状态,因为如果用户想连接到一台已经关机的虚拟机,就无法连接。用户不可能去告诉VMware服务器:“嗨!请帮我打开虚拟机!”
2.缺乏负载平衡系统。如果你在每台VMware服务器上同时运行十五台虚拟机,它只能随机选择用户何时连接哪台虚拟机。
当然VMware有一个脚本界面,许多早期VDI研发者还写了一些复杂的脚本,并且定制网页,来查看要求接入的请求,然后通知VMware服务器,为用户快速启动虚拟机。
在过去的几个月里,数家公司已经发布了致力于解决这一问题的不同产品。这些产品可以归纳到一个通用类别:“桌面代理(Desktop Broker)”或“虚拟桌面基础架构代理(VDI Broker)”,而且它们的工作原理基本上都一样。就像那些早期采用者的粗略脚本一样,这些虚拟桌面基础架构代理接收用户的接入请求,然后将用户路由到已经准备好为其服务的WindowsXP或Vista虚拟机。由于篇幅所限,我们在这里就不再详述代理产品的细节,不过,RonOglesby写过一篇很出色的概述文章。
桌面代理产品可以确保用户连接到他们的桌面管理虚拟机。这很好,现在它就像一个正常的基于客户端的桌面,每个用户运行自己的Windows XP桌面,除了我们有一些基于服务器计算的优势。
那么存在什么问题?
问题是如果你有一百名用户,你就必须管理一百个Windows XP桌面镜像。一千名用户就意味着一千个镜像。你一定看出了问题所在。这回到了VDI主要的缺点之一:一个Windows XP桌面就是一个Windows XP桌面,无论它是物理还是虚拟,如果你不对它进行管理,那就必将会是一场噩梦。
动态桌面
让我们退一步,记得为什么Terminal Server和Citrix PresentationServer 的桌面好吗?因为我们只运行一个Windows实例,来支持50至75名用户桌面,而不是在本地桌面或VDI解决方案中需要50至75个WindowsXP实例。
但是,这是否意味着所有的50至75名用户会具有完全相同的桌面?当然不是,我们会使用像Roaming Profiles这样的工具来确保每个用户拥有自己的共享份额、打印机、颜色方案和其它桌面定制等。
然而应用方面又会是怎样呢?所有的那50至75名终端服务器桌面用户看到的是不是同样的应用列表?当然也不是!有许多方法可以为每个用户定制应用: