基于OpenStack的数字校园体系架构研究

2014-08-07 13:22郭欣张丹珏
微型电脑应用 2014年10期
关键词:开源部署架构

郭欣,张丹珏

基于OpenStack的数字校园体系架构研究

郭欣,张丹珏

当前,云计算技术的广泛应用已成为不可阻挡的趋势,随之而来的开源云计算也迅速崛起。开源云计算以其开源性、低成本等优点吸引越来越多的用户。对开源云计算OpenStack 的功能和架构进行介绍,并针对高校数字校园存在的问题,从数字校园的实际需求出发,利用先进的 OpenStack 平台,采用分层设计的方法设计、实现一个可对云资源进行综合管理的数字校园体系架构。并重点研究该架构中的资源调度,提出了一种基于任务调度和负载均衡的方案,通过实践,验证了该调度方案能够均衡服务器的资源负载,使基于OpenStack的数字校园处于相对稳定的状态。

开源云计算;OpenStack;数字校园;体系架构

0 引言

近年来,高校校园信息化发展很快,国内很多高校都拥有千兆主干带宽,甚至万兆主干校园网的硬件环境;各种管理信息系统已在各个高校广泛应用,并逐步成为支撑学校日常工作必不可少的条件。然而,随着应用的不断深入,早期不够合理、全面的规划和建设带来的各种问题逐步显现,并成为了进一步发展的瓶颈,例如:设备单独购置,基础设施重复建设;管理信息系统间相互隔离,系统架构各自为政;软件系统升级困难,应用难以有效集成;信息孤岛林立,服务的扩展性和交互性差等。

云计算作为分布式处理、并行处理和网格计算的发展,把存储于个人电脑、移动电话和其他设备上的大量信息和处理器、存储器等各种硬件资源集中在一起,合理调配、协同工作,将信息技术能力以服务的形式提供给终端用户[1]。采用云计算集中管理、统一分配资源的方式,可以有效解决上述高校信息化建设中存在的问题。开源云计算技术作为云计算领域的新生力量,以其独特的开源、低成本等优点日益受到关注。研究开源云计算技术,构建基于开源云计算技术的数字校园,对促进校园信息化发展,具有重要价值。

1 开源云计算

1.1 开源云计算简介

目前比较流行的开源云计算管理平台有Eucalyptus、OpenNebula、OpenStack、Enomaly、CloudStack 等。后起新秀OpenStack基于“完全开源”理念,以全开源的方式为用户提供云计算功能,已逐渐占据主导地位。与商业云相比,开源云在许多方面具有得天独厚的优势。例如:免费不受专有软件版权模式的影响,在预算短缺的时候是现成的工具;开放源代码,为研究者提供了一个与商业云不同的开放的研究和试验平台;产品众多,可以根据本单位实际情况进行选择部署;一般都与相应商业云接口兼容,为平台的发展和功能拓展提供了良好的基础[2]。因此,对于大部分资金有限、希望快速部署云计算环境进行应用实验的高校而言,选择开源云计算产品进行自主开发是更为实际的选择。

1.2 OpenStack介绍

OpenStack是RackSpace和美国国家航空航天局(NASA)共同开发的一个开源云计算项目,基于Apache2.0开源模式[3]。它旨在提供一个方便部署云的操作平台,目前已经有150多个公司参与OpenStack项目,将其作为基础设施即服务(IaaS)的通用前端。

OpenStack架构包括6个主组件:计算(Compute)、存储(Storage)、网络(Networking)、共享服务(Shared Services)、仪表板(Dashboard)和高级服务(Higher-level services)。这6个部分既可以组合在一起联合工作,提供完整的云基础架构服务;又可以独立工作,分别提供虚拟化、云存储和镜像等服务。

(1)计算模块(开发代号Nova),负责在OpenStack环境中管理虚拟机的整个生命周期:添加、调度和回收虚拟机。它是云平台的中心控制器,提供一个工具来部署云。

(2)存储模块,分为对象存储(Object Storage)和块存储(Block Storage)。对象存储(开发代号Swift)通过RESTful(基于HTTP的API)存储和检索任意的非结构化数据对象,主要负责大规模数据对象管理。块存储(开发代号Cinder)为运行实例提供持久的存储块,它的可插拔驱动架构有利于创建和管理块存储设备。

(3)网络模块(开发代号Neutron),为其他OpenStack服务(如Nova)提供网络连接服务,并为用户定义和接入网络提供API。其可插拔的体系结构,支持许多流行的网络供应商和技术。

(4)仪表板( 开发代号 Horizon) ,为用户和OpenStack底层服务(如启动实例、分配IP地址和配置访问控制等)进行交互提供基于Web的自助服务门户。

(5)共享服务,提供身份服务( Identity Service) 、镜像服务( Image Service)和测量(Telemetry)。身份服务(开发代号Keystone)为其他OpenStack服务提供身份验证和授权。镜像服务(开发代号Glance)存储和检索虚拟机磁盘镜像,Nova利用该服务进行实例配置。测量(开发代号Ceilometer)监控和计量OpenStack的收费、标杆管理、可扩展性和统计。

(6)高级服务,OpenStack最新推出了编配服务(开发代号Heat),是一个以模板为驱动的服务,用于针对各种应用描述和自动部署计算、存储和网络资源,如图1所示:

图1 OpenStack概念架构图[4]

2 基于OpenStack的数字校园架构

OpenStack拥有开源的特质,并具有良好的控制性、兼容性、可扩展性与灵活性,因此我们选用OpenStack作为数字校园架构开发的平台工具。基于OpenStack的数字校园架构分为5层,由下至上依次为:硬件设施层、虚拟资源层、管理中间件层、应用服务层和用户访问层,下层均为上层提供支撑,其架构灵活、方便扩展,交付了一组丰富的数字校园功能和服务,充分发挥了云计算的优势,如图2所示:

图2 基于OpenStack的数字校园架构

2.1 硬件设施层

硬件设施层为数字校园建设打下基础,为数字校园的正常运行提供必要的设备级支持。主要包括存储设备、网络设备、计算设备等硬件,以及基于硬件的全虚拟化解决方案、系统软件等基础设施。

2.2 虚拟资源层

虚拟资源层主要基于OpenStack的Horizon、Keystone、Neutron、Nova、Glance、Swift等组件进行开发,通过虚拟化技术整合异构平台的硬件资源,实现对计算设备、存储设备和网络的虚拟化,在该层形成一个庞大的、有效、统一、可管理的虚拟资源池。OpenStack的各个组件既可以组合在一起联合工作,又可以独立工作,为了提高性能、减轻大量用户并发访问的压力,该层在设计时将Keystone、Glance、Swift、Horizon部署在不同的服务器中,分别提供认证服务、镜像管理、云存储和Web等服务。计算节点由支持 VT 技术的20台物理机组成,主要用于运行虚拟化实例,提供计算服务。控制节点部署在一台高性能的服务器上,对计算节点、网络节点和其他组件进行管理。网络节点提供路由、NAT、DHCP、网络插件代理以及虚拟机网络连接等网络服务。该层的各个组成部分均位于同一局域网内,这样,局域网内任何一台终端均可以直接访问或使用该层提供的资源。另外,为了使虚拟资源层更安全,我们使用Nova 提供的虚拟化实例和外网隔离的网络方案,为虚拟化实例组建一个与外网隔离的私有网络,虚拟化实例通过内网交换机来通信。实例和外网通信时,再分配一个浮动的外网IP 地址给实例[5]。虚拟资源层的架构如图3所示:

图3 虚拟资源层架构

2.3 管理中间件层

管理中间件层对虚拟资源层所提供的资源进行监控、调度等管理,该层由xCAT集群管理、开发服务、作业管理和资源管理组成。xCAT是一个可扩展的高级集群管理和配置工具,允许使用者通过一个单点控制和管理一个集群系统[6]。xCAT对虚拟资源层进行监控管理、电源管理和硬件管理。开发服务通过部署各种特定的服务、解决方案堆栈或数据库,为Glance提供各种开发环境。作业管理类似于Hadoop的任务管理,服务端为每个提交作业的用户建立一个文件夹,存放该用户的作业和相关文件,当需要执行作业的时候,作业从服务端上传至分布式文件系统,并分发到虚拟资源层的资源节点,资源节点接收到作业后自动部署和配置完成处理,处理完毕后将结果以文件的形式返回给服务节点,并存储在用户的文件夹中,用户可以下载查看,作业执行期间服务端也提供同步结果查看[7]。资源管理负责调度整个数字校园的资源并实现负载均衡,当中间件层的服务节点收到资源请求后,根据其监测到的虚拟资源层的资源使用情况判断是否提供相应的资源,当虚拟资源层有足够的资源可以提供时,就返回给用户定制成功的信息,否则返回失败信息,资源分配情况可以在资源列表中查看。

2.4 应用服务层

应用服务层由基础支持平台和部门业务系统组成。基础支持平台由公共数据平台、数据交换平台、统一身份认证平台、服务整合平台等组成,是为各业务系统提供支撑的技术平台,它从信息展现、安全管理、信息资源管理、信息资源共享、业务协同等方面出发,通过构建各种基础性的技术平台,使各业务系统开发能够遵循统一的技术规范和标准,同时也支持各个业务系统的建设,从而形成数字校园的应用支撑体系[8]。部门业务系统是直接支持学校各项工作的各种应用系统,覆盖了学校的教学、科研、管理、服务等各个领域,这些业务系统构成了“数字校园应用体系”。业务系统是由业务需求驱动的,它会随着学校管理和服务模式的变化而变化。

2.5 用户访问层

用户访问层为用户访问数字校园提供统一的门户。该层利用成熟的门户技术,使各应用系统能在前台形成一体,实现单点登陆和个性化服务,为全校师生提供统一的信息发布和服务。用户访问层是访问校园信息的唯一入口,它是学校信息资源的综合展现。

3 基于OpenStack的数字校园建设

3.1 硬件设施层建设

硬件设施层的建设包括综合布线系统、园区骨干汇聚接入及无线网络系统、综合管网弱电系统、服务器主机、存储、安全系统等构成数字校园的数据汇聚、运行支撑环境的建设。该层的建设工作很多高校已经完成,或者基本完成,为数字校园后续建设奠定了基础。

3.2 虚拟资源层建设

虚拟资源层的建设主要通过部署OpenStack各个组件来实现。首先是系统安装,考虑到数字校园的稳定性、后续管理等问题,本文采用 OpenStack源码安装,操作系统使用6.5版Centos,OpenStack的版本为Havana,然后具体部署Keystone、Glance、Nova、Swift、Cinder、Neutron和Horizon。Keystone部署的步骤:源码安装身份服务,定义用户、租户和角色,定义服务和API终端,验证安装;Glance部署的步骤:源码安装镜像服务,创建并同步镜像服务数据库,验证镜像服务安装;Nova部署的步骤:源码安装控制器计算服务,配置计算节点,开通网络,启动实例;Swift部署的步骤:源码安装Swift,安装和配置存储节点,安装和配置代理节点,启动存储节点的服务,验证安装;Cinder部署的步骤:配置块存储服务控制器,配置块存储服务节点;Neutron部署的步骤:根据拓扑结构在网络节点上安装网络服务,在计算节点、控制节点上安装网络支持,创建基础网络;Horizon部署的步骤:源码安装Horizon,为Horizon建立会话存储。

3.3 管理中间件层建设

管理中间件层部署在虚拟资源层之上并向上层提供服务,包括部署xCAT、开发服务、作业管理和资源管理。xCAT部署的关键步骤:网络配置,安装管理节点,安装xCAT软件包,定义并安装集群,配置服务与所有节点。开发服务的部署实质上就是创建各种软件开发的环境并开启相关服务,例如:Apache、MySql、 .NET、Hadoop、PHP和JAVA等,然后作为一个整体以服务的形式发布出去。作业管理和资源管理功能是通过中间件技术,利用虚拟资源层中OpenStack所提供的API进行开发实现。

3.4 应用服务层建设

应用服务层的建设由建设公共数据平台、数据交换平台、统一身份认证平台等基础支持平台和教务管理系统、学工管理系统、人事管理系统、科研管理系统、资产管理系统、财务管理系统等部门业务系统组成。公共数据平台建设主要包括:构建数据集成平台,建立和完善运行机制。数据交换平台建设主要包括:为各应用系统之间建立统一的数据交换通道,为公共数据平台建设可靠的数据采集通道,建立学校统一的数据交换技术规范和标准。统一身份认证平台建设主要包括:用户身份数据统一管理、统一认证,单点登录,安全审计。各个部门业务系统的建设过程类似,具体为:首先根据部门的业务需求设计功能点;然后逐一进行开发实现;再进行试用、修改。

3.5 用户访问层建设

用户访问层位于各层之上,是数字校园的入口,以浏览器的方式向用户展现数字校园的应用信息,该层的建设内容包括:标准门户服务器、内容集成工具、运行管理工具、接口扩展和用户自定义工具等。

4 资源调度方案设计

在数字校园中,随着业务系统的数量增多,对虚拟资源层的资源调度提出了挑战,静态的资源分配往往会使虚拟机产生资源浪费或资源不足的情况,而人工的动态资源调整会有明显的滞后性,因此,需要进行智能的动态资源调度。考虑到此,我们设计了基于OpenStack的数字校园动态资源调度方案,该方案分成两步完成资源调度:

第一步:让当前无法处理的任务请求进行排队,然后选择合适的任务进行操作。当等待队列未满,即等待分配资源的任务总数小于队列所容纳的最大值时,考虑任务在队列中积压时间与其将消耗资源的乘积,选出乘积最大的任务为其分配资源,以减少资源消耗量大、等待时间长的任务积压,避免造成等待队列后续满负荷时请求丢失率的增加;当等待队列中待分配的任务即将达到极限时,则优先选择消耗资源较少的任务进行资源分配处理,从而提高任务处理速度和分配效率,减小等待队列长度[9]。

具体地,通过式(1)计算总的任务请求数Q(t),Qn(t)为t时间单元内n类任务的请求数目,Cn(t)为新到达的任务请求数,Fn(t)为已经完成的任务请求数。判断式(2)是否成立(QLmax为等待队列最大长度,Ani(t-1)为t-1时间单元内积压的待处理的n类任务),成立则根据式(3)选取队列中积压时间Tv与其将消耗资源Rallo的乘积Pv最大的任务进行操作;否则选取待分配任务中所需消耗资源Rallo最小的任务进行操作,如公式(1)、(2)、(3):

第二步:使用蚁群优化算法选择合适的资源节点分配任务,优化资源配置,从而避免个别节点不堪重负,而其他节点资源闲置的状况,实现负载均衡。具体过程为:待处理的任务通过访问信息素,寻找信息素量大的资源节点。每次任务寻找到的都是负载较低的节点,该节点会因为获得新的任务而负载上升,信息素下降。而高负载节点由于较少获得任务,先前任务结束负载下降,信息素上升。这样在多次调度后,低负载的节点负载会变高,而高负载节点的负载会变低,实现负载均衡[10]。信息素更新的公式为公式(4):

tij(t=1)为t+1时刻任务从节点i调度到j所经历的路径上的信息素浓度为初始时刻各条路径上的信息素浓度,为参数,其值一般取0.1,为资源节点的负载比率。

为了验证方案的可行性与效果,本文将该方案以Python语言加以实现,并整合到数字校园五层架构的管理中间件层中,作为资源管理的重要组成部分。通过监测数字校园的运行情况,从任务请求积压量、系统达到稳定状态时CPU、内存、硬盘的负载状况,可以看出,该方案同时解决了任务积压和资源负载问题,实现了有效的资源调度。

5 总结

本文在分析开源云计算OpenStack 的功能和架构的基础上,从数字校园的实际需求出发,利用OpenStack 平台,采用分层设计的方法设计了一个可对云资源进行综合管理的数字校园体系架构,并进行了实现。然后,针对影响数字校园运行效果的重要因素——资源调度,提出了一种基于任务调度和负载均衡的方案,该调度方案在保证服务性能和执行效率的基础上,能够均衡服务器的资源负载,使基于OpenStack的数字校园处于相对稳定的状态。文中基于OpenStack的数字校园的设计、实现方法与资源调度方案具有一般意义,但如何结合各个院校数字校园建设的现状和具体需求进行应用,仍需要作进一步的探讨和深入的研究。

[1] 覃正,季成,徐兴锋,等.云计算、物联网背景下服务外包产业的发展政策研究[J].国际贸易,2011(7):62.

[2] 秦润锋,樊勇兵,唐宏,等.开源云计算管理平台技术在电信运营商私有云建设中的应用研究[J].电信科学, 2011(10):25.

[3] 李英壮,汪楠,李先毅.基于OpenStack开发云平台的设计与实现[J].武汉大学学报(理学版),2012(10):58.

[4] Kevin Jackson.OpenStack CloudComputing Cookbook[EB/OL].[2013-01-12].http://www.chinacloud.cn/sh ow.aspx?id=11936&cid=22

[5] 李小宁,李磊,金连文,等.基于OpenStack 构建私有云计算平台[J].电信科学, 2012(9):2.

[6] xCAT[EB/OL].[2012-10-22].http://xcat.source-forge.net.

[7] 高贵升.基于OpenStack 的计算云的研究与实现.[D].成都:成都理工大学,2012-5.

[8] 中职学校信息化建设内涵与建设模式探讨[EB/OL].[2012-05-15].http://www.21cnlunwen.com/gllw /1205/1337087505.html.

[9] MAGULURI S T,SRIKANT R,YING L.Stochastic models of loadbalancing and scheduling in cloud computing clusters [C]// INFO-COM 2012: Proceedings of the 2012 IEEE International Conferenceon Computer Communications.Piscataway: IEEE,2012:702-710.

[10] 文晓棠.云计算环境下基于蚁群粒子群优化算法的资源调度策略研究.[D].南昌:江西师范大学,2013-6.

A Study on Digital Campus Architecture Based on OpenStack

Guo Xin, Zhang Danjue
(Informatization office, Sanda University, Shanghai201209, China)

At present, the extensive use of cloud computing technologies have become an irresistible trend, alongside with the rapid rise of open source cloud computing. Open source cloud computing is attracting more and more users due to its low cost and open source. This paper explains the function and architecture of OpenStack. Based on the current problems and the actual demands of digital campus and followed by utilizing the advanced OpenStack platform, the paper adopted hierarchical design method to achieve the architecture of digital campus that could be used to perform integrated management on cloud resources.It focused on resource scheduling in this framework and proposed a scheme that based on task scheduling and load balancing.The experiment of the scheme verifies that the scheduling strategy can balance server's resource load, so as to make the digital campus based on OpenStack relatively stable.

Open Source Cloud Computing; OpenStack; Digital Campus; System Architecture

TP311

A

1007-757X(2014)10-0049-04

2014.08.24)

上海高等教育学会研究课题 (ZCGJ68-13)

郭 欣(1982-),女,上海杉达学院,信息化办公室,讲师,硕士,研究方向:云计算、计算机应用,上海,201209张丹珏(1979-),女,上海,上海杉达学院,信息化办公室,讲师,硕士,研究方向:计算机应用,上海,201209

猜你喜欢
开源部署架构
基于FPGA的RNN硬件加速架构
一种基于Kubernetes的Web应用部署与配置系统
晋城:安排部署 统防统治
功能架构在电子电气架构开发中的应用和实践
部署
基于云服务的图书馆IT架构
五毛钱能买多少头牛
2019开源杰出贡献奖
WebGIS架构下的地理信息系统构建研究
大家说:开源、人工智能及创新