桌面虚拟化简介

桌面虚拟化简介
主流虚拟桌面产品
下表列出了一些著名 IT 公司的桌面虚拟化产品 , 但不是全部,仅供参考:
从表 1 中可以看出,桌面虚拟化的主要推动者以从事虚拟化技术的公司为主。 VMware Hypervisor 立足于 ESX(i) server Citrix 的是 Xen Microsoft Hyper-V 等,服务器端虚拟化的成功,使得他们在 VDI 方面要比其他公司稍微领先一些。 在这里,笔者准备介绍一下 VMware Citrix 两家公司的 VDI 产品,然后进行一些比较。
VMware view 的后端由 vSphere 所管理的一群 ESX(i) 服务器组成, 每个服务器上运行用户的虚拟机,客户端只要安装一个基于 PCoIP thin client ,就能访问在服务器端的 VDI service PCoIP 协议的全称是 PC-over-IP, 发明者是 Teradici[15] VMware PCoIP 的实现基于传输层的 UDP 协议,提供了三个重要的特性:
a) 服务器端渲染技术 (Host rendering) 。那么从服务器传送到客户端的数据只是一些加密的像素,客户端只需要有解码的能力即可, 无需知道服务器端究竟运行了什么样的程序 .
b) 对不同图像采用不同的编解码方式。 PCoIP 对不同类型的图像进行分析,然后采用最合适的编码方法,对图像或者像素进行压缩。基于多种算法的智能图像分解和优化编码使得传输和解码更有效,并且减少了对带宽的消耗 .
c) 感知网络,及时调整图像质量。由于 PCoIP 不传输文件,只传输像素。那么在进行实时监控网络后,可随时调整图像的编解码方法,通过改变图像的像素,来保证用户体验。 为此和 RDP 协议相比, PCoIP 的协议在 WAN 上的网络延迟要要小一些。
Citrix XendeskTop 主要采用了 HDX(High definition experience)[11,16] Citrix 原来有一套叫做 ICA(Independent computing architecture)[17] 的协议,但是随着微软对 RDP 协议的改进以及 VMware PCoIP 的出现, Citrix 为了应对压力,改善用户体验,使用了一系列 HDX 标识相关的特性。在 HDX 的主页 [11] 中,我们可以看到 8 种带 HDX 标识的特性:
1) HDXTM MediaStream 。针对音频和视屏内容,达到在本地欣赏多媒体内容的效果。服务器端直接传送压缩过的媒体内容,然后利用客户端的设备对内容进行渲染。
2) HDXTM  Realtime 。增强实时合作性。使得终端用户可以连接外部音频设备然后更好的和数据中心的 VDI 或者应用程序交互。
3) HDXTM Broadcast 在任何网络之间保障可靠,高性能的连接,利用 ICA 协议。
4) HDXTM SmartAccess. 保障用户在任何地方,使用任何设备访问 VDI 实例。
5) HDXTM Plug-n-play 使得用户可以任用任何本机资源,包括 USB 多屏幕显示,打印机等。
6) HDXTM RichGraphics with RemoteFX 使用 Microsoft RemoteFX 技术,提高 2D 或者 3D 应用的质量。
7) HDXTM WAN Optimization 。使用压缩,缓存,流量有限等技术提高在广域网中的用户体验。
8) HDXTM Adaptive orchestration 。看起来是一个综合解决方案,根据用户的设备,网络,应用程序来动态平衡性能,安全性以及数据中心桌面基础机构代价等因素。
比较 VMware Citrix 的相关技术 ,   我们可以看出他们的目标是一样的,都是提高 VDI 的用户体验,但是他们的解决方案有所不同。在图像压缩和传输方面, VMware 使用的 PCoIP 技术是在服务器端完成渲染,对客户端的要求非常低,只要能够解码就行。而 Citrix 的方案会利用客户端的一些硬件,在某些场景下,甚至对客户端有一定的要求。在网络传输方面, PCoIP 构建在 UDP 协议之上, Citrix HDX 依赖于 TCP 协议。底层究竟使用 UDP 还是 TCP 好,在 [18] 中有人作了详细的论述。毫无疑问的是, UDP 非常适用于 audio 或者 video multimedia ,因为不在乎少量的丢包。对于一些重要信息的传输, TCP 在传输层的确比较有优势,不过 UDP 被包装后亦可在用户层实现传输的可靠性。
桌面虚拟化的背后
以上内容大多数属于客观性的描述, 这一部分笔者想谈谈个人的看法,仅供一笑。 VDI 不算一个特别革命性的技术,但是贯彻了一个非常强的理念: 计算或者数据应该放在服务器端,客户端的主要作用是数据的展示和进行简单的人机交互(人类主要主要通过 5 感中的视觉,听觉,触觉)。当年 VDI 技术的主要目的是使得交互更加的自然,达到和本地机器差不多的效果。当然一旦用户的数据都在服务端,那么用户所能得到的可能远大于过于的情况。 这样的理念无疑是正确的,用流行的话语是现在是一个云计算的时代,但更客观的描述应该是 IT as a service 的时代。从曾经流行的 Grid Computing 到现在 Cloud Computing 随着需要解决的问题的难度增加, 必须使用大规模的计算 ( 例如分布式计算 ) 加上可控的管理 ( 数据的安全性 ) 。有个理念叫做,数据最好在计算资源附近。当你本地计算能力不够的时候,你就要诉诸于更为强大的组织帮你解决。有时候你的问题是没有输入数据的,当你有输入数据的时候,数据就必须上传,这样就涉及到数据的安全性问题了。这么看来, VDI 似乎给用户构建了一个和大规模数据中心交互的接口,当然以前的各种客户端软件也是一个接口,不过他们只是针对单一的服务。 但是 VDI 不同,它是一个统一的接口,当你通过这个接口,就可以找到 一切 。虽然 VDI 的前身是远程桌面,现在的 VDI 也许是老瓶装新酒,不过它是一个必须的存在。
VDI 的服务器端,实际代表了服务商数据中心的能力。如果没有强大的实力, VDI 的效果显然是比较差的。 就以 VMware 的实现为例,我们假设用户的 VDI 对应一个虚拟机,那么我们需要分析一下,为了提供高质量的服务,什么样的技术是必须的呢?(我来随便列几点,仅供参考):
1) 虚拟机动态迁移技术。这一技术的本意是为了对服务器之间的资源进行动态平衡。但是对 VDI 用户来讲也是需要的。我们假设一个用户经常在全球各地飞来飞去,当他(她)使用 VDI 客户端进行远程桌面访问的时候,假设对应的虚拟机一直驻留在某地,那么服务会如何呢,网络访问速度一定让人满意呢?如果不行,是不是应该让虚拟机从某个子数据中心迁移到另外一地呢?如果确实需要这样的功能,那么数据中心就必须支持 WAN 之间的虚拟机迁移。这就涉及到了虚拟机的迁移的两大难题,存储迁移和 IP 重定向的解决方案。在这个问题上, VMware,   Cisco EMC 等做了相当大的工作。
2) 数据共享技术。虽然用户的虚拟机可以定制的,但是对于一些必要的软件,大多数用户都是必须。那么我们是不是要尽量减少相同数据存储所带来的问题。那么这里就有一个共享数据的需求, 还涉及到了数据去重复技术( de-duplication )。
3) 可信计算技术。当用户有个疑问,怎么可以确信个人数据在数据中心是被合理授权使用的。尤其是怎么确保虚拟桌面计算环境是完全隔离的,它不能被恶意攻击者攻破,甚至不能被数据中心的管理员访问。那么服务商如何去保证呢?前者需要服务商提供一些病毒扫描和预防软件,甚至需要支持虚拟机中 OS 或者软件的动态更新。后者需要可信计算技术的支撑 ,从硬件到软件构建一个可被度量的信任关系,确保各层次的软件都是可控的。
4) 大数据分析的能力。用户通过 VDI 连入数据中心,势必是希望得到在本地不能得到的服务。在这个时代,大规模数据分析成为了一个普遍的需求。所谓的科学计算,倒是成为了小众群体。为此数据中心必须有大规模数据分析的能力,比如拥有大规模的分布式数据分析集群 (e.g., Map-Reduce cluster)
本文来自 EMC中国研究院

你可能感兴趣的:(vmware,citrix,桌面虚拟化)