虚拟桌面及其关键技术分析
王峰 雷葆华
中国电信股份有限公司北京研究院
1.前言
虚拟桌面是典型的云计算应用,它能够在云中为用户提供远程的计算机桌面服务。服
务提供者在数据中心服务器上运行用户所需的操作系统和应用软件,然后采用桌面显示协
议将操作系统桌面视图以图像的方式传送到用户端设备上。同时,服务器将对用户端的输
入进行处理,并随时更新桌面视图的内容。
虚拟桌面的应用具有很多优势,例如它能够提供随时随地访问的能力、支持多样化的
接入设备选择、降低软硬件的管理和维护成本、强化用户的数据安全等,这使得虚拟桌面
具有广阔的应用前景。
2.主流虚拟桌面解决方案
用户对于类似虚拟桌面的体验并不陌生,其前身可以追溯到 Microso 在其操作系统产
品中提供的终端服务(Terminal Service)和远程桌面。但是,它们在实际应用中存在着不
足,例如之前的终端服务只能够对应用进行操作,而远程桌面则不支持桌面的共享。
虚拟化技术的发展使虚拟桌面获得了长足的发展,当前虚拟桌面解决方案主要分为两
大类:VDI(Virtual Desktop Infrastructure)和 SBC(Server-Based Compung)。
基于 VDI 的虚拟桌面解决方案,其原理是在服务器侧为每个用户准备其专用的虚拟机
并在其中部署用户所需的操作系统和各种应用,然后通过桌面显示协议将完整的虚拟机桌
面交付给远程的用户使用。因此,这类解决方案的基础是服务器虚拟化。服务器虚拟化主
要有基于硬件辅助的虚拟化和基于操作系统辅助的虚拟化两种,其中,前者是一种完全虚
拟化的方法,能够为虚拟机中的操作系统提供一个与物理硬件完全相同的虚拟硬件环境;
而后者则是一种部分虚拟化的方法,需要通过修改操作系统才能够将其部署进虚拟机中。
两种方法相比较,部分虚拟化通常具有更好的性能,但是因为它需要修改虚拟机中的操作
系统,导致开发难度的增加并影响了操作系统的兼容性。特别是 Windows 系列操作系统是
当前用户使用最为普遍的桌面操作系统,而其闭源特性导致它很难被部署在基于部分虚拟
化技术的虚拟机中。因此,基于 VDI 的虚拟桌面解决方案通常采用完全虚拟化技术构建用
户专属的虚拟机,并在其上部署桌面版 Windows 用于提供服务。
基于 SBC 的虚拟桌面解决方案,其原理是将应用软件统一安装在远程服务器上,用户
通过和服务器建立的会话对服务器桌面及相关应用进行访问和操作,而不同用户之间的会
话是彼此隔离的。这类解决方案是在操作系统事件(例如键盘敲击、鼠标点击、视频显示
更新等等)层和应用软件层之间插入虚拟化层,从而削弱了两个层次之间的紧密耦合关系
使得应用的运行不再局限于本地操作系统事件的驱使。其实,这种方式在早先的服务器版
Windows 中已有支持,但是在之前的应用中,用户环境被固定在特定服务器上,导致服务
器不能够根据负载情况调整资源配给。另外,之前的应用场景主要是会话型业务,其应用
具有局限性,例如不支持双向语音、对视频传输支持较差等等,而且服务器和用户端之间
的通信具有不安全性。因此,新型的基于 SBC 的虚拟桌面解决方案主要是在服务器版
Windows 提供的终端服务能力的基础上对虚拟桌面的功能、性能、用户体验等方面进行改
进。
基于 VDI 和基于 SBC 的虚拟桌面解决方案的比较如表 1 所示。
表 1. 基于 VDI 和基于 SBC 的虚拟桌面解决方案比较