一种基于虚拟机实现计算机实验教学的上机环境建立方法

文档序号:6544841阅读:122来源:国知局
一种基于虚拟机实现计算机实验教学的上机环境建立方法
【专利摘要】本发明公开了一种基于虚拟机实现计算机实验教学的上机环境建立方法。本方法为:1)学生在系统Web服务主页上完成认证登陆,然后选择当前课程;其中,课程主镜像文件已被部署到各物理节点上;2)通过交互界面查看与管理虚拟机状态;3)通过系统Web服务页面获取虚拟机桌面;然后在浏览器中使用虚拟机。与现有技术相比,本发明通过虚拟化技术能帮助屏蔽底层物理硬件差异,为上层用户提供多样化的执行环境,且虚拟机之间相互隔离,因此用户可使用私有虚拟机作为上机平台,自由地安装个性化软件,用户数据存储在虚拟机镜像中,能保证数据安全。
【专利说明】一种基于虚拟机实现计算机实验教学的上机环境建立方法
【技术领域】
[0001]本发明涉及一种基于虚拟机实现计算机实验教学的上机环境建立方法,属于虚拟机【技术领域】。
【背景技术】
[0002]计算机实验教学中心是实施实验教学的重要场所。它应为学生提供良好的上机服务,便于教师参与教学实践,便于管理员参与监控管理。随着教育模式的发展,传统实验教学中心的不足日益凸显。首先,在传统实验教学中心开展实验教学活动时常面临安全问题:公共实验环境中用户共享存储,私有文件数据可被随意删改造成损失;为保证系统安全,学生通常没有权限安装软件,不仅牺牲了学生用户体验,也给管理员增加了管理负担;硬件故障也易造成严重后果。其次,传统实验教学环境的资源利用率不高:实验教学中心的软硬件资源通常都不能被用户充分利用。最后,传统实验教学中心的管理活动主要由管理员参与,缺少教师的有力参与,且管理员缺乏便捷高效的实验教学中心管理机制。

【发明内容】

[0003]基于上述需求,本文提出了利用虚拟化技术来解决上述问题。虚拟化技术能帮助屏蔽底层物理硬件差异,为上层用户提供多样化的执行环境,且虚拟机之间相互隔离,因此用户可使用私有虚拟机作为上机平台,自由地安装个性化软件,用户数据存储在虚拟机镜像中,能保证数据安全;发生硬件故障时迁移虚拟机或转移镜像文件,即可快速地恢复使用原始的操作系统和应用软件;同时,随着多核技术普及,一台物理机运行多台虚拟机也不会影响用户体验,因此利用虚拟化技术有助于提升资源利用率,缓解硬件紧缺的现状。
[0004]本文提出了一种基于虚拟机来支持计算机实验教学的个性化上机环境这一概念,旨在为计算机实验教学提供一套完整的教学管理软件模块,能够方便的为机房管理员,教师以及学生提供高效的实验教学服务。
[0005]1.设计目标
[0006]1.1需求设计
[0007]首先,计算机实验教学的个性化上机环境所提供服务的对象有三类:学生用户,教师用户,机房管理员用户。通过对这三种用户的需求分析,我们分别提出了相应的功能设计概念。
[0008]针对学生用户,主要是为学生提供可自由操作的私有虚拟机,支持学生提出更灵活的关于个性化操作系统、应用软件、计算资源配置等方面的需求,并提供方便的交互接口让学生控制和使用其个性化虚拟机(如通过客户端、浏览器访问各自的虚拟机)。具体来说,有以下功能需求,如图1所示。
[0009]使学生能够方便携带实验教学中心中使用的操作系统、应用软件,并能在其它平台上恢复使用该虚拟机环境。支持学生在实验教学中心之外远程地访问其个性化的虚拟机,并提供多样化的访问方式,远程用户与内部用户共享计算资源,学生能关闭、保存、备份、恢复个性化虚拟机以实现课程相关个性化虚拟机的管理。
[0010] 针对教师用户,为教师用户提供便捷的面向课程教学实验的管理平台。虚拟化实验教学中心,也需面向课程,为课程实验提供多样化的上机环境(如计算概论课程要求windows,Microsoft office, vc++6.0等,而编译实习课程要求GCC, Java等)。系统中提供一套完善的管理接口让教师用户管理课程相关信息,并能够方便地创建、部署和管理课程实验的虚拟机。虚拟化技术实现了底层硬件资源对上层虚拟机用户透明的机制,因此可以在虚拟化实验中心构建出特殊的实验平台,拓展教学实验模式。以北京大学计算机系操作系统实习和计算机网络概论这两门课程为例:为保护软硬件不被破坏,操作系统实习没有让学生在实验中窥探真实的操作系统(如调试Linux内核);受硬件资源限制,网络概论实验课程也不能为每个学生组建出各自独立的私有局域网来辅助网络实验探索。而利用虚拟化技术,学生可以调试VM内核代码、组建虚拟局域网络等,提供统一的机制管理用户信息和个性化虚拟机等。从教师用户的功能需求如图2所示。
[0011]针对管理员用户,旨在提供一套全面的部署、监控和管理维护的系统平台。系统能够为管理员用户生成各类用户的相关使用数据以及计算资源概览图,并提供监控管理的交互功能,如管理学生参与课程并使用个性化虚拟机;管理教师部署课程实验平台,监测整个教学实验中心中虚拟机的实时状况。管理员用户的功能需求如图3所示。
[0012]1.2功能设计
[0013]针对传统实验环境中存在的不足,我们在该系统中提出了以下设计概念和目标:
[0014]?个性化:在实验教学中心为学生提供可自由操作的个性化虚拟机。虚拟化技术可支持学生更灵活地配置出其需要的实验环境,包括操作系统、应用软件、计算资源等(如学生使用Wind0ws7操作系统,4GB内存)。提供方便的交互接口让学生控制和使用其虚拟机(如通过客户端、浏览器访问各自的虚拟机)。
[0015]?面向课程:面向多样化的课程教学需求,提供多样化的上机环境,利用虚拟化技术,教师可突破现有实验环境的限制,开设各具特色的实验课程。提供一套完善的操作接口让教师管理课程信息,方便创建、部署及管理。可以用来拓展实验教学模式:如开展系统安全课程实验时为学生提供可自由修改的操作系统;开展网络课程实验时为其提供若干台虚拟机组建局域网。
[0016]?便携:学生使用USB等设备,能携带其在计算机实验教学中心中使用的个性化实验环境,并在其它平台上恢复运行使用。
[0017]?远程访问:提供多样化的虚拟机访问方式。如支持学生远程地访问其个性化的虚拟机。远程用户能够和本地用户共享计算资源,并为管理人员提供统一的机制管理所有的用户信息和个性化虚拟机等。
[0018]?监控管理:为保证实验教学中心的良好运行,应为管理员生成各类计算资源概览图,提供监控管理的交互接口:如管理学生参与课程并使用个性化虚拟机;管理教师部署课程实验平台,监测整个教学实验中心中虚拟机的实时状况。
[0019]1.3系统架构设计
[0020]为实现上述目标,我们提出图4所示的架构设计。学生用户参与课程实验时能选择任一台部署Xen/KVM虚拟化平台的节点使用其个性化虚拟机。虚拟机安装了满足课程实验需求的操作系统和应用软件。启动个性化虚拟机需要主镜像和子镜像两部分,其中主镜像文件包含课程实验要求的系统和软件,子镜像文件则存储学生个性化的数据(包括个性化软件和用户数据等)。各节点都存储各门课程的主镜像,子镜像则以镜像资源池的方式保存在存储服务器上。主镜像与子镜像分离存储,使得学生使用虚拟机服务时可灵活选择计算节点。由于子镜像文件通常较小,用户也可把它拷贝到U盘以备份、恢复使用其个性化环境。为提升实验教学中心的资源利用率,在节点中也运行远程用户的个性化虚拟机,我们提供接口支持用户从外部访问服务,并为教师和管理员提供管理课程、学生、计算资源等的接口。系统部署在服务器集群上,包含镜像管理模块、虚拟机管理模块和元数据管理模块。
[0021]镜像管理模块管理各节点上本地镜像文件库的主镜像的组织和存储服务器中子镜像文件库和子镜像池中子镜像的部署。它还管理虚拟机镜像的文件系统。
[0022]虚拟机管理模块管理各节点上运行的虚拟机。如管理虚拟机运行,创建虚拟机快照,迁移虚拟机,并为本地和远程用户提供统一的虚拟机管理接口。
[0023]元数据管理模块管理着数据库服务器中存储的各对象信息(如学生,教师,节点,虚拟机)及对象间的关系(如选课,学生个性化镜像与课程主镜像的关系等)。
[0024]各管理模块间相互协作为用户使用管理接口提供服务:镜像管理模块为虚拟机管理模块提供主镜像和子镜像;元数据管理模块维护镜像管理模块所管理的课程主镜像及个性化子镜像间的映射关系;元数据管理模块也维护虚拟机管理模块所管理的学生个性化虚拟机及其相关镜像文件间的关系。
[0025]系统根据学生、教师和管理员不同的需求提供三类用户访问接口。学生主要关注虚拟机使用,教师则主要关注课程主镜像的配置、部署,而管理员则需要管理整个实验环境的运行状况。
[0026]与现有技术相比,本发明的积极效果为:
[0027]本发明通过虚拟化技术能帮助屏蔽底层物理硬件差异,为上层用户提供多样化的执行环境,且虚拟机之间相互隔离,因此用户可使用私有虚拟机作为上机平台,自由地安装个性化软件,用户数据存储在虚拟机镜像中,能保证数据安全。
【专利附图】

【附图说明】
[0028]图1为学生功能需求示意图;
[0029]图2为教师功能需求示意图;
[0030]图3为管理员功能需求示意图;
[0031]图4为系统架构示意图;
[0032]图5为镜像模板树结构图;
[0033]图6为学生使用虚拟机示意图;
[0034]图7为类图概览;
[0035]图8为数据处理流程图;
[0036]图9为选课流程图。
【具体实施方式】
[0037]根据设计需求,系统的各模块分别如下:课程镜像管理模块,学生个性化上机模块,管理员监控管理模块。[0038]课程镜像管理模块
[0039]管理员用户主要参与课程和主镜像的创建与管理。我们称安装有课程要求操作系统和应用软件的主镜像为课程镜像模板。管理员用户的基本使用流程为:认证登陆、管理课程基本信息、管理课程主镜像模板。其中最为关键的问题是准备课程主镜像模板。
[0040]为高效地制备课程主镜像模板,我们提出了镜像模板树的概念。图5所示为系统的镜像模板树,其中根节点为空白镜像文件;深度为I的节点为仅安装了各类常见的发行版操作系统的镜像模板;当节点深度k> = I时,其深度为k+Ι的儿子节点是基于它安装额外软件所派生出的镜像模板,父节点所包含软件集是子节点软件集的真子集。我们基于镜像模板树的概念构建和组织课程主镜像的模板库。
[0041]管理员用户制备镜像模板的流程将围绕模板树进行。通过调研往年课程开设情况,系统预先制备了一些镜像模板。首先由教师用户提交课程模板配置以指明实验要求的操作系统和软件集等信息,随后管理员根据教师用户需求去查询镜像模板树。查询过程通常能在系统预先所部署的模板库中找到满足其课程要求的镜像模板。如匹配失败,则返回所需镜像模板的最大真子集模板。与此同时,系统还支持教师用户自行制备镜像模板,教师用户可选择以下两种方式制备模板:
[0042]第一种方式为教师在线配置镜像模板。根据上述查询结果,教师能利用该返回模板启动虚拟机,只需再安装少量软件就能完成镜像模板的制备,从而提高制备模板的效率。
[0043]第二种方式是教师独立制备镜像模板,然后上传到镜像库,经过镜像管理模块转换格式加入到模板库。支持上传的镜像格式有RAW,IMG, VMDK, QC0W2等。
[0044]当课程镜像模板制备完成,系统会将其分发到各节点的本地镜像文件库,根据其所属教师和课程,将其存储为 /localTemps/teacherlD/courselD/templateName.1mg,由兀数据管理模块维护课程镜像模板与教师,课程等之间的关系。
[0045]学生个性化上机模块
[0046]系统为学生提供使用和管理虚拟机的功能,运行虚拟机需要课程主镜像模板和个性化子镜像。当确定课程参与学生名单后,系统会基于课程主镜像为每一学生创建QC0W2类型的子镜像。如图6所示,学生有两种使用个性化虚拟机的方式:客户端和浏览器。
[0047]学生通过客户端使用个性化虚拟机的基本流程是:1)认证登陆,2)选择当前课程,3)通过交互界面查看与管理虚拟机状态,4)通过Spice客户端或VNCViewer等连接到虚拟机桌面进行课程实验。
[0048]学生也可通过浏览器使用其个性化虚拟机:A)在系统Web服务主页上完成认证登陆,B)选择当前课程,C)查看及管理个性化虚拟机,D)在系统Web服务页面获取虚拟机桌面,E)在浏览器中使用虚拟机。
[0049]学生使用个性化虚拟机的流程主要涉及三个关键问题:管理虚拟机QC0W2镜像、控制虚拟机以及连接虚拟机桌面。
[0050]管理QC0W2镜像,一方面需管理QC0W2镜像文件系统,系统的镜像管理模块基于libguestfs API (Iibguestfs是一组访问和修改虚拟机镜像文件的API)和qemu-1mg等工具管理QC0W2文件,支持查看与编辑镜像中的文件、监测镜像文件系统的空闲状况等。另一方面需维护学生QC0W2镜像与课程镜像模板间的关系。根据学生、课程信息将个性化子镜像存储为/gluster/studentID/courseID/QC0W2Name.QCOff2,并由元数据管理模块维护镜像、学生和课程间的关系。
[0051]虚拟机控制包含虚拟机电源管理,虚拟机镜像快照管理,虚拟机迁移等方面。pVCE虚拟机管理模块通过libvirt API实现了对虚拟机的控制,能支持Xen/KVM等多种虚拟化
T D O
[0052]连接虚拟机桌面。学生通过客户端使用时可通过各节点上已安装有Spicec、VNCViewer等的pVCE客户端连接虚拟机桌面,或者采用ssh方式使用虚拟机,也可以通过其他远程桌面访问工具(如Windows远程桌面)连接虚拟机桌面。对于Web访问方式,我们集成了 noVNC, spice-html5等工具支持学生不用安装任何软件,仅通过浏览器便可直接使用虚拟机。
[0053]管理员监控管理模块
[0054]管理员在该系统中主要参与以下三方面的工作:
[0055](I)维护镜像模板库。通过调研以往课程实验环境对操作系统和软件的需求,管理员将预先制备一部分镜像模板来初始化系统的镜像模板库。
[0056](2)管理系统中所有对象及对象间的关系,并控制对象的生命周期。图7的类图描述了系统的主要类,展示了类之间的关系。管理员通过交互界面,利用元数据管理模块对系统进行管理。
[0057](3)监控系统。虚拟机管理模块和镜像管理模块负责记录系统信息(如节点负载状况,虚拟机运行状态和镜像模板库的容量状况等),以帮助系统开发人员、管理员优化系统运行。如系统中能够图形化地展示出各节点的负载情况,方便管理员迁移某些虚拟机以平衡系统负载。
[0058]元数据管理设计实现
[0059]概述
[0060]系统中的对象包括:课程信息、学生用户信息、教师信息、选课信息、课程主镜像文件信息、学生个性化镜像信息、物理节点信息、虚拟机运行实例信息等,这些存储在数据库表中的信息都被统称为系统中的元数据信息。元数据库管理模块不仅要管理如上所述的各类对象,还需要管理对象之间的关系,以支持虚拟机管理模块和镜像文件管理模块的正确运行。能够为前端的管理员用户接口提供较为完整的系统监控与管理机制,如系统资源状态监控,存储服务器容量监控以及网络流量监控等。
[0061]数据库设计
[0062]系统中的表汇总如表1:
[0063]
【权利要求】
1.一种基于虚拟机实现计算机实验教学的上机环境建立方法,其步骤为: 1)学生在系统Web服务主页上完成认证登陆,然后选择当前课程;其中,课程主镜像文件已被部署到各物理节点上; 2)通过交互界面查看与管理虚拟机状态; 3)通过系统Web服务页面获取虚拟机桌面;然后在浏览器中使用虚拟机。
2.如权利要求1所述的方法,其特征在于通过Spice客户端或VNCViewer连接到虚拟机桌面进行课程实验。
3.如权利要求1所述的方法,其特征在于所述系统Web服务主页上设有一元数据库表;所述元数据库表中存储有课程信息、学生用户信息、教师信息、选课信息、课程主镜像文件信息、学生个性化镜像信息、物理节点信息、虚拟机运行实例信息。
4.如权利要求3所述的方法,其特征在于所述元数据库中所指示的每一课程主镜像名分别与一镜像文件实体对应。
5.如权利要求1所述的方法,其特征在于所述系统Web服务主页上预先制备了一些镜像模板并建立一镜像模板树;首先由教师用户提交课程模板配置以指明实验要求的操作系统和软件集信息,随后管理员根据教师用户需求去查询镜像模板树并返回匹配的模板,如匹配失败,则返回所需镜像模板的最大真子集模板。
6.如权利要求5所述的方法,其特征在于构建所述镜像模板树的方法为:首先初始化一根节点为空白镜像文件;深度为I的节点为仅安装了各类常见的发行版操作系统的镜像模板;当节点深度k> = I时,其深度为k+Ι的儿子节点是基于它安装额外软件所派生出的镜像模板,父节点所包含软件集是子节点软件集的真子集。
【文档编号】G06Q10/06GK103984589SQ201410171400
【公开日】2014年8月13日 申请日期:2014年4月25日 优先权日:2014年4月25日
【发明者】汪小林, 高博, 洪星星, 李涛, 罗英伟 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1