APP下载

基于云的高校计算机机房的设计研究

2017-03-06郭红袁夫

电脑知识与技术 2016年30期
关键词:协议中间件虚拟化

郭红 袁夫

摘要:计算机机房,是每所学校重要的实验教学场所。目前随着高校对机房需求的不断增加,只有提高机房的管理和利用效率,才能保障高校对机房的教学和科研需求。基于“云”的计算机机房的本质就是桌面虚拟化,其核心思想就是多个独立的虚拟机在服务器上同时运行,用户通过瘦客户端访问虚拟机,所有计算和存储都在服务器虚拟机中完成,客户端只完成信息输入输出和显示的功能,使用户获得PC机般的体验。

关键词:桌面云;虚拟化;服务器;协议;中间件

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)30-0015-03

过去的几年里,说起信息技术领域的热门话题,云计算技术应该是首当其冲、不可不提的。“云计算”为人们使用网络提供了几乎无限多的可能,当然也包括在教育信息化中的应用。正是基于云计算技术的发展,教育信息化的发展必定是教育与云计算的相结合。现代高等教育无论是高校的教学还是科研工作,计算机机房都是不可或缺的一块基地。云实验室也就是”云”机房的概念应运而生,它是云计算技术和虚拟化技术在教育领域的创新应用。

1 “云”机房技术基础

1.1 云计算技术

“云”机房系统的构建首先有赖于云计算技术的飞速发展。分布式系统、虚拟化、Web2.0、面向服务的计算和效用计算这五种技术在云计算的实现过程中发挥了重要的作用。大型机计算系统,集群计算和网格计算是云计算技术发展史上的三大里程碑。

作为一种服务模式,根据交付内容的不同,目前云计算包括三个层次的服务:IaaS(Infrastructure as a Service,基础设施即服务)、PaaS(Platform as a Service,平台即服务)、SaaS(Software as a Service,软件即服务)。

这三种服务类型相互关联,从底部到顶部,构成了云计算技术的整体组织结构,同时也将利用云计算技术提供的各种服务进行了从底部到顶部的层次划分。

1.2 虚拟化技术

虚拟化技术是指将计算机的物理资源(如硬件、运行环境、存储以及网络等)进行抽象化后呈现给用户,从而实现底层硬件和上层软件的分离的方法。它可以将单个资源划分为多个虚拟资源,也可以将多个分散资源整合为一个虚拟资源,它可以用于在操作系统中隔离应用程序的运行环境,也可以创建多个虚拟环境,如本文研究的“云”机房中的服务器端模拟多个操作系统界面。

虚拟化技术拥有庞大的技术和概念体系,根据其仿真的服务和实体,可以将虚拟化技术分为执行环境虚拟化、存储虚拟化和网络虚拟化。也就是说,利用虚拟化技术不仅可以为应用程序提供运行的抽象环境,也可以用于存储、网络以及客户端/服务器交互的虚拟化。

虚拟化技术在应用上,比较典型的有服务器虚拟化和桌面虚拟化。

1.3 “云”机房的理论研究

1)“云”机房的虚拟化架构组成

“云”机房的虚拟化架构可以说是桌面虚拟化架构(VDI)的局部应用。VDI架构的原则是“集中计算,分布显示”。通常,VDI方案的基本架构可以分为三层。顶层是用户访问层,用户通过支持VDI访问协议的终端设备进入VDI。中间层是虚拟架构服务层,用户访问层通过特定的显示协议和中间层实现通信,从而获得安全、规范、高可用的桌面环境。最底层是存储服务层,虚拟架构服务通过调用存储协议来访问在该层中存储的用户数据、属性、镜像等。

具体地说,一个“云”机房的虚拟化架构应该主要包含终端客户端、管理服务器和虚拟桌面服务器。

2)“云”机房的虚拟化显示协议

桌面虚拟化显示协议连接着终端客户端和服务器中的虚拟桌面,负责将终端客户端输入的信息经过打包、压缩、加密后传输给虚拟桌面服务器中对应的虚拟机进行计算,然后将计算的结果再进行打包、压缩、加密传输到终端客户端并解析显示给用户。因而,桌面虚拟化显示协议的效率是用户体验的关键,也是桌面虚拟化技术的关键技术之一。

当前主流的桌面虚拟化显示协议主要有四种,第一种是RDP协议,第二种是ICA协议,第三种是PCoIP协议,第四种是SPICE协议。

2 “云”机房平台架构设计

2.1 桌面云平台架构总体设计

桌面云平台的总体架构设计如下图1所示。整个桌面云平台架构分为三部分,终端客户端(云终端)、管理中间件(Broker)和虚拟桌面服务器端(Host)。每个部分具體包含的功能模块设计以及各部分之间的关系如下图所示。

如上图所示,在整个桌面云平台中,终端和服务器端通过管理中间件实现连接。具体来看,是终端的Broker客户端模块Broker Agent对管理中间件中的终端接口进行访问从而实现终端和管理中间件的通讯,然后获取到终端的显示桌面,接着通过Spice协议实现自身SPICE客户端到虚拟桌面服务器中的SPICE服务端的通讯,同时由虚拟桌面服务器中的服务器客户端Host Agent来实现服务器端虚拟机及各种资源的管理,其管理接口Host Agent接口由管理中间件提供。

2.2 云桌面平台服务器

将桌面“云端”化的前提条件是将服务器资源虚拟化。虚拟环境管理套件、虚拟化管理接口、QEMU-KVM平台、SPICE显示协议,是虚拟化服务器中的主要组成部分。

1)QEMU-KVM虚拟化平台

作为一款纯软件的虚拟化模拟器,QEMU在Linux平台上被广泛使用,其开源性为研究提供可能。它可以通过模拟的方式虚拟化出各种常见的硬件架构,且模拟效率较高,再通过非开源的KQEMU软件的加速,可使整个虚拟环境的运行速度与实体机相媲美。同时为了突破QEMU的I/O系统瓶颈又引入了Virtio,于是其整体架构如图2所示:

2)桌面显示协议SPICE

SPICE是一种体验度较高的远程桌面显示协议,在整个桌面虚拟化架构中承担的仅仅是内容的显示功能,它本身不参与控制信息、执行逻辑等数据的传输。所有涉及执行、处理等功能时都将在服务器端执行。SPICE协议只显示更新变化的显示内容,因此它对带宽的要求极低。这也是保证虚拟客户端高效率执行的前提。

SPICE服务端可以利用SPICE协议与远程的客户端和建立虚拟设备接口的虚拟机进行通信。当前对象的覆盖关系和依赖关系需要通过维护一个树结构体和一个命令的序列来管理,同时把虚拟机的QXL指令转化为SPICE协议传递给客户端。

3) Libvirt虚拟化管理接口(Host Agent)

作为一套开源的函数库,不少主流的虚拟化工具都采用了Libvirt来进行开发。大部分虚拟化管理平台的虚拟机管理功能都被Libvirt所支持。

在构建Libvirt管理平台时,可将Libvirt与被管理的虚拟机置于同一台物理机上,也可以将它们分离开置于不同的物理主机上。在同一主机上的逻辑结构为:最底层的物理主机;第二层的Linux操作系统;第三层为虚拟化管理平台和Libvirt;虚拟机管理应用位于Libvirt之上,虚拟机则位于虚拟化管理平台之上。

2.3 虚拟化平台中间管理组件

中间管理组件是整个虚拟化架构中的“桥梁”,能让用户通过云终端连接到远程虚拟化桌面中,可以实现虚拟化平台的监控、虚拟机的管理、用户的管理、数据库的管理、虚拟机的申请管理、终端连接的管理等,是位于云终端和虚拟桌面服务器端之间的非常关键的部件。该组件又被称为Broker。

虚拟机的管理是虚拟化Web管理平台的核心。管理中间件可以连接到虚拟桌面服务器上,服务器端的和虚拟机相关的信息和数据都可以被中间件所调用,从而实现对虚拟机的管理。

2.4 终端客户端

终端设备客户端主要实现三方面功能,第一是建立与管理中间件的联系也就是Broker Agent;第二是实现SPICE显示协议的API接口工作;第三是对当前终端设备的配置。

高校“云”机房的终端客户端一般采用专用的云终端设备来建立虚拟桌面与用户之间的联系。从用户端输入来说,“云”终端将用户输入的数据或信息,经过编码、压缩、加入安全码后通过远程桌面显示协议将其传送到虚拟机,虚拟机在执行这些指令后将执行结果再进行编码、压缩、加入安全码后传输给“云”终端,最后“云”终端将这些信息解码后在终端显示设备显示出来,从而使用户获得PC般的体验。

3 “云”机房的管理模块设计

3.1 桌面模块

“云”机房的桌面模块主要包括三个部分:桌面教学管理模块、教学桌面模块和个人桌面模块。

教学桌面管理:对场景(即不同的教学实施环境)的新增、查找、激活、场景桌面开机、场景桌面关机,开机加速、修改场景及删除基本功能的操作。

教学桌面:对教学场景管理应用,及各场景下的教学桌面的开机、关机、重启、暂停、恢复、查看桌面、查找基本功能的操作。

个人桌面:对桌面基本功能及修改桌面、动态迁移、存模板、快照功能实施。

3.2 模板模块

模板模块主要包括硬件模板、教学模板、个人模板和终端模板等。硬件模板主要是针对不同的需求建立不同的虚拟机硬件配置模板,如选择具体CPU、内存、硬盘数据等。教学模板下主要包含5个功能块,制作模板、编辑模板、更新桌面、下载模板、删除模板。个人模板功能设计主要包含4个,制作模板、编辑模板、下载模板、删除模板。

3.3 终端模块

终端模块主要包含教室管理、终端管理和会话管理三个方面的功能。

在教室管理模块,通过课程列表应该能够查看和编辑每个教室不同时间的教学桌面课程详情。设定时间到达可自动激活预设桌面,以方便教学。教室管理具体功能设计主要包括对教室的新增、编辑、删除、搜索基本功能的操作。

终端管理是针对所有通过Windows/Linux客户端登录连接到服务器的终端信息,包含终端的IP、MAC地址及其连接桌面的相关信息。终端管理具体功能设计主要包括对终端唤醒、关机、修改IP/计算机名/教室、配置参数功能的管理。

会话管理主要功能是对客户端以教学/个人桌面接入时形成的会话进行显示和管理。

3.4 其他模块

“云”机房管理系统还应该包含用户模块、排课模块、监控模块、安全模块等方面的设计。用户分为管理用户和普通用户,管理用户实现对用户的新增、编辑、搜索、删除等。普通用户分为两种:普通用户和教师用户。实现新增用户、编辑信息、批量导入、批量导出等功能。排课模块主要功能是完成“云”机房的课程安排,要包含每节课开始以及结束的时间、每节课教室配置信息以及排课与清除等功能。监控模块主要是对主机和桌面进行时时监控,方便查看数据找到性能瓶颈。安全模塊主要包括对系统的备份、镜像、升级和操作日志等方面的功能设计。

另外,根据高校教学管理的需求,在整个管理系统中还可以增加多媒体网络教学软件和在线考试的设计。实现网络教学过程中的屏幕广播、文件传输、锁定控制、短线锁定、教学内容登录查看、可视对讲、屏幕录制、电子点名、上线同步广播等功能,更好地满足教学工作的实际需求。在线考试模块,实现题库的导入、编辑,试卷生成,在线计时、评分等功能。

4 结束语

基于“云”的计算机机房有众多的优点,但设计、构建的过程并不简单。随着“云”技术和硬件水平的飞速发展,“云”机房设计方案也将不断成熟和发展,基于“云”的计算机机房必将成为高校机房的建设趋势。

参考文献:

[1] 徐哲. 绩效导向的高职院校电子阅览室建设模式研究[J]. 电脑知识与技术, 2014,10(34).

[2] 朱朝辉. 简述校园网机房“云”设计与实现[J]. 电子制作, 2013(8).

[3] 谢炫. 浅谈高校公共机房虚拟化的建设[J]. 电脑知识与技术, 2014(27).

[4] 郭乙江. 基于“桌面云技术”的独立学院机房管理展望[J]. 考试周刊, 2015(39).

[5] 秦涛, 李占平. 高校教学机房虚拟化桌面云建设实践探索[J]. 内蒙古师范大学学报, 2015,28(9).

猜你喜欢

协议中间件虚拟化
基于OpenStack虚拟化网络管理平台的设计与实现
对基于Docker的虚拟化技术的几点探讨
RFID中间件技术及其应用研究
基于VanConnect中间件的设计与开发
虚拟化技术在计算机技术创造中的应用
基于数字化变电站SV报文通信可靠性问题研究
存储虚拟化还有优势吗?
中间件在高速公路领域的应用
一种支持智能环境构建的中间件