OpenSt ack私有云在教学资源共享中的应用
2018-07-25何孙杰匡芳君
何孙杰 匡芳君*
1 引言
随着大数据时代的到来,高校教学资源在提高教学水平中的作用也越来越重要,高校管理者也意识到教学资源共享的应用价值。如何充分发挥硬件资源的价值,更好地利用信息技术资源提高教育水平正逐渐受到各大高校的重视。和传统的教学资源共享相比,考虑到“私有云”的教学资源共享平台具有节省成本、共享便捷、管理高效、能耗更低等优点。在“私有云”概念出现之前,教育资源管理中也强调共享,但是这种共享存在成本高、利用率低、维护困难等缺点,如何利用云计算平台弥补这些不足,进一步提高教学水平显得尤为重要。本文从传统IT教学资源共享存在缺陷入手,分析现阶段高校教学资源共享需要解决的问题,考虑如何利用云计算平台解决共享难的问题,以提高资源利用率;然后利用Openstack构建教学资源共享平台,并以视频教学资源共享为例,展示了利用Openstack私有云构建教学资源共享的优势。
2 OpenStack私有云应用研究现状及优势
2.1 私有云
云计算是基于互联网的相关服务的增加、使用和交付模式,一般涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。对云计算的定义有多种说法,现在大众认可度最高的是美国国家标准与技术研究院(NIST)是定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互[3]。其体系结构如图1所示。
图1 云计算服务原理图
云计算有以下几种部署模式:私有云、公有云、社区云和混合云。私有云一般是为一个机构单独构建,并单独为这个机构服务的;公共云由云服务提供商所建立,用户通过网络购买租用云中的资源;社区云为有共同关注点的多家机构所建立;混合云由两个或两个以上的云组成,这些云彼此相互独立,而本文研究在各个高校内部资源的共享,使用私有云对于扩展性、共享速度以及安全性方面更有优越性。无论哪一种部署模式,按照服务类型一般都可以分为三类[4]:软件即服务(SaaS)、平台即服务(PaaS)和基础设施即服务(IaaS)这三大类。
2.2 OpenStack私有云在教学资源共享中的关键技术
2.2.1 基于私有云的教育资源共享的优势
在“私有云”概念兴起之前,许多高校尝试利用公有云搭建自己的教学资源共享平台。由于私有云可以完全工作在高校内网中,而公有云往往依靠相关公司的服务器来提供服务,与私有云相比,公有云的安全性不足,服务水平也不及私有云。另外,使用私有云还可节约成本。私有云平台可以更好地保障数据安全,还可以防止数据的泄漏和来源与外部网络的攻击。OpenStack是一种云计算控制器结构,利用Python语言编写。这种构架对于硬件平台成本要求更低,且资源共享速度更快更方便。
2.2.2 OpenStack的框架及部署方式
平台的目标是在云计算技术的支持下,建立基于Open-Stack项目的学习资源共享系统。关键技术在于分布式硬件资源(包括服务器,网络和存储设备)的统一,并利用虚拟化技术形成统一的硬件资源。具体来说,包括由OpenStack提供的用于统一管理的池,开源组件为用户提供IaaS服务,用户从IaaS租用资源并存储他们自己的学习资源。此外,还包括开发部署和共享学习资源系统,以及为管理员和学生提供学习资源。
OpenStack作为一个开源项目,提供了一个部署云的操作平台,用于管理大量的计算机、存储设备和网络资源组成的资源池,为私有云提供良好的扩展性[1]。OpenStack主要有7个核心组件[2],各组件之间的关系如图2所示。
图2 Openstack核心组件关系
(1)计算机组建(Nova):提供虚拟主机计算资源,将计算能力通过虚拟机的方式交付用户。
(2)身份认证(Keystone):提供统一的授权和身份验证。
(3)管理门户(Horizon):基于API接口,用于管理门户的Web端则用Python语言开发。
(4)镜像管理(Glance):为平台提供虚拟磁盘镜像的目录分类管理以及镜像的管理。
(5)网络管理(Quantum):实现了虚拟机的网络资源管理,包括后续的负载均衡、公网映射、子网IP管理、网络连接等功能。
(6)对象存储(Swift):通过键值对的方式实现对象文件的存储读取。
(7)快存储(Cinder):实现了对块存储的管理,为虚拟机提供云硬盘服务。
另外,OpenStack的部署方式主要分为两种:多点部署及单点部署。单点部署即所有OpenStack组件只需要安装在同一物理节点上。只涉及一台物理节点,具有所占用资源少,OpenStack的大部分功能都可用;管理、维护方便;网络结构简单,不用考虑复杂的网络拓扑结构;调试和研究方便,无需跨节点调试等优点。而多点部署即是采用多结点的部署方式,适用于有较多硬件资源的情况,具有管理、维护接近真实环境;OpenStack各组件间的相互依赖关系更加清晰;Open-Stack各组件的功能和稳定性更好等优点。
然而,单点部署扩展较难、实用性较差、OpenStack各组件间的关系不易研究。多点部署涉及到众多节点,部署麻烦且不易理清OpenStack各组件间的关系、维护困难、每个节点运行各自的服务导致资源浪费。因此,较为实用的部署方式是采用两种节点:主控节点和计算节点,如图3所示。这样,此部署不仅扩展容易、维护方便,而且该架构具有高可靠性,能够持续稳定地提供服务。
图3 主控节点和计算节点示意图
3 OpenStack私有云在教学资源共享中的应用
3.1 私有云的实现
本章介绍在高校网络环境中部署Openstack私有云的实现方法。这里仅说明一般性方法,具体实施方法还要结合高校各自情况加以说明。
3.1.1 现有教学资源迁移
传统教学资源主要包括教学课件、教学试题以及教学成绩。这些教学资源往往存储在某一台或者某几台特定的服务器中[5]。这样,一旦这些服务器发生故障或者离线,所有教师和学生都将失去对这些资源的访问能力。对于这部分教学资源可以很方便地迁移到搭建好的云计算平台上。Openstack云计算平台提供虚拟机服务支持,只需要将传统教学资源所在服务器的硬盘数据制作成映像文件,并且将该映像文件导入到服务器中,创建特定的虚拟机服务,即可完成迁移工作。迁移过后,用户访问可以不受云计算平台中某台服务器故障的影响。
3.1.2 分布式计算资源构建
许多高校都建有专门的数据处理服务器[6],用来满足教学和科研过程中对于高强度计算所需要的处理能力。然而,用户想要申请得到这些计算资源往往需要繁琐的申请手续。另外,用于教学目的的资源相对短缺,导致开设的相关课程教学质量下降,不能满足需求。要创建计算资源云处理平台,需要在原本的每台高性能计算机上配置Openstack Computing程序。并且将程序配置在计算节点模式。这些计算节点相互连接,并且可以根据需要,动态地划分为多个不同的虚拟计算机。
系统管理员可以将拥有不同权限的账号分配给每一个教师,而教师又可以根据教学需要,为每个学生分配不同性能的虚拟主机。学生可以使用分配到的账号登录到远程桌面,熟悉相关技术和操作。这样一来,高校可以充分利用现有的硬件资源,做到硬件资源分配最优化,使得每一个使用需求都能够得到较好的满足。这有利于提高教质量和水平[7]。
3.2 应用实例分析
学习资源共享平台利用云计算技术为高校提供基础设施服务(IaaS)。它通过OpenStack项目将现有的所有的硬件设施组织到一个统一的虚拟资源池中,并为高校提供租用接口。高校可以在租用的基础设施上存储学习资源,部署自己的应用程序等。平台应用层的学习资源共享系统也可以部署在高校租用的资源上供学生使用。在云计算资源共享平台中,基础设施管理员负责资源池中资源的分配和监控。每个高校都是资源的使用者。他们租用池中的基础设施并部署自己的资源共享系统来存储学习资源信息,以及应用程序数据库。同时,高校可以使用Web控制台检查租用资源的使用情况并作出新的租赁决定。学生在高校登录学习资源共享系统学习平台,获取学习资源,获得学习资源许可,同时支付一定费用。每个高校通过学习资源共享系统的管理平台来管理学习资源,并监控每个学生的学习行为。在实际部署时,管理节点采用1台ThinkServer服务器进行平台管理控制,用来控制云环境;用5台ThinkServer常规服务器,搭配万兆网口和大容量内存来充当资源池;采用具有大硬盘,64GB内存,SSD读写加速和至少2个千兆网口,2个万兆网口的服务器作为储存节点。
3.2.1 教学视频资源共享
教学视频资源一般是指课堂的视频录像和一些演示性实验[8]。传统的教学资源视频是存储在学校的服务器主机的。受限于物理情况,主机的带宽和处理能力都是有限的。当访问用户比较多、点播量很大的时候,经常会出现宕机的现象。
这部分资源的云端化处理适宜采用多点对多点(Peer to Peer)的传输方式。利用Openstack可以实现这一技术。在这种基于Web的结构中,用户可以不用安装客户端软件,服务器可以协调处理这些访问请求,并且将其重定向到已经下载了相同资源的用户。这样,就不需要每个用户都从服务器下载视频数据,从而实现了减轻服务器压力,提高用户体验。
3.2.2 考勤数据生成与共享
考勤是教学工作中的重要环节,利用私有云可以提供考勤的效率[9]。传统考勤方式一般是教师对照名册,逐个确认学生是否在场。结合电子围栏技术和基于位置信息服务(LBS),可以方便完成考勤工作。该过程可以自动完成,不对教学活动造成任何影响。
4 系统平台的优缺点
分析私有云系统应用于教学资源的优点和不足,以便高校评估自身是否适合搭建私有云平台。该系统具有成本低廉、使用方便、高可靠性等优点。利用开源社区的丰富资源,该系统可以定制出多种强大功能。此外,由于系统整体采用Python语言编写,因此系统的可维护性非常高。同样地,由于采用的是开源代码,这些代码是由开源社区维护的,因此当代码出现问题时,用户需要向开源社区求助或者自行解决。当系统变得庞大而复杂的时候,这会给系统的维护带来不便。另外,该系统的执行效率相对较低,在硬件资源紧张的情况下,系统的运行可能会变得非常缓慢。通过分析上述缺点,我们可以从以下研究点加以突破,包括调度算法优化领域、在线迁移优化技术、负载均衡优化设计、计算性能优化设计、虚拟化性能优化技术、能源损耗优化领域等。尤其是调度算法,比如装箱问题、启发算法、遗传算法等等,都能提高资源利用率。
5 结束语
本文提供了高校搭建Openstack云计算平台的一般方法。Opestack技术在教学资源共享中的意义重大,但并不是每一所高校都适合使用该技术搭建教学资源共享平台。本文分析了这种云计算平台的特点,高校应当根据自身需求决定是否搭建以及搭建怎样规模的私有云,来尽可能提高教学水平。如果高校规模比较庞大,可以借鉴Openstack技术的思路,构建自主构架的云计算平台。未来,私有云技术会在多线程处理技术、访问控制技术、存储快速响应技术等关键性技术领域有重大突破,但是云计算基本组件和服务不会有太大变化。