1.1 虚拟桌面技术简介
1.1.1 从真实走向虚拟
虚拟化(Virtualization)是一个广泛的概念,基本含义是对计算机资源的抽象逻辑表示。虚拟是相对于真实的物理资源来说的。虚拟化将原来运行在物理环境里的计算机系统或组件运行在虚拟出来的资源环境中。比如,早期的存储虚拟化、云计算服务中经常采用的服务器虚拟化、网络虚拟化、应用虚拟化,以及本章要介绍的桌面虚拟化等。
桌面虚拟化(Desktop Virtualization)又称虚拟桌面(Virtual Desktop),这一概念是从物理机的逻辑桌面演变而来的,它将用户的桌面环境及关联的应用软件从具体的物理客户端分离开来。操作系统、应用程序和用户数据的执行和存储都集中在数据中心的虚拟机上,用户通过使用某种远程桌面传输协议将其传输到用户的终端设备上,如图1-1所示。
图1-1 虚拟桌面示意图
这种方式不仅能够将所有桌面虚拟机在数据中心进行统一托管,还能够使用户通过远程访问获得与传统个人计算机(PC)完整而且一致的使用体验。利用虚拟桌面技术,与终端相关的许多问题便可迎刃而解。
大多数人对于类似虚拟桌面技术的体验并不陌生,早期可以追溯到微软公司在其操作系统产品中提供的远程桌面和终端服务。当某台计算机开启了远程桌面连接功能后,用户就可以使用远程桌面协议(Remote Desktop Protocol,RDP)在另一台计算上控制这台计算机,包括在计算机上安装软件、运行程序等,就好像是直接在这台计算机上执行一样。终端服务一般是通过“瘦客户端”软件远程访问微软Windows桌面。其实终端服务仅把程序的用户界面图像传输到客户端,然后客户端将键盘动作和鼠标点击动作记录回传,由后台服务器处理。每个用户登录远程桌面后只能看到自己的会话内容,该内容由服务器操作系统进行管理,对于用户来说并不可见,而且与任何其他客户端会话相互独立。远程桌面与终端服务不同的是,前者将拥有整个桌面的控制权,而后者只执行特定的应用。
1.1.2 虚拟桌面技术特征
虚拟桌面技术的本质特征包括如下四点。
(1)计算服务器化。桌面和应用完全在数据中心的服务器上运行,运行界面通过远程传输协议传到计算机终端上。
(2)隔离。不同用户的虚拟桌面都与在同一个服务器上运行的其他用户的虚拟桌面相隔离。
(3)应用数据不通过网络传输。应用数据在虚拟桌面服务器上运行,屏幕图像被发送到用户终端,终端鼠标单击、键击等交互信息被发送到虚拟桌面服务器上进行处理。
(4)终端的设备无关性。虚拟桌面可以在各种类型的PC机、移动终端上运行,降低了终端适配的复杂度和依赖性。
1.1.3 虚拟桌面技术典型架构
虚拟桌面技术典型架构如图1-2所示。
图1-2 虚拟桌面技术典型架构
物理主机上安装虚拟化操作系统,在虚拟化操作系统之上构建多个虚拟机,可按照虚拟的资源需求,如CPU、内存和硬盘需求,自动生成虚拟机。一般来讲物理主机的CPU数量决定了可生成虚机的数量。每个虚拟机上安装各种桌面操作系统,成为各种桌面终端实例,桌面上可以直接安装应用程序,桌面系统运行和使用方式与普通桌面系统完全一致。