APP下载

OpenStack构架下计算机实验中心云平台的设计*

2014-05-24韦萍萍李激扬冉启彬

中国远程教育 2014年9期
关键词:镜像客户端服务器

□ 孙 隽 韦萍萍 李激扬 冉启彬

OpenStack构架下计算机实验中心云平台的设计*

□ 孙 隽 韦萍萍 李激扬 冉启彬

高校中逐步实现云计算是教育信息化发展的必然趋势。该方案以计算机实验中心(机房)现有设备为基础,基于OpenStack部署了私有云基础平台。在此基础平台上,进一步设计了教学科研服务平台,并根据教研实际情况对客户端和云服务器上的软件进行了合理布局,使教学效果和科研服务能力有了明显提升,使资源得到更有效的利用。同时该方案的实施为学校进一步建设校级云平台提供了实践经验和借鉴。

OpenStack;教学科研;云平台;模块

一、引言

云计算“是一种基于互联网的计算方式”[1],被视为未来新一代信息技术变革的核心,它具有灵活动态分配资源、统一管理、有效降低IT成本等特点,是目前高校信息化建设首选的前沿技术。随着分布式系统的逐渐成熟,开源软件的免费提供,使得高校实验室在资金投入有限的情况下,利用自身技术搭建云平台成为可能。本文即以计算机实验中心(以下简称中心)两个机房约140台机器规模为例,在其现有设备及基础构架的基础上,结合中心教学科研实际,探索机房云平台的构建。

二、基于OpenStack的基础设施云平台构建

云计算按服务性质不同,可分为公有云、私有云和混合云[2]。由于高校的重要数据和研究成果受知识产权保护,而私有云“提供对数据、安全性和服务质量的最有效控制”[3],因此,选择私有云作为平台框架是目前计算机实验中心最符合实际需求的选择。比较著名的用于搭建私有云的平台有Eucalyptus、OpenStack、vCloudDirector和CloudStack,四个主流云平台在其商务评估和功能评估上各有千秋。但鉴于OpenStack是完全开放源码,其社区活跃程度高,响应速度快,可扩展性强,因此,在综合考虑性价比、二次开发的难易程度等多方面因素后,中心选择OpenStack作为私有云的基础平台。

(一)OpenStack介绍

OpenStack是一个由NASA和Rackspace合作研发的云平台管理项目,帮助服务商和企业内部实现云基础架构服务。OpenStack主要由以下五个相对独立的组件构成[4]:

OpenStackCompute(Nova):是一套控制器,用于虚拟机计算或使用群组启动虚拟机实例,包括nova-compute、nova-scheduler、nova-volume、nova-network、nova-api等服务;

OpenStack镜像服务(Glance):是一套虚拟机镜像查找及检索系统,实现虚拟机镜像管理;

OpenStack对象存储(Swift):是一套用于在大规模可扩展系统中通过内置冗余及容错机制,以对象为单位的存储系统;

OpenStackKeystone:用于用户身份服务与资源管理,以及角色信息服务;

OpenStackHorizon:与Django的仪表板接口,是一个图形化管理前端。

(二)部署与安装

计算机实验中心原有独立运行的服务器6台,CPU利用率平均低于5%,资源浪费严重。拟建云平台后,由于预期需要运行多个大量处理能力的虚拟机实例,为实现高可靠性和可用性,也为以后逐步增加的客户端打下基础,特增设9台服务器。参与实验的两个机房有自己专属的局域网段。因此,基于OpenStack开源框架,中心所搭建的私有云平台构架部署如下:

客户端:参与实验的机房局域网段中的任意一台计算机;

控制器:将除nova-compute外的所有no⁃va-services安装在同一台服务器上,将Swift、Glance、Keystone和Horizon分别安装在不同的服务器上。控制器运行消息服务器、数据库和其他的组件来编排云;

计算节点:由10台支持硬件辅助虚拟化技术的多核双网卡服务器组成,将nova-compute安装于其中,主要用于运行虚拟实例,提供计算服务[5]。

在同一局域网内,任何一个客户端均可直接访问云或使用云资源,云的各个组成部分通过交换机完成互联。云平台框架如图1所示。

图1 云平台构架图

OpenStack可以采用脚本安装或手动安装,考虑后期维护等多方面因素,这里采用OpenStack源代码方式进行手动安装,使用的版本是Essex[6]。底层的虚拟化技术采用开源的KVM。由于服务器配置选择双网卡方式,因此,将公网网段绑定在Eth0,内网网段绑定在Eth1,虚拟机网段桥接在内网网络上。在安装过程中,源代码从OpenStack官方代码网站上获取。参照OpenStack官网及一些技术网站提供的资料,按步骤依次将Keystone、Swift、Glance、Nova和Horizon五大组件及附属项一一安装、配置到服务器上,并适当选择一些其他开源软件项目服务如数据库服务(Mysql)、时钟服务(ntp)等进行安装,不同的开源服务对服务器有不同的要求,如Mysql数据库服务要求内存和CPU,Glance镜像服务要求大的内存等等。只有在正确安装的基础之上再通过配置文件的调整才能达到预期的功能效果。

(三)几个监控指标的确定

1.CPU的虚拟上限值

中心基于自己的桌面PC机来评估CPU需求量。考虑到中心大部分用户只在教学时间使用办公桌面,仅少部分科研用户其办公桌面的使用率保持在一个较高水平,而所有这些用户在整个工作环境中是混杂在一起的,根据资深IT架构师MassimoReFerre提供的经验,经预测评估后,将3倍定为CPU核数最大上限的倍数参考。

2.虚拟内存的上限值

OpenStack官方给的参数是1.5倍,也就是说生产虚拟机服务器的计算节点物理机内存的1.5倍是它能够虚拟出的内存的最大数量[7],因此,将1.5倍作为了内存最大上限的倍数参数。

3.磁盘空间

对于磁盘空间而言,它不存在虚拟过载的问题,占用多少,使用多少。

三、计算机实验中心教学科研云平台的设计

中心通过部署OpenStack实现了云基础构架服务即基础设施即服务(Iaas)。但对于多数师生用户而言,并不需要了解平台的物理特性。OpenStack提供了良好的API接口,可以让开发人员通过程序编写,实现Iaas资源的动态管理,这就使得在Iaas基础上设计一个以友好的方式展现用户所需内容,并提供服务的应用支撑平台变得相对容易。例如,编写如下代码(如图2所示),可以执行用户名和密码的身份验证:而展现给用户的界面却可以设计成如下形式(如图3所示)。

图2 部分程序代码截图

图3 中心教学科研云平台门户界面

(一)平台的模块构建

以“为教学科研服务”为宗旨,中心云平台将平台服务分为教学实验服务和科研实验服务两大功能模块,其体系结构如图4所示。

图4 计算机实验中心教学科研云平台体系结构

1.教学实验服务模块

该模块的服务目的是师生的上机实验教学,主要特点是提供以“用”为主的服务。

(1)资源库模块

根据教学实际,汇总国内外最新研究成果、视频、软件等等,在模块内构建丰富的教学资源库,包括:①视频资源区。包含与教学有关的公开课、名人演讲、课件演示等知识类视频;②下载区。软件、学习资料等的下载;③学生实验成果展示区。展示校内外学生优秀实验成果;④最新研究。汇集与学校各专业相关的国内外最新研究资料。

(2)虚拟实验室模块

这是教学实验模块中最重要的子模块。主要分为:①基础教学实验区。即学生为熟练掌握各种基本应用软件而进行的上机实验;②仿真实验区。仿真实验跟专业紧密结合,仿真实验台接近真实实验台,可供学生自由搭建环境,做到参数可调;③在线实验展厅[8]。展示师生实验过程及实验结果;④评价交流区。对于本次实验的环境、设计、过程、结果等,师生之间、生生之间利用同步工具进行在线交流,并进行自我评价、同学评价和教师评价。

其中,①、②的实现是将实验应用程序的整个执行环境导出为镜像,根据教学需要再将不同镜像导入并实例化[9];③、④调用①或②的过程和结果进行展示或评价。

(3)交流模块

学生、教师和专家进入云后,在机房开放的任何时间段内,针对公开的任何实验,都可利用同步或异步交流工具对实验过程、实验结果及各种疑问等进行沟通、交流、评价等等。

(4)平台扩展模块

主要用于管理员制作和上传新的镜像,并对各子模块进行升级、维护及扩建。教学实验模块不允许师生自行上传镜像。

2.科研实验服务模块

该模块的服务目的是师生的科学研究,主要特点是提供以“开发”为主的服务。由于科研包含了计算、实验等一系列活动,所以,平台要为科研人员提供具备实验所需的应用开发实验运行环境,包括:

①高性能计算平台:将硬件系统通过高性能计算管理系统构建为高性能计算平台。用户只需将相应的运算软件安装到平台上运行[10]或直接调用平台已有的运算软件,并为其分配相应的系统资源,即可获得平台提供的服务[11];

②上传下载:将软件和服务定制成镜像,使用时,将所需镜像导入并实例化[12];同时,也提供用户上传自定义镜像的服务,允许用户将兼容的镜像进行上载部署[13];

③服务调用:将实验所需的一些常用数据或应用接口以Web服务的方式提供给用户,用户需要时可以直接调用这些服务[14]。

由于某些科研数据具有一定的保密性,因此,对用户要制定更为严格的身份识别认证和权限限制。

云平台构建好后,管理员根据实验需要为云平台定制虚拟机镜像,使云平台可以为用户提供虚拟化实例服务。师生选择实验类型后,首先提交申请,通过申请并获得授权后方可运用云资源进行实验[15]。管理程序通过虚拟平台的管理接口,启动和配置相应实例,使虚拟机内的软件和服务进入运行状态。在实验过程中,若出现资源不足等情况,可申请增加资源。在实验结束后,由管理员将资源回收[16]。虚拟机申请界面如图5所示。

图5 虚拟机申请界面

(二)客户端本地盘和云服务器上的教研软件布局

云交互对网络的依赖性很强,对于一些老机房,旧的设备及网速将直接制约云平台的使用。因此,把所用软件和应用都放入云服务器,盲目依赖云服务的做法在现阶段是不可行的。

大部分基础实验和部分专业实验,教学软件更新速度慢,使用环境无特殊要求,教学班级范围广,利于机房统筹部署,将这部分教学软件安装到客户端本地操作系统中,不仅能保证教学工作的顺利进行,也减轻了高峰时期云服务器的压力。

科研工作对计算机的需求往往是间断性的,如果实验都必须到指定地点或指定机器去进行,效率将受到影响;若因数据载体感染病毒或其他原因造成实验数据丢失,代价难以估量;科研的严谨性要求采用正版软件,一般价格不菲。云服务接入的多客户端、病毒查杀、镜像功能和高运算功能等很好地解决了这些问题。因此,将科研软件放在云服务器中是提高科研效率的有效途径。

本平台的软件布局如表1所示。

四、平台使用效果分析

(一)平台使用效果调查分析

对已有试验,通过网络对教学用户进行了问卷调查。调查对象为三个大班共197名学生和3位教师;通过面对面方式,与5名科研用户进行了对话交流。在平台响应速度和功能等方面,用户对平台进行了评分。因为教学用户与科研用户的诉求有所不同,因而在部分评分项目的设计上也略有不同(如表2所示)。

表1 客户端和云服务器上的软件布局表

表2 云平台的使用评分调查表

从表2可以看出,平台在响应速度、稳定性、兴趣指数等几个方面,满意度均超过70分;但由于平台还在进一步建设中,在数据安全、教学科研内容提供、功能提供等方面评分偏低,随着后期的完善,此类分数应该能有所上升;而对于界面设计,评分低至54,反应用户对界面设计不是很满意,需要进一步改进。同比三名教师未使用云平台的教学班级,学生在动手能力、学习积极性以及学习效果上有明显的提高;同比科研用户未使用云平台时的科研效率,总体提高45%;而硬件监控数据表明,服务器CPU利用率由原来平均不足5%达到现在超过67%。因此,平台的使用基本达到预期目标。

(二)平台的优点及存在的不足

1.平台的优势

相比传统计算机中心机房,云平台具有以下优势:

(1)整合已有基础设施,实现资源充分共享

中心新旧设施并存,原有的服务器系统运行依赖于独立的物理设备,通过部署安装OpenStack,将物理设备上分散的资源有效地集中起来,统一管理,统一分配,提高了资源利用率。

(2)客户端动态接入,实验地点不受局限

机房内任意一台计算机,均可作为客户端进入云平台。管理员通过云管理程序,对资源进行按需分配。实验不再局限于某几台定点计算机,任何客户机均可申请调用云平台服务进行实验。随着云客户端的增加以及与外网通信的开放,这种优势会更加明显。

(3)实验内容更加丰富,平台拓展灵活方便

传统实验软件的安装,因受单机操作系统及硬件性能影响,安装数量有限。云平台的镜像调用功能及硬件资源的统一管理功能打破了这个局限,使实验内容的提供成倍数增加;由于OpenStack提供多种API接口,基于OpenStack开发的各种语言的软件开发工具包也越来越丰富,无论是采用厂商提供的成熟产品还是自行编写程序,都可以通过相通的API接口进行调用管理[17],模块拓展非常方便。

(4)紧紧围绕“实验”主题,有效提高教研效率

中心是上机实验教学基地,整个模块构建均依托中心教研实际,紧紧围绕“实验”主题。教学实验服务模块根据学校办学特色设立相关实验,不同班级的师生可以“走”出班级,实现多元化的交流;科研实验服务模块提供研发平台。丰富的资源库,便捷的镜像调用模式,及时的病毒查杀及软件更新,强大的计算平台等,都有效地提高了教学和科研效率。

2.平台的不足

平台也存在如下不足及需要加强的方面。

(1)不能准确估计负载的使用情况,可能会造成云计算平台的性能瓶颈[18]。可按需对硬件设备进行扩充,在不影响系统整体运行的情况下,增加内容交换机以实现负载均衡。

(2)需求是随时变化的,在一定程度上存在需求变更和需求膨胀的风险。可采用按需动态加载专题应用的方式,以新的专题来满足未来涌现的需求。

(3)服务器散乱的情况非常普遍,很多虚拟机在运行,但实际上并没使用。清除所有没有使用的服务器、释放占用的磁盘空间。

(4)面临各种恶意攻击,平台安全性有待加强。通过权限控制、数据加密、使用过滤器等技术来加强安全模块,进一步增加平台安全性。

(5)平台性能和功能模块仍需不断完善。

五、结束语

云计算是高校信息化建设的下一个方向,私有云是目前的主流模式。本文在计算机实验中心现有设备及物理构架的基础上,部署了基于OpenStack的私有云基础平台,并进一步构建教学科研服务平台。该平台的建立不仅实现了实验室资源的合理利用,也提高了师生教学实验和研发工作的效率,希望能对高校实验室私有云的构建提供有益的借鉴。

但云平台搭建从不是一个简单的过程,对于一些重点、难点技术,如数据迁移、云安全、文件存储等等,还需在后续研究中继续探索,接下来还将逐步增加参与实验机器数,并开放外网,以实现实例与外网的通信交流,有效延伸和扩展云平台时间和空间的使用,对学校下一步构建校级云平台打下基础。

[1][2][3][4]刘鹏.云计算[M].北京:电子工业出版社,2010.

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

[7]OpenStackCommunity.http://www.openstack.org/2013.

[8]胡晓玲,强桂.基于云计算的教育技术实验平台构建—以3DMAX课程为例[J].实验技术与管理,2012,29(8):88-91.

[9][12][13]《虚拟化与云计算》小组.虚拟化与云计算[M].北京:电子工业出版社,2009.

[10][11]企业计算平台云技术应用需求分析.http://www.chinairn.com/ news/20140320/175738478.html.2014.

[8]JohnRhoton,RistoHaukioja.CloudComputingArchitectedSolutiong DesignHandbook[M].Beijing:Chinamachinepress:,2012.

[14]李淑芝,刘锋,杨书新.基于云仿真的Web服务选择研究[J].计算机应用研究,2013,30(4):1069-1071,1075.

[15][17]马少兵,马自卫.数字图书馆私有云平台的构建研究和应用开发[J].现代图书情报技术,2011,(4):9-14.

[16]罗国玮,兰瑞乐.基于云计算的高校科研实验平台构建研究[J].实验技术与管理,2012,29(4):115-117,131.

[18]相方莉.云计算基础设施中的性能瓶颈的识别和优化[J].计算机系统应用,2013,22(12):168-172.

G40-057

A

1009—458x(2014)09—0078—05

2014-04-30

孙隽,工程师,学士;李激扬;冉启彬。重庆交通大学信息技术中心(400074)。

责任编辑 日 新

贵州省科技计划项目子课题“客户管理系统研究”(黔科合J字[2012]2290号);贵阳市科技计划项目“贵阳市高校工业物联网工程技术研究”(筑科合同[2013101]10-6号);重庆交通大学实验教学改革与研究项目“基于云计算的教育技术实验平台构建”[SYJ201221]。

韦萍萍,副教授,硕士,贵州师范学院数学与计算机科学学院(510018)。

猜你喜欢

镜像客户端服务器
镜像
通信控制服务器(CCS)维护终端的设计与实现
镜像
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
镜像