基于openstack的高校数据中心应用研究
2015-01-24苏培华
苏培华
(西安外事学院 陕西 西安 710077)
伴随着信息化时代的不断推进,高校校园数据量逐年增加,传统数据中心相对独立的软硬件导致了资源的利用率低下,数据中心在规模上的逐渐增大带来了运行成本的不断上升,成为禁锢高校校园数据化发展的最大元凶。新的数据中心管理系统亟待产生,专业管理人员开始针对原有系统的不足研究新的方案,其中利用云计算技术对数据中心进行优化整合成为可选技术方案。近年来,关于云计算的研究成果层出不穷,大多是将物理服务器、存储器虚拟化,并充分利用网络的共享性实现信息在相对独立的虚拟环境中可靠运行[1]。
通过基于互联网的计算方式,云计算可以按需向用户提供共享的软硬件资源和信息。它可以为用户提供3个层次的服务:IAAS(infrastructure-as-a-service)基础设施即服务:物理服务器、存储器等物理设备都由互联网直接提供;PAAS(platform-as-a-service)平台即服务:
用户需要的软件开发平台可以由云计算服务商提供,实际这项服务也属于SAAS的服务范畴;
SAAS(software-as-a-service)软件即服务:用户无需购买软件,通过互联网即可得到服务商提供的软件,实际上也就是一种租用基于web的软件来管理企业经营[2]。
目前,在云技术行业中亚马逊、微软属于行业中的领军者,EC2、Vmware director分别是亚马逊和微软公司研发的比较成熟的云计算管理平台。众所周知,云被分为私有云和公有云两大类,开源云计算管理平台方面,OpenStack、Cloud-Stack、OpenNebula等属于相对成熟且使用范围较为广泛的平台。在2012年对开源云计算状态的调查中,63.2%的用户使用openstack,而且越来越多的用户开始注意到开源云计算,态度也由怀疑变成了信赖,开始着手部署自己的开源云。在这种大趋势之下,IBM、微软、思科等IT届的精英企业纷纷加入openstack的应用,这些都进一步推动了openstack的快速发展[3]。作为一个开源项目,openstack旨在提供IAAS服务,IAAS也被称为Cloud Provider[4],它最大的特点就是具有强大的可扩展性,该特点是源于IAAS平台不是一个整块,而是由承担不同功能的组件组合而成的,最新发行的版本Grizzly[4]共有 7 个组件,包括 Compute、Object Storage、Image Service等。
1 openstack项目介绍
1.1 openstack架构
在Apache许可授权下,美国国家航空航天局NASA和Rackspace合作研制开发了基于自由软件和开放源代码云平台的管理项目,这就是Openstack,研发该项目的初衷就在于打造一个不同于原有云计算平台的、容易部署、容易实现、功能丰富、易于扩展的新的计算平台。经过不断的完善,openstack完全可以取代亚马逊旗下的Amazon Web Service,为用户提供服务。Openstack自研发至今,经历了8个版本的蜕变,在这个演进的过程中,它的系统功能也得到了不断的丰富和完善,为越来越多的用户所认可。
最新版本的openstack由OpenStack Compute、OpenStack Object Storage以及OpenStack Image Service构成,这是一组开源项目,它的系统结构如图 1所示。与其他云计算平台组成相类似,openstack各项目分别完成了控制、存储及镜像功能。其中,openstack compute为云组织控制器,用户通过其可以对整个云进行部署,主要负责实例运行、访问控制及网络管理等;OpenStack Object Storage为云计算用户提供对象存储,它是一个可以扩展的系统,可用来支持多种应用,满足不同用户的不同要求,主要被用来对次级静态数据的存储。因为它良好的可扩展性,被广泛应用于基于云的弹性存储,完成了对数据开发、存储及整合,是一种大家喜闻乐见的新应用;Image Service完成了虚拟机镜像存储、查询及检索,其服务中包含的restful API允许用户通过HTTP请求对VM镜像元数据进行查询,还可以检索实际镜像[5]。
图1 openstack结构Fig.1 Structure of openstack
1.2 openstack的实际实现
openstack作为一个基于云的开源系统,它采用的是纯IAAS模型,也就是纯的基础设施服务提供系统。这就意味着,任何用户在任何时间和地点,都可以通过基于openstack的标准化硬件设施得到提供商的IAAS服务,自己进行云服务的创建和获取。从前面的描述中可以看出,openstack开源项目实际上是由7个核心子项目组成的,也就是:计算管理Nova、块存储 Cinder、门户 Horizon、对象存储 Swift、身份认证Keystone、网络管理Quantum和镜像管理Glance,这些子项目的共同协作即构成了openstack,它们之间的架构模拟如图2所示。
图2 openstack核心架构Fig.2 Openstack core architecture
Nova(计算管理):主要负责计算的实现,由它来实现服务器计算资源的管理及云项目控制服务。与亚马逊的EC2相类似,Nova为用户提供虚拟服务器、虚拟可扩展云硬盘等。而这些服务主要是通过KVM、Xen、VMware Esxi等常用虚拟化技术,将云端的超强计算能力通过虚拟服务器提供给用户。
Cinder(块存储):为Openstack云平台提供块存储服务。除了计算能力,用户另一个看重的就是弹性云硬盘存储能力,cinder正是为满足这一需求而存在的,它为虚拟服务器提供存储服务,实现了对块存储的管理。这一核心子项目出现在Folsom版本之后,之前版本中是由nove-volume实现块存储的。
Horizon(门户):是基于 Openstack API接口开发的 Web呈现,显示了一个可为用户和管理员用来管理 OpenStack服务的用户界面。
Swift(对象存储):负责实现openstack的对象存储,方便用户实现对象文件的存和取。这种方式类似于亚马逊的提供的S3服务,通过简单的key/value方式,用户即可实现对象文件的存取。
Keystone(身份认证):是Identity的具体实现,为用户和服务商提供统一的身份认证服务。
Quantum(网络管理):其主要功能是在各接口设备之间提供网络连接,从而实现了包括网络连接、子网IP管理、L3公网映射、后续负载均衡等虚拟主机的网络资源管理。与Cinder相同,Quantum也是在Folsom版本之后出现的,对应于之前版本中的nova-network。
Glance(镜像管理):被用于实现Image Service,它可提供虚拟机的发现、注册及获取服务[7],提供了虚拟磁盘镜像的目录分类管理以及镜像库存储管理。
从图2可以看出,这些子项目之间都是通过标准的API接口进行服务调用的,而一旦涉及到API调用都离不开Keystone。因此Keystone可以被称之为Openstack身份验证的安全中心,其安全问题直接决定了其他子项目的安全,在使用Openstack时一定要多加注意。
2 openstack实现过程
将Openstack应用于具体项目时,一般按照如下4个步骤进行:
1)构建云平台
①基于openstack建设云基础平台
②构建包含X86 PC服务器、存储及网络的资源池
2)云平台定制开发
①基于openstack云基础平台架构进行定制开发
②完成统一服务门户、运营管理、报表管理等客户定制化需求工作
3)云化试运行
①先对系统WEB接入服务器及非核心数据库进行云化改造
②完成虚拟化改造的系统设备进行IAAS整合
③将原有的系统迁移到云平台
④云化系统运行期间,保持旧有系统不变,直到试运行通过
4)全面推广
①实现系统应用层基础设施的全面云化
②推动各业务域资源池的云建设与整合
按照上述步骤,我们可以将openstack应用于互联网金融、教育、医疗、制造业等诸多领域。其中,将openstack应用于教育行业目前主要集中于3个方面:智慧校园、智慧教育云、在线学院。智慧校园:实现高校信息化的IT咨询、设备集成、软件开发、运维服务的产业链覆盖。智慧教育云:实现国家教育“三通两平台”建设和“智慧教育”建设。在线学院:实现大规模开放式在线课程平台,提供优质资源和先进的数字化教学环境。
这些应用为教师提供高效便捷的教学互动环境;教学资源的共建共享环境;在线的研修和学习环境;与家长进行网络互动的沟通环境。为学生提供丰富、精粹、便利的学习资源,可自主学习与泛在学习,通过区域范围内的师生学习互动,提升自主学习能力。
3 openstack在高校数据中心的实现
Openstack的部署主要有3个核心开源项目:Nova、Swift和Glance。目前高校中普遍通过整合存储系统、服务器和小型机来实现计算中心的开源管理。常见的一种实现方式就是使用EMC NS480来提供存储,服务器则采用思科 UCSB200刀片服务器,SUN6900来充当小型机,通过这样的组合,借助于自动控制、虚拟化、虚拟化存储等技术,用户可以方便地实现数字化校园业务的集成管理,并可以构建相应为之服务的应用服务平台,利用这个平台,用户可以在服务器端轻松实现各应用的运维、管理及升级,方便使用的同时,还极大地减少了日常的工作强度[6]。
现阶段,各高校校园云计算数据中心大多通过web页面方式作为交互接口向用户提供服务访问,其机制如图3所示。在这种机制中,首先针对物理资源虚拟化,各种虚拟服务器、存储器可供提供给用户自由选择,这样的机制实现了物理计算的隐藏封装,对实际物理设备多样性进行了屏蔽,使用者只需要通过使用云所对外提供的逻辑接口,就可以轻松实现服务器虚拟化、存储器虚拟化以及网络虚拟化。用户通过提供商提供的目录服务功能,将自己需要访问的服务以清单形式列出,云服务提供商可通过目录清单提供相应服务,这种方式绝对是一种供给双方相互了解的好途径。众所周知,云服务是根据用户在云端使用资源量来收费的,为了保证付费的公平公正性,监控统计就必不可少,它被用来监控用户申请到的资源运行状况,实现使用节点的统计,为之后的付费提供依据。
结合上述使用,我们可以看出作为高校,现行数据中心模式中对硬件要求日益增大,但无论是资金投入还是后期运维都无法与openstack机制相提并论,这也是高校开始采用开源云,在现有低配置情况下,使用openstack实现远程高强度、高密度计算以及弹性容量存储工作的原因。所以,这种基于openstack的云计算数据中心很好的解决了当前高校内部各部门硬件资源落后,软硬件资源无法共享,各部门数据在格式上、要求上不一致等诸多问题,大大提高了校园信息资源、网络资源的利用率,这绝对有利于高校在信息化高度发展阶段实现其跨越式发展。
图3 高校校园云计算数据中心平台实现机制Fig.3 Realization mechanism of cloud computing data center platform for campus
4 openstack数据中心面临的问题
现阶段,基于openstack的数据中心还未得到广泛普及,不得不说这对openstack既是挑战,更是机遇。我们知道,现阶段,无论是私有云还是开源云,核心技术都是云计算,而恰恰这个核心——云计算技术中还存在部分问题。随着大众对云计算的了解和关注,越来越多的IT人开始涉足云计算,目前,从事云计算服务的提供商众多,但水平却参差不齐,为了自身利益,各个提供商使用的平台不尽相同,这也就造成了平台间相互操作性近乎为零,对用户而言,软件迁移环境相对复杂,迁移难度较大,这就迫切要求云计算软件标准化的提出。标准化问题具体包括了技术标准化及服务标准化,从云平台的规划建设、系统建设、服务监测和质量控制等都需要软件开发商、业务部门、相应用户信息化管理者等的共同参与,共同努力,制定出高标准的系统指定及运维要求。
除了技术上的标准指定之外,大家更关注的是云的安全问题。在享受云计算服务之前,客户必须清楚地了解使用云服务的风险,主动听取专家的建议,尽可能的选择相对可靠的云计算服务商。一般地,专家大都推荐使用规模相对大、商业信誉良好的云计算服务商。因为客户使用云服务实际上是通过减少对数据的控制来节约经济成本,这也就意味着可能需要把企业的信息、客户的信息等敏感商业数据交到了云服务商的手中,这就要求作为信息管理者必须对这种交易是否值得作出判断。
如果真的采用了云服务,那么一定要增强防范意识。计算机正确操作常识可以降低安全性失误,避免将机密资料放在云端,如果真的放了,避免在公用电脑上进行数据操作,填写真实联系资料时也要慎重,密码的设置也应该不免统一密码。在云计算中要随时增强安全意识,清楚的认识云的风险,采取必要的防范措施是必不可少的。数据加密是安全防范的第一步,通过透明加密技术可以帮助企业强制执行安全策略,加密后的数据是以密文的形式存在的。此外,数据备份也是不可少的。为了避免云计算服务受到攻击造成数据丢失或无法恢复,定期备份是一个很好地解决办法。当然,除了提供商和用户,国家也应出台相应政策法规来为云的安全保驾护航。
5 结束语
本文首先对openstack的概念进行简单介绍,并对其系统架构做了简单的分析,构建了适合于高校信息化平台的的虚拟数据中心,从而在时间和空间上扩展了校园网络,这就保障了高校在管理及科研能力的提高,更好的服务于广大师生。当然,目前openstack还面临着一些挑战,它的安全性还有待进一步的确认,但是,将基于openstack的云计算应用于高校校园网络还是很大程度上得到了用户的认可和好评,相信其前景一定是光明的。
[1]黄荣.Openstack在高校数据中心的应用研究[J].赤峰学院学报,2014(6):18-19.HUANG Rong.Application of openstack in university data center[J].Journal of Chifeng University,2014(6):18-19.
[2]黄志成.开源云计算 OpenStack在高校计算机机房中的应用研究[J].计算机与现代化,2013(3):204-206,211.HUANG Zhi-cheng.Application of open source cloud computing openStack in university computer room[J].Computer and Modernization,2013(3):204-206,211.
[3]赵少卡,李立耀,凌晓,等.基于 OpenStack的清华云平台构建与调度方案设计[J].计算机应用,2013,33(12):3335-3338,3349.ZHAO Shao-ka,LI Li-yao,LING Xiao,et al.Design and construction of the tsinghua OpenStack scheduling scheme based on cloud platform[J].Computer application,2013,33(12):3335-3338,3349.
[4]Armbrust M,Fox A,Griffith R,et al.Above the Clouds:A Berkeley View of Cloud Computing[J].Tech.Report,RAD Lab, University of California at Berkeley,2009(2):67-69.
[5]康辰,朱志祥.基于云计算技术的网络攻防实验平台[J].西安邮电大学学报,2013,18(3):87-91.KANG Chen,ZHU Zhi-xiang.Network attack and defense experimental platform based on cloud computing technology[J].Journal of Xi’an University of post and Telecommunications,2013,18(3):87-91.
[6]Imad M.Abbadi,Muntaha Alawneh.A framework for establishing trust in the cloud[J].Computers and Electrical Engineering, Tarrytown, NY:Pergamon Press, Inc,2012,38(5):1073-1087.
[7]肖飞,杨晶,刘黎明 .基于OpenStack的计算机实验室自助服务平台的设计与实现[J].计算机与现代化 ,2013(7):201-203,207.XIAO Fei,YANG Jing,LIU Li-ming.Design and implementation of computer laboratory self service platform based on OpenStack[J].Computer and Modernization,2013(7):201-203,207.
[8]巫莉莉,黄志宏.高校云计算数据中心的构建解析[J].中国教育信息化,2011(10):11-13.WU Li-li,HUANG Zhi-hong.Analysis of cloud computing data center construction in colleges and universities[J].China Education Informationization,2011(10):11-13.