APP下载

基于虚拟化技术的计算机实验教学平台的设计与实现

2017-09-23王真陈卫卫吴永芬鲍爱华丁科唐艳琴李志刚

软件工程 2017年7期
关键词:虚拟化技术

王真 陈卫卫 吴永芬 鲍爱华 丁科 唐艳琴 李志刚

摘 要:针对目前计算机实验教学中存在的操作系统需求多样、分布式环境部署困难等问题,本文提出了一种基于虚拟化技术的解决方案,设计并实现了一套支持各种实验教学环境需求的平台(含管理系统),极大地降低了实验环境部署、使用、维护的时间成本,相对于传统的实验机房该平台具有资源有效共享、性能弹性伸缩、管理灵活高效、环境安全可靠等特点。

关键词:虚拟化技术;实验教学平台;桌面虚拟化;VMware

中图分类号:TP302.1 文献标识码:A

Abstract:In computer experimental teaching,many problems are caused by the requirements of various operating systems and the difficulty of distributed environment deployment.Accordingly,this paper presents a solution based on virtualization technology,and designs and implements a set of platform to support the requirements of various experimental teaching environments(including the management system),which greatly reduces the time cost of deployment,use and maintenance of the experimental environment.Compared with the traditional experimental room,the platform has the characteristics of effective sharing of resources,flexible elasticity of performance,flexible and efficient management,safe and reliable environment,etc.

Keywords:virtualization technology;experimental teaching platform;desktop virtualization;VMware

1 引言(Introduction)

计算机类课程实验对于深化理论教学,提高教学质量具有举足轻重的作用,目前,对实验基础环境的需求大致可以归纳为单Windows主机、多Windows主机、单Linux\Unix主机和多Linux\Unix主机这四类。课程实验的多样性导致环境需求的差异,例如,C语言、数据结构、数据库等课程的实验通常需要的是单Windows主机环境,且对主机计算性能要求不高。而一些新兴技术,比如云计算、大数据、人工智能等的相关实验的开展则需要单个或多Linux\Unix主机,以及较好的计算性能支持[1-3]。

2013年我院获批“军用网络技术网络技术”国家级实验教学示范中心,随着新技术课程的不断开设,以及研究课题对实验环境的高需求,使得传统单机实验机房存在的管理模式僵化、计算机性能固化、实验需求难以个性化和实验场地难以扩大化等问题突显出来,影响了部分课程实验的高质量开展,为了解决这些问题,我们在立足现有场地和实验用机的前提下,利用虚拟化技术设计并实现了一套支持多种操作系统、性能灵活扩充、主机按需分配的虚拟化实验教学平台,并开发了配套的虚拟化平台管理系统。通过两年的运行,解决了上述问题,系统运行良好,收到了较好的教学效果。

2 计算机实验教学中遇到的问题及解决方法

(Existent problem and its solving method of

computer experimental teaching)

2.1 实验教学中遇到的问题

在实验教学过程中,遇到了一些问题,归纳起来,主要包括几个方面。

(1)实验环境部署过程繁琐。目前实验机房采取的是批量克隆部署的方式保障所有课程的实验,开课前需要教员在一台模板机上安装所需的软件环境,然后由机房管理员将模板机上的内容复制到机房的其他计算机上去。这种部署方式要求授课教员必须到现场进行部署,而且一旦出现个别软件冲突,需要全部重新部署,费时费力。

(2)单机虚拟化性能不能满足实验要求。为了避免实验环境的冲突,有的教员采取安装桌面版虚化软件,在实验主机上创建虚拟机,然后在虚拟机中部署自己的实验环境。由于这种桌面版虚拟化软件需要将本机的CPU和内存资源分配给虚拟机用,在实验主机性能本身就不高的情况下,虚拟化后的系统明显性能不足,不少学员反映存在虚拟机启动缓慢、实验软件运行卡顿的情况。

(3)开展分布式实验困难。云计算、大数据的一些实验需要在分布式环境中实施,这就要求每名学员至少操作2—3台计算机,在机房机位有限的情况下,目前只能多人一组来实施。

(4)主机性能无法弹性伸缩。不同的实验课程对主机性能要求不同,随着时间的推移,设备老旧,配置低下,对主机性能要求高的一些课程实验运行缓慢或根本就无法开展成为现实,而针对这些实验全面更换高性能主机,成本也是个问题。

(5)无法有效利用现有服务器资源。学院机房中部署了部分课题组购买的科研用服务器,这些服务器日常的计算和存储负载并不高,有大量闲置资源没有得到有效利用。

(6)实验环境管理维护难度大。由于多门实践课程共用一台主机,容易发生实验环境冲突,一旦某门课程实验引发了系统故障,将影响多门课程授课。利用现有的实验室管理软件进行系統恢复耗时长,并容易导致实验数据丢失。endprint

2.2 解决的方法

为解决上述问题,经过多方调研和可行性分析,我们决定利用桌面虚拟化技术构建一套全新的实验教学平台,有效整合现有计算资源,改善实验教学环境。

虚拟化技术(Virtualization)是一种资源管理技术,是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等)予以抽象、转换后呈现出来并可供分区、组合为一个或多个电脑配置环境[4]。虚拟化后的资源不受现有资源的架设方式、地域或物理配置限制,用户可以根据自己需要灵活配置使用。虚拟化技术可以分为服务器虚拟化(单机虚拟化属于服务器虚拟化的一种特例)、桌面虚拟化、应用虚拟化和网络虚拟化,根据课程需求我们的建设方案采用桌面虚拟化技术。

具体建设思路如下:

(1)整合硬件,形成资源池。采购一套计算服务器和存储阵列,并与现有计算、存储资源进行整合,将新旧资源统一为一个资源池,为实验课程提供按需分配的计算与存储能力,相比单机虚拟化而言,能为虚拟机提供充足的性能。

(2)按需配置,生成虚拟机。利用桌面虚拟化技术,在资源池中创建多个不同配置的虚拟主机(弹性伸缩),实验环境部署在虚拟主机中。部署过程如图1所示,首先,选用一台虚拟机作为课程模板,在该虚拟机中部署实验环境(操作系统及其相关软件),然后,以此课程模板为源分发(复制)生成新的虚拟机,这样保证了软件环境的一致性,且提高了实验环境部署的效率。根据实验课程需要,可以为每名学生分发一个或多个虚拟机。例如,云计算课程中,就可以为每个学生分配多台虚拟机,使用起来的感觉就像每个人拥有了多台物理计算机,可以方便的进行分布式实验。

(3)随时随地,登录系统。学生通过实验机房主机或是自己的台式机、笔记本电脑等终端设备登录到本门课程的虚拟机桌面即可开始实验,不再受场地限制。学生的虚拟机性能可以进行弹性伸缩,满足不同课程实验需要。虚拟机之间相互隔离,实验环境不会发生冲突,当发生误操作导致系统故障时,只需重置在用的虚拟机即可,耗时短,可靠性高。

(4)在線管理,监控运行状态。开发一套与实践平台配套使用的管理系统,通过该系统管理人员可以监控平台运行,维护平台基础架构。教师可以在线完成虚拟机配置、分发,以及虚拟机中实验环境的部署工作,从而提高管理效率,简化实验环境部署过程。

3 基于虚拟化技术的计算机实验教学平台设计(The

design of a computer experimental teaching

platform based on virtualization)

3.1 技术选型

目前市面上已经有很多成熟的解决方案来实现桌面虚拟化[5-9],其中商业软件有微软的Hyper-V、VMware公司的Horizon及Citrix的XenDesktop,开源的软件有KVM、Xen及VirtualBox。针对上述解决方案,我们从硬件兼容性、部署难易程度、虚拟机性能高低、系统稳定性、技术支持的时效性,以及后期维护的便捷性等方面进行了对比分析,最终采用VMware的Horizon来构建实验教学平台。

VMware Horizon桌面虚拟化软件架构[10]如图2所示,它包含三个模块:最底层的是负责硬件虚拟化的vSphere,vSphere的主要组件为ESXi,它部署于物理硬件之上实现裸机虚拟化,将物理资源抽象为多个虚拟主机。底层之上是核心基础设施,由vCenter Server、数据库(Database)、Active Directory域服务组成,主要负责对部署了ESXi的物理机及抽象后的虚拟机进行集中管理。最后是Horizon View,其作用是在vSphere的支持下,实现虚拟桌面架构(Virtual Desktop Infrastructure,VDI),它由vCenterAccess Point、View连接服务器(View Connection Serve)、View Composer和View客户端组成,其中View连接服务器通过vCenterAccessPoint连接到vCenter,实现对虚拟桌面的高级管理功能,包括虚拟桌面池管理、虚拟桌面配置、桌面连接代理等。View Compose提供虚拟机桌面的链接克隆功能,可基于父映像快速创建桌面映像。View客户提供终端用户访问虚拟桌面的功能。

3.2 平台整体设计

我们设计了一个能支持400人同时在线的虚拟化实验教学环境平台。平台的硬件设备拓扑图如图3所示,软硬件设备如表1所示。

采购了六块曙光CB50-G20刀片服务器,与现有的一套科研用IBM服务器通过万兆核心交换机连接在一起,作为计算服务器提供平台所需计算能力,原IBM服务器上部署的应用后期将迁移到平台的虚拟机中运行。在计算服务器上部署ESXi以便实现服务器的虚拟化,并创建八台虚拟机用来搭建和维护平台基础架构。八台虚拟机统一安装Windows Server 2008 R2操作系统,并做如下使用分配:两台虚拟机分别用于配置Active Directory与DHCP,提供域管理功能;一台虚拟机用于部署vCenter Server,提供统一的虚拟机管理维护功能,如定时开机和关机、提供负载均衡等;三台虚拟机上安装SQL Server 2008数据库后作为数据库服务器用于存储及管理平台各组件的配置数据和用户信息。为了提高数据库的可用性,将三台数据库服务器配置成镜像模式,一台主体服务器(Principal)一台镜像服务器(Mirror)外加一台见证服务器(Witness),这样可以最大限度的确保所存数据的安全可靠;一台虚拟机安装View Compose,以便提供虚拟桌面链接克隆功能,最后一台虚拟机中安装ViewConnection Serve,作为链接代理,可向用户提供虚拟桌面。endprint

新购一套曙光DS800-G25存储陈列,通过两台SAN交换机与现有的EMC存储服务器连接后互为备份,作为存储服务器用于虚拟机模板、虚拟机快照及用户文件数据的存储。现有计算机安Horizon View客户端软件后,作为瘦客户端通过华为S5700接入交换机与核心交换机相连接,并最终接入到校园网。学生个人计算机也可在安装了客户端后连接到实验教学平台。

3.3 管理系统设计

为了提高平台的管理效率,我们设立了三类管理人员:一类是授课教员,负责虚拟机模板的配置及虚拟机的分发和管理;第二类是平台管理人员,负责对平台的基础架构、物理服务器、网络进行管理和维护;第三类是机房管理人员,负责维护各机房内部的接入终端。机房管理人员的工作和现行模式没有太多区别,平台管理员也能直接通过vSphere管理系统基础架构,因此我们主要考虑的是授课教员如何实现对虚拟机的管理。

VMware的vSphere自身提供了针对系统基础架构,以及虚拟机的管理功能,但是这些功能操作繁琐,专业性要求高,且一旦对基础架构进行了误操作,将严重危害平台运行,不適合提供给授课教员使用。

为了匹配实验教学的管理需求,我们希望能把虚拟机模板构建、虚拟机分配、用户管理等与实践授课相关的功能从vSphere的管理功能中剥离出来单独提供给授课教员使用,这样平台管理人员只需要关注维护基础架构,而授课教员可以自行管理课程实验环境。

为了实现这个目标,基于vSphere提供的虚拟机管理接口vSphere Automation SDK for .Net开发了一套针对虚拟化平台的“实验课程管理系统”。系统结构如图4所示,授课教员通过登录管理系统实现对虚拟机进行日常管理,包括用户管理、课程管理、虚拟机模板设置,以及虚拟机的分发与管理等功能。教师进行系统管理的操作流程包括八个步骤(图5)。

(1)注册后登录到管理系统。

(2)设置课程信息,主要包括课程名称、起始日期、上课时间、学员名单等。

(3)选择一个虚拟机模板(我们将常用的系统预先制作为虚拟机模板,比如Windows 7、Windows 10、Windows Server 2012或Linux等)。

(4)根据课程需要更改虚拟机模板中默认的CPU个数和内存大小。

(5)登录到虚拟机模板,安装授课所需的软件,部署实验环境。

(6)系统自动将的配置好的虚拟机模板保存为该门课程的课程模板,这样在下一次部署实验环境时,在第3步操作时可以直接选取课程模板而不是虚拟机模板,然后进入第7步操作。

(7)依据第1步中录入的学员名单,系统自动完成虚拟机的分发工作,并依据绑定用户账号。

(8)系统自动生成一份学员账号信息表,教员在上课时分发给学员,学员即可按照账号信息登录虚拟机进行课程实验。

在授课过程中,如果遇到学生误操作导致实验环境受损,教师还可以通过管理系统进行虚拟机的重置,快速恢复实验环境。在这套管理系统的支持下,系统维护人员和授课教师之间的协同工作变得更加顺畅、更加高效了。

4 平台的实施及使用效果(The implementation of

the platform and application effect)

4.1 实施情况

项目从2015年3月开始启动建设,经过近9个月的软硬件建设与试运行,于2015年12月面向全院师生开放使用,截至目前已经有两个校区的六个实验机房接入到虚拟化平台。平台投入使用后受到了广大教师的欢迎,陆续开设了包括“计算机网络原理”“数据可视化技术”“数据分析与数据挖掘”“多媒体数据处理”“数据结构”“云计算及其应用”等在内的27门实践课程。

4.2 使用效果

经过一年多的运行,我们收到了很多教员和学员在使用过程中的反馈,普遍认为平台具有以下优势:

(1)教员可在线完成实验环境部署工作,提高了部署效率。

(2)可为学员分配多台计算机,方便开展各类分布式实验。

(3)虚拟机性能可弹性扩展,学生实验过程顺畅,告别“卡、顿”。

(4)服务器集中使用,提高了资源利用率。

(5)实验环境相互隔离,互不冲突,一旦出现问题可迅速恢复。

(6)系统管理员可统一管理全院实验环境。

(7)数据多重备份,安全可靠。

(8)学员上实践课不再受场地和时间限制,满足个性化学习需求。

在可靠性方面,目前提供的是面向虚拟机文件和用户文件的备份,不是平台层面的热备,因此还存在单点故障问题,一旦机房停电、服务器宕机或是网络出现故障,实验课程会受到影响。这些问题,随着经费保障的增强,将在后续建设得到逐步改善。

5 结论(Conclusion)

虚拟化实验教学平台为教师、学生提供了快速可配置的虚拟化实验环境。利用该平台,计算机类实验教学不再受实验物理机性能和操作系统的限制,可灵活方便地配置虚拟机数量及其计算能力、各个课程的实验环境相互隔离避免各类冲突,同时也大大简化了教师开课前的实验环境部署工作,以及实验室管理人员的实验环境维护工作。

参考文献(References)

[1] AmolJAIKAR,Gyeong-RyoonKIM,DadaHUANG,et al.Ahardware-basedalgorithmforvirtualmachineprovisioninginaprivatecloud[J].中南大学学报(英文版),2014,21(11):4291-4295.

[2] 高培超,et al.Low-cost cloud computing solution for geo-information processing[J].Journal of Central South University,2016,23(12):3217-3224.endprint

[3] Miao T,Chen H.FlexCore:Dynamic Virtual Machine Scheduling Using VCPU Ballooning[J].清华大学学报自然科学版(英文版),2015,20(1):7-16.

[4] 维基百科.虚拟化[EB/OL].https://zh.wikipedia.org/wiki/虛擬化,2017.

[5] 闫格.基于云计算架构的高校实验室设计与实施[J].闽南师范大学学报(自然版),2011,24(3):25-29.

[6] 修长虹,梁建坤,辛艳.虚拟化技术综述[J].网络安全技术与应用,2016(5):18-19.

[7] 由继红.虚拟实验室研究概述[J].生命科学仪器,2014(Z1):

34-37.

[8] 赵刚.基于VMware vSphere的虚拟化架构的研究与实现[D].中国地质大学(北京),2013.

[9] 梁琨,等.计算机虚拟仿真实验教学中心建设与实践[J].教育教学论坛,2017(3):267-268.

[10] VMware,Inc.VMWARE HORIZON 7 ENTERPRISE EDITION REFERENCE ARCHITECTURE[EB/OL]. http://blogs.vmware.com/euc/2016/07/horizon-7-reference-architecture-validated-integration-design-enterprise-edition.html,2017.

作者簡介:

王 真(1982-),男,硕士,讲师.研究领域:云计算,服务计算.

陈卫卫(1967-),女,硕士,教授.研究领域:云计算,服务计算.

吴永芬(1979-),女,硕士,讲师.研究领域:模式识别.

鲍爱华(1981-),男,博士,讲师.研究领域:云计算,人工智能.

丁 科(1978-),男,硕士,讲师.研究领域:分布式计算.

唐艳琴(1977-),女,硕士,副教授.研究领域:模式识别.

李志刚(1980-),男,博士,讲师.研究领域:云计算,服务计算.endprint

猜你喜欢

虚拟化技术
虚拟化技术在中职学校校园网服务器中的应用
云计算虚拟化技术在电信领域的应用研究
基于SOP架构的一种轻量级虚拟化防火墙的实现