桌面虚拟化技术的发展、实现及展望
摘要
在当今的IT浪潮中,虚拟化技术越来越普及的应用于云计算、大数据等新兴学科中。虚拟化技术主要包括服务器虚拟化(包括网络虚拟化、存储虚拟化、CPU虚拟化、I/O虚拟化等等)、桌面虚拟化和应用虚拟化。其中,服务器虚拟化一直是虚拟化技术的主要领域。随着网络和硬件技术的发展,各种虚拟化技术也都在快速的发展中,服务器虚拟化一直是虚拟化技术的主要领域。而桌面虚拟化技术是当前发展最快的,也是最具应用前景的技术。
一、桌面虚拟化的概念
- VDI(Virtual Desktop Infrastructure) 最早由Vmware提出。
- 是指用来实现桌面系统的员称、动态访问与数据中心统一托管的技术。
- 从而达到桌面使用的安全性和灵活性。
- 任何时间,任何地点,任何设备。
简单的说,它能带来的就是通过位图流传输协议将远程桌面推送到各种终端上,然后用户可以在瘦客户端、笔记本、PC、ipad等等上来灵活安全的访问,计算和数据都存放在服务器上。
二、桌面虚拟化的发展历程
- 第0.5代:远程桌面、RDP协议、VNC协议等。(还不成熟)
- 第一代:将远程桌面访问能力和虚拟机结合。
- 第二代:将操作系统、应用程序以及用户配置文件拆分,用户的数据文件保存到文件服务器上。
目前我们应用的桌面虚拟化技术大多属于第二代,第二代桌面虚拟化技术相比于第一代有了很大的进步,降低了成本,推动了桌面虚拟化技术的普及。
第一代桌面虚拟化技术是一个用户对应一个虚机,运维人员要维护每一台虚机,每一台虚机都要安装所需要的操作系统和应用程序,维护成本很高。而第二代桌面虚拟化技术相比于第一代,将操作系统、应用程序以及用户配置文件拆分,如下图所示:
虚拟化技术
这样做方便运维人员集中管理并且大大节约了采购和维护成本。比如,公司数据中心只需要安装一套操作系统(包括Windows,Linux,Unix等等公司所需要用到的所有操作系统)。将所需要的软件都配置在服务器上,如果客户端需要用到了其他软件,只需要将该软件配置到服务器上即可,扩展非常简单。用户第一次使用时,可以向餐厅点菜一样选择好所需要的操作系统、软件等等,数据中心就会根据你的选择将你的这套工作环境推送到客户端,这时你就可以使用了。如果尤其他用户要用,也会一样将另一个用户的工作环境推送到他的客户端,大大简化了维护的成本。
另外,在第一代桌面虚拟化技术时代,由于未采用高级的位图流传输协议,传输数据需要占用较大的带宽,从用户体验上来讲就是慢,更不用提广域网访问。其次没有解决视频音频等等重定向问题,传输到客户端的只是桌面的图像,没有声音。最后,第一代技术不支持U盘等文件存储,不能讲文件下载到本地。这些问题在第二代技术采用了高级的的位图流传输协议后都得到了解决,现在只需要很小的带宽就能保证系统的稳定工作,大大提高了用户体验。
三、桌面虚拟化的价值
1、更灵活的访问和使用方式
桌面虚拟化使得我们访问方式更加灵活,前面概念中已经提到了任何事件、任何地点、任何设备上访问。
2、更广泛与简化的终端设备
采用了桌面虚拟化技术使得我们可以使用各种设备、各种平台来访问。而且客户端的配置已经不那么重要了,什么四核双显卡的通通不需要了,终端就很简单只需要能够把Windows CE,Linux等等定制系统运行起来就可以了。
3、采购和维护成本大大降低
4、集中管理,统一配置
5、数据更安全,数据安全可以从两方面来阐述:
首先,用户的所有数据都存放在了数据中心上,由统一的运维人员负责管理,防止别人入侵。
其次,有的公司安全性是比较高的,不允许使用自带电脑和U盘,用户所能见到的只有显示器、键盘、鼠标等,数据文件都是统一存储于数据中心,服务器上可以运行监控程序记录日志,保证了文件机密不会泄露。
6、降低耗电,节能减排
传统PC一般在200W以上,而瘦客户端在25w左右,耗电量接近十分之一,降低了耗电,更加节能。耗电减少的同时意味着碳排放的减少,适应了低碳时代的要求。
值得一提的是,桌面虚拟化技术具有典型规模效应,当客户端越多时,上述优势就会越明显,价值就会越大。
四、桌面虚拟化的技术实现
1、 终端服务
终端服务就是大型机时代常用的技术,用户用终端远程登陆上去进行访问。服务器端就相当于一个多用户操作系统,上面部署了很多应用。一般银行和呼叫中心应用这种技术较多。
这种技术的优势:
- 增强的安全性
- 简化的可管理性
- 降低递增式软件部署的成本
- 远程访问
- 灾难恢复和业务连续性
- 降低用户功耗
当然,也有它的局限性:
- 性能和响应能力不好
- 软件兼容性
- 移动性不足
- 新用户部署成本
- 单点故障
- 降低用户满意度
2、虚拟托盘桌面(VHD)
在服务器上运行VMM(虚拟机管理器),在其上虚拟出一台台虚拟客户端,每个虚拟客户端里面安装操作系统,操作系统上再安装应用程序。客户端使用各种终端设备,如瘦客户端、台式机、笔记本,安装简易的操作系统,在操作系统上安装终端软件然后通过RDP等远程显示协议将服务器上的虚拟机映射过来。这时服务器上的每个虚拟机归单个用户使用,目前这种技术是应用最广泛的桌面虚拟化技术。
3、刀片式PC
刀片式技术属于硬件技术,常见的有2种模式,即一对一刀片架构和一对多刀片架构。
一对一刀片架构和VHD差不多,只不过虚拟机换成了刀片,VHD是每个人用一个虚机,这个是每个人用一个刀片。一对多刀片架构就是每个刀片上再跑一个个虚机,最后将虚机映射到用户客户端,总体上和VHD技术很相似。
这种技术每个用户成本更高了,因为现在是每个用户一个刀片或者多个用户用一个刀片(一对多刀片架构)。
4、操作系统映射流
从这个技术开始,桌面虚拟化就跨入了第二代。服务器操作系统上加入了流传输服务器,在其上虚拟出一个个虚拟机映像。客户端基本就是“裸机”,不用安装本地操作系统。操作系统通过网络流传输至客户端,并在本地通过客户端的CPU和显卡执行。
5、远程操作系统启动
和操作系统映射流很相似,但是能够将虚拟机映像下载到客户端。而且,如果网络偶而中断一下仍能保证客户端正常工作。当然,长时间的网络中断仍然是不可以的。
6、应用流和应用虚拟化
这个技术和应用虚拟化技术很相似,但是有本质上的差别,类似于JavaWebStart技术。服务器上将应流就绪应用(即将应用安装包、应用所需要的环境、用户配置文件、有户数据通通打包成一个文件)部署在服务器操作系统上的流服务器中。客户端可以安装本地应用,也可以将流就绪应用传送到虚拟机上执行。
7、虚拟容器
这个技术是指服务器在服务器操作系统的虚拟机服务器上虚拟出一个个虚拟机镜像。客户端直接只运行虚拟机管理软件,可以运行通过网络传输或者U盘、DVD等介质拷贝过来的虚拟机镜像。
如今的桌面虚拟化实现技术总体上来讲就是以上7种,它们各有各的利弊,还是需要和用户需求及使用环境综合考虑来选择,而且也可以几种技术综合起来使用。
五、桌面虚拟化技术的发展前景
如今,桌面虚拟化技术越来越流行。它大大简化了我们的工作方式,我们不需要在使用了每天带着沉重的移动硬盘频繁的将工作内容拷贝到另一台工作环境中,我们只需要一个显示器、键盘鼠标来完成各种数据操作和运算,而不用去考虑自己的设备配置还是工作的地点等等因素。
设想一下,以后上班或者去外地出差,只需要在胸前佩戴一个小型投影设备,工作时将它打开就会自动将你的工作环境投影到墙上,然后你可以通过投影仪自带的红外键盘或者触控方式来输入或者操作,是不是很炫很方便。我相信,随着虚拟化技术的快速发展,《钢铁侠》中的神奇的投影世界最终会出现在我们面前。
当然,不管什么技术总是有利有弊。桌面虚拟化技术并不一定适合所有的用户和场景,也不仅仅只是技术方面的问题。比如我要通过iPad来访问我的Windows操作系统,传统的Windows应用程序都是为大屏幕的显示器设计的,在小屏幕上显示,的确是一个鸡肋。这种应用方式作为一个辅助的办公系统,偶尔用用尚可,如果大规模应用的成功率实在是太小。一切还需要从实际情况出发考虑,不能盲目的将所有情况都是用桌面虚拟化。