不同形式的桌面云 - VDI 和 Streaming

赵 俊丽, 软件工程师, IBM
殷 实, 软件工程师, IBM

简介: 企业工作桌面和应用的数量、复杂度日益增长,操作系统和应用的更新日益加速,企业要花费越来越多的时间和资金来支持和管理员工的工作桌面。为了控制经营成本,企业需要找到一个高效管理工作桌面的方案。个人电脑的淘汰速度日益加快,给企业和社会带来了很多的废物处理成本,从绿色环保的角度考虑,企业需要找到一个能替代个人电脑的方案。桌面云(Desktop cloud)解决方案应运而生,它将虚拟桌面技术代、远程桌面访问技术、瘦客户端技术结合,使用户在任何时候、任何地方都可以方便地访问个人桌面,IT 部门可以方便有效地管理这些桌面,而且瘦客户端的淘汰速度远低于个人电脑。桌面云解决方案的技术也得到了快速的发展,目前被广泛推广的桌面使用技术有虚拟桌面架构技术(Virtual Desktop Infrastructure: VDI)和流传输桌面技术(Steaming)。本文主要介绍两种技术的基础架构、适用范围以及发展现状。

桌面云简介

多年来,企业花费了大量的时间和资金来支持和管理员工的工作桌面。随着企业对应用和工作桌面的需求的不断增长,IT 预算的不断缩减,这种状况面对着越来越多的挑战。操作系统和应用的更新、软件补丁、安全漏洞以及响应日常的咨询服务,已经成为 IT 部门每天疲于应付的事务,同时 IT 部门还要控制运营成本。企业需要找到一个高效管理工作桌面的方法已经变得刻不容缓,桌面云就是针对这种情况而出现的一种解决方案。

在桌面云解决方案中,我们可以通过瘦客户机、iPad 或者其它与网络连接的设备,访问跨平台的应用程序或者整个客户桌面,并且得到与传统的个人电脑同样的用户体验。桌面云的前提是有一种用户桌面使用技术,包括虚拟桌面架构技术(Virtual Desktop Infrastructure: VDI)和流传输桌面技术(Steaming),因此把 VDI 和 Streaming 可以被称为桌面云的两种形式。

VDI

VDI 桌面云解决方案采用“集中计算,分布显示”的原则,支持客户端桌面工作负载(操作系统、应用程序、用户数据)托管在数据中心的服务器上,用户通过支持远程桌面的协议(如 Remote Desktop Protocol: RDP、Independent Computing Architecture: ICA)的客户端设备与虚拟桌面进行通信。每个用户都可以通过终端设备来访问个人桌面,从而大大改善桌面使用的灵活性。

VDI 桌面云解决方案可以整合来自多家厂商的多种产品,而它们之中的每一个都存在差异,但是每个方案又都拥有相似且必要的元素,如图 1 所示:

图 1.VDI 架构图



1.虚拟化平台

    虚拟化平台是一个服务器集群,包括运行服务器和存储服务器,用来承载全部的桌面虚拟机实例。它把运行服务器组构成一个具有 HA(High Availability)特性的虚拟化资源池,然后将虚拟化计算资源重新划分并分配给桌面虚拟机的实例。根据同一个虚拟机模板复制、创建而成的桌面虚拟机实例具有相同的配置和功能。所有的桌面虚拟机实例都存放在存储服务器上。运行服务器承载计算负载,存储服务器承载存储负载。当某个运行服务器出现异常时,它上面运行的桌面虚拟机实例可以快速地迁移到其它运行服务器上继续提供服务。存储服务器采用安全的备份机制,保证了数据的可靠性。
2.虚拟机管理平台

    虚拟机管理平台用于管理虚拟化资源池中的桌面虚拟机实例。基于虚拟机模板,虚拟机管理平台可以批量、快速地创建出新的桌面虚拟机实例。虚拟机管理平台把所有的桌面虚拟机实例分组管理,既可以实现对单个实例进行开启、关机、重启、重置、销毁等管理操作,也可以实现对组内所有实例的批量管理。当宿主服务器发生非预期的问题而停止工作时,虚拟机管理平台可以把宿主服务器上的桌面虚拟机实例移动到另一台宿主服务器上继续运行。

    虚拟机管理平台还负责维护用户和桌面虚拟机实例的对应关系,此关系分为静态和动态两种。静态关系是指一个用户对应的桌面虚拟机实例是固定的,用户自己决定访问哪个桌面虚拟机实例。动态关系是指一个用户对应的桌面虚拟机类型是固定的,用户自己只能决定访问哪种类型的桌面,不能决定访问哪个桌面虚拟机实例。

    虚拟机管理平台监控虚拟机实例的运行状态,维护用户与桌面机实例的对应关系,客户端连接调度平台根据这些数据,为用户分配合理地桌面虚拟机实例。
3.客户端连接调度平台

    客户端连接调度平台是客户端连接请求分发服务器。客户端用统一的连接入口发送连接请求到连接调度平台,连接调度平台根据调度策略从虚拟化资源池中分配一个桌面虚拟机实例与客户端设备进行对接。

    当客户端设备发出与桌面虚拟机断开连接的请求时,连接调度平台会断开此连接,根据策略释放虚拟机资源,并调用虚拟机管理平台对桌面虚拟机实例做相应的处理,比如重置虚拟机。客户端连接调度平台会主动监控客户端设备与桌面虚拟机的连接状态,当它发现未经请求就已断开的连接时,客户端连接调度平台同样会释放此虚拟机资源,并调用虚拟机管理平台处理此虚拟机。
4.客户端设备

    客户端设备可以是普通 PC、瘦客户机、诸如 iPad 的移动设备等。瘦客户机是使用专用嵌入式处理器、本地内存、精简版操作系统,基于 PC 工业标准设计的专用商用 PC。瘦客户机通常使用寿命比较长,而且其购买费用比台式 PC 的费用低。

    客户端设备将鼠标、键盘等输入传送到服务器处理,服务器再把处理结果回传给客户端显示,这种传送过程需要高效的通讯协议支持。不同的客户端可以同时登录到服务器上,并拥有独立的工作环境。客户端设备无论是在局域网还是广域网中都可以连接到桌面虚拟机实例,这使用户在任何时候、任何地方都可以使用相同的桌面环境。
5.通讯协议

    用户体验是决定桌面解决方案生命力的关键,通讯协议的效率决定了桌面虚拟机的用户体验。目前比较通用的通讯协议有远程桌面协议(Remote Desktop Protocol:RDP)和独立计算体系结构(Independent Computing Architecture:ICA)。

    RDP 和 ICA 都是终端服务的协议,RDP 适用于 TCP/IP 协议,ICA 适用于 TCP/IP、 IPX/SPX、 NetBEUI 等协议。通常情况下,ICA 协议的效率要高于 RDP 协议,在局域网环境下,一般的应用(不包括视频、玩游戏以及 3D 制图等)在 RDP 和 ICA 上都能正常运行,只不过是 RDP 协议造成网络占用较多,但对于性能还不至于产生很大影响;但是在广域网甚至是互联网上,RDP 协议与 ICA 协议的性能差距很大。而在视频观看、Flash 播放、3D 设计等应用上,即使是局域网,ICA 的用户体验会比 RDP 流畅很多。

Streaming

Streaming 是一种数据传送技术,它把操作系统、应用程序和用户数据变成一个稳定连续的流,源源不断地输出到客户端,使用户在数据传送完成之前就可以运行操作系统和应用。Steaming 虚拟桌面解决方案采用“集中管理,分布计算”的原则,把客户端桌面工作负载(操作系统、应用程序、用户数据)打包并存放于数据中心的服务器。当客户端通过网络连接到数据中心时,服务器按需地传送客户端需要的操作系统和应用,然后客户端由负责计算。

Steaming 虚拟桌面解决方案中有大数据量的传输,所以通常部署在局域网内。Steaming 虚拟桌面解决方案的架构如图 2 所示。

图 2:. Streaming 架构图


1.桌面打包服务

    Steaming 虚拟桌面解决方案的核心是数据流的分发与传输,桌面打包服务决定了数据流的粒度,数据流的粒度决定了分发和传输的效率。桌面打包服务把操作系统、应用程序和用户数据分别打包成稳定连续的数据流,使数据流可以最大限度地支持按需分发。

    通常的操作系统、应用程序、用户数据文件容量大,在网络中传输花费时间长,若遇到网络繁忙,还会造成传输中断。因此,需要把操作系统、应用程序、用户数据进行预处理,将文件压缩为支持流形式传输的文件。预处理过程中有两点非常重要,一点是选用适当的压缩方法进行压缩,这样生成的文件容量较小,另一点是需要在文件中添加流格式信息。
2.桌面分发服务

    桌面分发服务是由一个服务器集群提供的,用于分发虚拟桌面数据流到客户端设备。客户端设备连入网络后,桌面分发服务根据预先定义的策略向它分发操作系统。客户端开启应用时,桌面分发服务向它分发应用程序。桌面分发服务具有 HA 特性,当一个桌面分发服务器出现异常时,另一个桌面分发服务器可以自动地替代它为与其连接的客户端设备服务。出于分发效率的考虑,桌面分发服务器集群通常采用金字塔结构,上层的服务器服务于下层服务器,只有最下层的服务器直接服务于客户端设备。
3.客户端设备

    客户端设备可以是普通 PC、瘦客户机或者特定的应用程序。在 Streaming 虚拟桌面解决方案中,客户端需要具有较高的计算能力和高效的缓存能力,支持网络启动的网卡。特定的应用程序是 Streaming 桌面解决方案的一个客户端软件,用户通过它来使用 Streaming 的应用程序。服务端把操作系统、应用程序、用户数据传送到客户端,客户端负责计算,并处理鼠标、键盘等设备的输入,然后把计算结果传送至服务端。

    Streaming 虚拟桌面解决方案支持客户端设备离线工作。如果客户端设备需要离线工作,用户需要为客户端设备配置存储设备,比如本地硬盘、移动硬盘等。当客户端设备在线工作时操作系统、应用程序、用户数据被保存在存储设备中,一旦处于离线状态客户端会利用存储设备中的数据继续工作。当客户端设备再次在线工作时,服务端与客户端的数据会进行同步。
4.启动技术

    客户端启动后会向网络中的所有计算机发送广播,桌面分发服务器收到广播后根据预先定义的分发策略向客户端传送操作系统映像。客户端接收映像后开始启动操作系统,操作系统启动后系统会按需地加载应用程序。根据接收映像的介质不同,启动技术可以分为硬启动和软启动两种。

    硬启动利用网卡上的启动芯片与服务器通讯。对于 BIOS 中空闲较多并支持写入的主板,可以将启动芯片代码写入主板 BIOS 中,现在几乎所有的 BIOS 都支持这种操作。目前比较通用的启动芯片有 RPL 和 PXE。RPL 芯片可用于十兆和百兆网卡,PXE 通常用于百兆网卡。

    软启动利用特定的启动软件。这类软件可以存储在本地硬盘或者移动存储设备上,此类软件随客户端启动然后服务器进行通讯。启动软件通常是服务提供商定制的,它比硬启动更加灵活,实现的功能也更加丰富。
VDI 和 Streaming 的适用范围

VDI 和 Streaming 这两种解决方案,在实现、运行上都各有特点,因而它们有不同的使用范围。下表是对两种方案的主要特点的比较。

方案类型计算模式管理模式存储模式客户端显示支持的网络离线操作
VDI集中计算统一管理 OS 和 App用户数据与桌面可一起存储,也可分开存储显示服务端传来的影像广域网、局域网不支持
Streaming分散计算独立管理 OS 和 App用户数据与桌面分开存储独立显示局域网支持
对于平时办公只需要运行 office、IT 开发工具、邮件客户端等轻量级应用桌面系统的用户,比如财务部门、人力资源部门、呼叫中心的员工,VDI 在提供运行快速的个人桌面的同时还支持桌面系统个性化的配置。VDI 在局域网和广域网内都可以使用,用户在任何地方都可以登录到相同的桌面环境中,因此 VDI 非常适合于远程异地办公的用户。例如在典型的网络教学环境中,教师除授课以外还需要为学生准备相应的操作环境,而学生使用的设备和网络通常是参差不齐的。在这种情况下使用 VDI 解决方案,教师只需要点几下鼠标就可以为所有学生准备好相同的操作环境。

对于显示质量要求很高的情况,比如平面设计、CAD 绘图、动漫制作、大型游戏开发等领域,Streaming 解决方案的客户端设备负责提供计算能力,可以提供与高图像处理能力的个人电脑同样的显示效果。在运行重量级应用的情况下比如大型数据处理终端,必须把处理负载分散到客户端并把数据存放在服务端以保证数据安全和处理能力的双向指标,此时 Steaming 解决方案是非常好的选择。Streaming 支持离线方式,当客户端再次接入网络时会自动实现服务端与客户端的同步,这对于经常会离线工作的员工是非常有意义的。

结束语

VDI 作为一种桌面云技术,将远程桌面访问与虚拟操作系统结合了起来,使得桌面云的企业级应用成为可能。服务器虚拟化技术的成熟,以及服务器计算能力的增强,使得服务器可以提供多台桌面操作系统的计算能力。以 4 核处理器、16G 内存的服务器为例,如果用户分配给虚拟 Windows XP 系统 1024 MB 内存,一个服务器可以支撑 50-60 个桌面运行。IBM 已经可以提供完善的 VDI 解决方案,基于 IBM 数据中心的强大优势,世界各地的用户都可以享受到 IBM 提供的高效的桌面服务。VDI 桌面云解决方案也可以基于企业自己的数据中心提供服务。目前 VDI 桌面云解决方案已经在很多企业中得到了应用,Microsoft、VMware 等厂商都在积极发展自身的 VDI 技术。

在 VDI 解决方案中,桌面虚拟机实例的数量较大,这样在做软件管理、系统升级等虚拟机管理工作的时候,工作量很大。为了提高管理性能,Streaming 将桌面系统的运行环境与安装环境拆分,将应用、配置文件、桌面拆分,提高了可共享的资源比例,从而降低了管理复杂度与成本,提高了管理效率。以一个有 200 个用户的企业为例,如果不进行拆分,IT 管理员需要管理 200 个镜像。如果进行拆分,IT 管理员可能只需要管理 20 个应用、一个操作系统镜像、一个文件服务器(用户管理用户配置文件)。Streaming 作为一种新兴的桌面云技术正被越来越多的应用到桌面云领域中的解决方案,Wyse、Citrix 等厂商对 Streaming 的投入很多。

参考资料

学习

  • IBM Smart Cloud:IBM 智能云中心包含丰富的基于云技术的服务和系统及应用程序。

  • IBM 云计算智能商务桌面

  • IBM 云计算安全:IBM 云计算安全中心介绍了大量云技术相关的安全技术。

  • 桌面云初探”(developerWorks,2010 年 1 月):自从云计算的概念推出以来,不断有各种各样的云从我们身边飘过,桌面云(Desktop Cloud)就是其中的一朵云。,本文主要介绍什么是桌面云,驱动桌面云的业务需求是什么,桌面云的基础架构,以及桌面云现在存在的一些缺点以及桌面云现在主要面临的挑战

  • 桌面云的部署”(developerWorks,2010 年 8 月):桌面云方案是对企业传统桌面管理的一次重大变革,良好的用户体验对项目的成功非常重要,但是由于社会中存在不同类型的企业,这些不同类型的企业当中有许多不同类型的用户,这些用户对计算资源的需求不一样,平时使用的习惯也不一样,如果我们忽略了这些差异性的话会使用户体验很差,甚至会导致项目失败

  • 桌面云中的安全”(developerWorks,2011 年 3 月):许多企业在考虑把自己的传统桌面替换成桌面云,但是桌面云的安全问题一直困扰他们,变成他们实施中最主要考虑的问题之一,本文主要介绍了实施桌面云所带来的一些天生的安全性以及在实施桌面云架构过程中必须考虑的安全问题

  • 桌面云 - 企业 IT 管理的发展之路”(developerWorks,2011 年 8 月):当前几乎所有的企业和机构都面临着一些 IT 管理方面的问题。在企业内应用桌面云(Desktop Cloud)系统,是一条解决企业遇到的这些难题的有效途径。本文首先介绍桌面云系统及其架构和部署方式,然后描述桌面云系统在 IT 管理方面的优势和如何解决企业面临的 IT 管理问题。本文最后阐述了桌面云系统的发展趋势。

  • 加入云计算讨论组,了解和讨论云计算的最新技术、解决方案、趋势等内容。

  • 云计算专区,developerWorks 云计算技术资源专区包含大量云计算领域的文章和教程。

本文出处:http://www.ibm.com/developerworks/cn/cloud/library/1108_zhaojl_vdistream/

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页