一种简易云桌面实验平台设计
2017-10-18温云辉
温云辉
(黎明职业大学 信息与电子工程学院,福建 泉州 362000)
一种简易云桌面实验平台设计
温云辉
(黎明职业大学 信息与电子工程学院,福建 泉州 362000)
设计并实现一种使用微软RDP(远程桌面协议)访问的简易云桌面平台。整个设计尽量利用现有闲置资源,服务器使用安装Windows Server 2008标准版的Dell T320服务器,虚拟化工具使用VirtualBox 5.x,远程管理工具采用开源项目php Virtualbox,客户端使用IE浏览器通过微软RDP和云桌面平台连接,镜像的创建、销毁等管理采用VBS脚本。整个系统基本实现管理员快速分发镜像、学生随时随地完成实验、教师实时观察或参与学生学习过程的教学需求。
私有云;RDP协议;快速分发;终端
机房管理人员出于安全和维护的需要,通常使用还原技术或权限控制技术限制师生对实验室的电脑配置进行更改。但这种限制会影响一些特殊实验项目的开展,如信息安全实验、网络操作系统实验等需要重新启动或临时改变操作参数的实验,又如MOOC(大规模在线开放课程)教改项目在实施过程中需要升级或变换播放插件的课程。另外,传统的机房管理模式难以实现教师辅导和协作学习活动的开展。私有云桌面能提供一种相对独立的工作或实验环境,将管理和运行隔离,是取代传统虚拟机的一种前沿技术。因此,如何构建私有云桌面平台以满足不同的实验教学需求成为当下比较热门的研究课题。国内外已经有很多学者对云桌面的构建和应用提出了不同的见解。周国军等[1]利用虚拟实验平台进行云计算和大数据相关实验的研究;鄢涛等[2]通过对xen虚拟环境构建云桌面系统的研究,在应用软件的跨平台使用和集中管理方面进行大胆的尝试;陈运财等[3]比较深入地论述高校办公桌面的虚拟化流程和工作机制;AGRAWAL S等[4]认为推广云桌面在教育中的应用有利于节能和绿色计算。由于多数的云桌面解决方案关注单一产品的部署和专用协议的应用,因此需要对大部分设备进行定制或更新,其工程量大、建设周期长,在改造升级传统机房时很难利用现有设备。经过摸索实践,本课题组利用开源软件Oracle VM VirtualBox(以下简称VirtualBox)和php VirtualBox,结合微软的远程应用虚拟化技术构建一套简易云桌面实验平台。整个系统基本满足目前一些特殊的实验需求,教师可以随时切入到学生的远程桌面进行指导或跟踪实验进度;学生能随时随地使用远程应用访问MOOC,一些特殊的实验环境(如安全攻防类或操作系统应用类)使用VRDP(VirtualBox远程桌面连接协议)也能自由创建,不限时间完成。
1 云桌面原理及其主要架构类型
1.1云桌面原理
云桌面平台也简称为云桌面,指的是将计算机的桌面进行虚拟化。服务器负责实现桌面环境的生成、存放、销毁,客户端负责桌面环境的显示和交互。由于桌面虚拟化将终端的资源集中到后台的数据中心统一处理,管理员则可以在服务端统一对客户端进行授权认证管理、资源调配和系统维护,极大地提高管理效率。客户端主要负责桌面的显示和交互,大多数情况下不再承担数据业务处理,可以根据不同的应用场景选择普通个人电脑或专门的瘦客户端。基于虚拟化的云桌面建设方案,不仅可以解决PC桌面面临的各种难题,还能优化可用性、可管理性和灵活性。桌面虚拟化是一种将桌面环境和运行其上的应用软件同访问客户端相互隔离的技术。桌面虚拟化能够将应用虚拟化和用户信息管理系统(也称用户虚拟化)整合,提供一个完整的桌面环境管理系统。在这种模式中,所有的桌面组件都实现了虚拟化,从而实现高伸缩、更安全的桌面分发模型。
1.2桌面虚拟化的主要架构类型及其应用场景
根据云桌面的实现逻辑和网络拓扑,云桌面主要有如下架构类型:
(1) 远程桌面虚拟化:不同用户远程登陆到虚拟化服务器,每个用户根据各自拥有的权限使用远程系统的各种应用。如Windows Server 2008等服务器添加了远程桌面组件后,就可以通过组策略工具允许多用户同时远程登录,各用户可以通过一定策略实现资源配额。
(2) 展示虚拟化:应用程序由服务器托管运行,客户端只需要负责输入输出。托管的应用程序可以通过浏览器访问打开,也可以在服务器端生成远程应用程序安装包分发到客户端安装或调用。这种架构的优势是客户端几乎可以使用任何一种支持远程桌面访问协议的设备,如手机、平板、瘦客户端都有可能配置为访问客户端。
(3) 应用程序虚拟化:为了消除不同应用程序对运行环境的差异,将应用程序在服务器上进行虚拟化,然后序列化到客户端运行。这种架构减轻了服务器的运行压力,消除客户端的运行环境差异,但是对客户端的硬件配置有一定的要求。比如,将高版本的Photoshop应用程序虚拟化后,在低配置的客户端上就可能无法正常运行。
(4) 用户状态虚拟化:漫游用户个性化信息,如用户拥有的应用程序的个性化配置、网络资源等。
(5) 桌面即服务:虚拟桌面通过云计算技术以服务的形式交付。这种架构能实现真正的多租户权限管理和资源调度。用户根据需要定制虚拟桌面的性能和应用软件。
图1 云桌面实验系统架构
2 简易云桌面实验平台设计
2.1系统架构方案
虚拟化云桌面实验系统架构如图1所示。虚拟服务器型号是Dell T320,E5-2407 CPU,16 G内存,可根据教学需要升级至80 G内存,1 T硬盘,添加Windows Server 2008 R2提供供路由和远程访问服务、端口映射服务,同时作为提供虚拟化服务的VirtualBox的宿主主机;VirtualBox上的一台永久虚拟机作为Remote APP服务器,其余虚拟机根据实验要求制作好模板,编写好脚本快速批量生成或销毁;Web服务器配置为1颗Xeron(R)E5620/2.4G CPU,8 G内存,CentOS 6.5操作系统,其上配置php VirtualBox用于远程在线管理VirtualBox,同时部署rdp网站程序用于提供远程桌面访问入口;客户端使用微软的远程终端程序或加载了RDP控件的浏览器远程访问云主机。
2.2远程桌面虚拟化服务构建
考虑到不同课程对实验环境的差异,远程桌面虚拟化服务主要为学生提供独立的虚拟主机服务。虚拟化服务功能和管理接口由VirtualBox提供,远程主机管理由php VirtualBox实现,路由和远程访问由Windows Server提供,快速主机分发由VBS脚本完成。
2.2.1 虚拟化服务设计
兰雨晴等[5]认为VirtualBox在网络基准测试和文件处理方面性能接近于物理机,在数学运算、进程间通信、管道吞吐率、shell程序效率方面甚至超过物理机性能的60%。作为一款出色的开源软件,极为适合在小规模的网络中作为虚拟化服务器。VirtualBox内置VRDP服务器,允许任何标准的远程桌面连接程序连接,如Linux平台上运行的rdesktop程序、Windows系统的远程连接管理器,使用这种特性,可以从任何电脑上通过服务器的IP和端口号直接控制虚拟机。基于以上这些特性考虑,在构建简易云桌面实验系统时,选择VirtualBox作为虚拟化工具。各虚拟机设置显示时,需要启用远程桌面服务器;出于教学远程辅导、演示和教学过程监控的需要,也需要允许多用户桌面连接;网络使用仅主机网络,目的是将所有虚拟机构建成一个局域网,通过Windows Server的NAT网络连接外网,这样不仅避免与教室中的其他电脑IP地址冲突,同时也节省IP资源。每个班级的虚拟机根据班级名称分类管理。另需要额外启动VBoxWebSrv服务以提供远程接口调用服务。
2.2.2 路由和远程访问设计
由Windows Server 2008 R2为虚拟机提供网络服务和存储服务。一是通过路由和远程访问服务的NAT功能为虚拟机提供网络访问服务;二是通过网络接口上的服务和端口功能提供虚拟机服务的访问,如将传入端口4480端口映射到虚拟机的传出端口80,那么就可以通过服务器的4480端口访问虚拟机的web服务,每一台虚拟机的服务端口都需要一个对应的传入端口。
2.2.3 远程管理设计
Php VirtualBox是VirtualBox的开源合作项目,以PHP+Ajax技术提供远程Web云主机管理功能,可以部署在一台虚拟机上,也能部署在校园网的其他服务器上,进行权限控制和虚拟机的各种复杂操作。为避免云服务器上开启的虚拟机过多导致管理功能失效,因此将php VirtualBox部署在一台独立的web服务器上。
2.2.4 远程桌面访问设计
通过网页来呈现友好的虚拟机列表,使用MSRDPClient(微软远程桌面访问控件)来实现Web远程桌面访问。
2.2.5 虚拟机快速管理设计
由于VirtualBox和php VirtualBox无法提供批量虚拟机生成和修改功能,在实践中还需要使用命令行的批处理来管理虚拟机。其中,比较关键的批处理命令是批量生成虚拟机和建立端口映射。
(1)批量生成虚拟机:制作好主机模板(vm_template)和公用系统盘镜像(multibootvdi),以下语句独立执行可以增补新的虚拟机,循环执行能快速生成一批虚拟机。
vboxmanage clonevm "!vm_template!" --mode machine --name !name! --register
--basefolder !basefolder!
vboxmanage modifyvm !name! --vrdeport !vrdeport! --groups !group!
vboxmanage storageattach !name! --storagectl "SATA" --port 0 --device 0
--medium !multibootvdi! --mtype multiattach --type hdd --mtype multiattach
vboxmanage snapshot!name!take!name!snapshot
(2)批量创建端口映射:为了让使用者能够访问虚拟机的服务,还需要在云主机服务器上创建服务端口映射。Windows Server 2008 R2提供了友好的界面来帮助管理人员创建服务端口映射,如果需要大批量创建的话,在命令行下使用netsh命令可以快速生成端口映射:
netsh routing ip nat add portmapping !publicif! !proto! !publicip! !publicport! !privatenetwork!.!privatehost! !privateport!
2.3展示虚拟化服务构建
展示虚拟化实现应用程序的统一部署。使用一台虚拟机安装Windows Server,添加远程桌面服务和应用程序,通过远程应用管理工具将这台虚拟机上安装的应用程序生成RDP文件进行分发。
在公共英语课中,由于在线课程的学习需要用到各种插件和特殊播放器,而学校公用机房无法都安装,因此,通过在远程桌面服务器上安装集成所需要插件的特殊浏览器和播放器,生成RDP文件分发到共享文件夹中,学生在教室或校园WiFi覆盖的区域使用电脑、平板或手机打开对应的RDP文件就可以无障碍参与在线课程的学习。
2.4虚拟内存管理设计
由于需要同时运行40台甚至更多虚拟主机,虚拟内存管理就变得十分重要。根据不同应用场景来配置云桌面的内存管理服务,可以使多台虚拟机的运行性能得到较高提升。VirtualBox在安装了增强功能包的64位Windows操作系统虚拟机上支持内存膨胀和页融合两种虚拟内存管理机制。内存膨胀技术可以手动或自动移出部分虚拟机的一些空闲内存供特殊需要的虚拟机使用,页融合技术则能快速识别出虚拟机之间相似的内存单元进行实时共享。
2.4.1 内存膨胀
当教师需要进行课堂演示时,为保证广播的流畅性,需要使用内存膨胀技术临时或自动更改虚拟机的内存分配。比如,需要从空闲的虚拟机转移1 024 M内存给教师机,那么可以通过以下指令完成:
Vboxmanage controlvm "teacher" guestmemoryballoon 1024
实际教学中为了简单起见,需要在创建虚拟机实例完成后进行配置,以实现自动内存膨胀,其方法是:
Vboxmanage modifyvm "teacher" guestmemoryballoon 1024
这样在教学中,如果教师演示需要用到比较大的内存,那么VirtualBox的增强功能包驱动就会自动将空闲虚拟内存转移部分到教师机上,以保证教学演示的顺利进行。
2.4.2 页融合
VirtualBox的内存页融合技术和其他虚拟机管理程序的内存共享技术有很大差异。VirtualBox能快速扫描识别多个虚拟机相同的内存单元。如果所有的虚拟机都加载了相同的内存页,那么,多台虚拟机可以共享相同的内存,从而整体优化宿主主机的内存分配。创建完虚拟机后,需要使用批处理对每一台虚拟机启用页融合功能,方法是先关闭大页面交换功能,再开启页融合功能:
Vboxmanage modifyvm "虚拟机名称" --largepages off
Vboxmanage modifyvm "虚拟机名称" --pagefusion on
2.5平台安全设计
简易实验型云桌面主要考虑实验环境快速恢复、远程应用权限控制、实验数据隔离问题:
(1) 对于桌面独享的情形,每位用户独立使用一台虚拟机,为方便实验项目的顺利完成,其安全性由学生自行控制,管理员只需隔离虚拟机创建模板,当学生需要重置虚拟机时可以快速生成一台全新的虚拟机;
(2) 对于共享应用软件的情形,如MOOC教学上需要用到的公共播放器等,部署远程应用的服务器上的每位用户仅以访客身份访问远程应用;
(3) 学生的实验数据集中保存到学校公共FTP服务器上,其安全控制由FTP服务器上的用户隔离模式进行保障。
图2 使用RDP协议访问云桌面
2.6终端访问设计
VirtualBox 的增强扩展包实现了远程显示接口,提供了对VRDP的支持。由于VRDP向后兼容微软的RDP,因此可以使用微软的桌面管理工具直接连接到VirtualBox上运行的虚拟机。考虑到各个机房都默认安装IE浏览器,则客户端访问工具以IE浏览器为主。为了方便使用者直接连接到分配给自己的远程主机,本课题组参考了微软公司提供的远程连接控件案例,重新开发一套网站程序,只需通过IE浏览器加载微软远程控件后就能直接访问远程主机。网站首页访问效果如图2所示。
3 应用效果与展望
预先为每一个学生分配一台远程虚拟机用于完成复杂的实验,一个单独的php VirtualBox账户用于远程管理自己的虚拟机,只有guest权限的匿名账号通过VirtualBox共享文件分发的远程应用RDP文件。在实验之前,教师使用脚本批量生成好所需要的虚拟机,学生通过web界面访问自己的实验系统。在公共英语MOOC中,当虚拟服务器单独为一个40人规模的班级服务时,师生使用桌面服务提供的虚拟化浏览器和播放器等远程应用进行学习的整个过程可以顺利进行,但无法同时为其他班级提供虚拟云桌面实验;在计算机专业课程服务器操作系统(Linux和Windows Server)的教学实践中,全班40位学生同时使用云桌面实验系统,能顺利完成基于命令行的服务器配置实验,对于使用Windows或X Windows图形界面,则需要分为10组才能顺利进行实验。在实际应用中,简易云桌面实验系统作为传统电脑室的一种补充,在教学中发挥了重大的作用。公共课的学生不需要再指定专门的机房就能完成MOOC的学习;专业课的学生可以把课堂上来不及完成的实验在课后继续完成;教师在设计训练项目时,不再受机房时间的限制,可以根据技能培养的需要设计较长时间的实训项目。
简易云桌面系统已经在实际教学中投入运行并取得了一定的效果,但云计算技术发展日新月异,任何一种云桌面解决方案都有其局限性,未来还需要进一步研究和完善,如对网络带宽的占用过高等问题还未能得到满意的解决,RDP的安全性防护措施[6]也需要进一步验证;另外,基于Gecko、webkit等非IE内核的浏览器不能很好兼容微软RDP控件,如何让这些浏览器连接访问本系统,还需要进一步探索和研究。
[1] 周国军, 吴庆军. 使用VirtualBox和Hadoop搭建云计算虚拟实验平台[J]. 玉林师范学院学报, 2014,35(2):113.
[2] 鄢涛, 李丹. 虚拟云桌面技术的研究与实现[J]. 成都大学学报(自然科学版), 2013, 32(2):145.
[3] 陈运财. 基于云架构的高校桌面虚拟化研究[J]. 电脑知识与技术:学术交流, 2015,11(09):30.
[4] AGRAWAL S, BISWAS R, NATH A. Virtual Desktop Infrastructure in Higher Education Institution: Energy Efficiency as an Application of Green Computing[C]// Fourth International Conference on Communication Systems and Network Technologies. IEEE Computer Society, 2014:601.
[5] 兰雨晴, 宋潇豫, 马立克,等. 系统虚拟化技术性能评测[J]. 电信科学, 2010,26(s1):24.
[6] 许瑾, 舒珊, 赵鑫. 基于VDI虚拟桌面的RDP协议的改进方案[J]. 数字技术与应用, 2015(7):58.
Abstract: A simple private cloud desktop platform, which can be connected by Microsoft RPD protocol, has been designed and achieved. This design has made full use of existing idle resources by adopting T320 Dell server installed with standard version of Windows2008 Server, using VirtualBox5.x as virtualization tools, and open source project phpVirtualbox as remote management tool. The client was connected to cloud desktop platform by IE browser and Microsoft RDP protocol.VBS script is used to manage the creation and destruction of image. Teaching requirements have been basically realized in this system such as fast image distribution from system administrator, conducting experiment for students at all times and places and constant monitor of students’ studying process for teachers.
Keywords: private cloud; RDP protocol; fast distribution; terminal
(责任编辑:黄韡 英文审校:杨德权)
DesignofASimplePrivateCloudDesktopExperimentalPlatform
WEN Yunhui
(College of Information and Electronic Engineering, Liming Vocational University, Quanzhou362000, China)
TP 392
A
2017-01-06
温云辉(1971-),男,讲师,主要从事现代教育技术研究。
教育部职业院校外语类专业教学指导委员会(GZGZ5414-8)
1008-8075(2017)03-0078-05
10.13446/j.cnki.jlvu.20170047