APP下载

基于OpenStack的高校云数据中心研究与实现

2016-09-15宋凌怡

赤峰学院学报·自然科学版 2016年15期
关键词:开源虚拟化数据中心

宋凌怡

(四川民族学院 计算机科学系,四川 康定 626001)

基于OpenStack的高校云数据中心研究与实现

宋凌怡

(四川民族学院计算机科学系,四川康定626001)

随着高校信息化建设的不断深入,应用系统越来越多,导致数据中心规模不断扩大,问题越来越多,传统数据中心已经不能适应高校信息化的发展.针对传统数据中心在建设和管理中暴露出的问题,在分析当前主流云计算平台的基础上,提出了采用开源云计算平台OpenStack构建云数据中心,并给出了部署方案.

OpenStack;开源;云计算;数据中心

近年来,各高校在教育现代化和信息化方面发展迅速,取得了巨大成绩,基本都建成了主干带宽为千兆或万兆,百兆或千兆到桌面的校园网络环境.建立了一批适应科研、教学、管理等需求的各类信息化应用,成为了学校正常运转必须可少的技术手段.然而,随着应用的不断增多,高校数据中心的规模和运维成本不断增加,早期在数据中心的规划、设计和建设中不够合理和全面所带来的利用率低、能耗高、管理复杂、安全性差等问题日益突现,成为了高校信息发展的瓶颈.针对高校数据中心建设和运维中出现的这些问题,技术人员尝试了许多方法来进行解决,云计算的出现为解决这些问题提供了新的技术手段.通过云计算可以对数据中心中的计算、网络和存储等各种资源进行整合和虚拟化,让每个应用系统能够在独立的虚拟环境中运行,保证了数据中心的可靠性[1].

云计算(Cloud Computing)是分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)、热备份冗余(High Available)等传统计算机和网络技术发展融合的产物[2].他将服务器、网络、存储、应用软件等软硬件资源集中在一起进行共享,按需提供给计算机、其他设备或终端用户.云计算可以为用户提供以下3个层次的服务[3],其体系结构如图1所示:

(1)基础设施即服务(Infrastructure as a Service,IaaS).用户通过互联网可以获得服务器、存储设备等计算机基础硬件的服务.

(2)平台即服务(Platform as a Service,PaaS). PaaS作为SaaS的一种应用,将软件开发平台作为一种服务以SaaS的模式提供给用户使用.它的出现加快了SaaS的发展,特别是SaaS应用的开发速度.

(3)软件即服务(Software as a Service,SaaS).用户不需要购买软件,而是通过互联网租用服务商提供的基于Web的软件来管理企业经营活动的一种软件提供模式.

图1 云计算服务体系结构

从云计算的服务体系结构中可以看出,对于数据中心而言实现的是IaaS,其系统架构如图2所示.

目前,构建IaaS有商业软件和开源软件两种方式.商业软件主要有VMware 的vSphere、微软的Hyper-V Server、Citrix 的Xen Server,其特点是性能稳定、功能强大、操作简单、服务体系完备,但价格较高,完全依赖于软件出品公司.开源软件相对于商业软件来说,无需购买,代码开源能够针对具体实际进行灵活配置,甚至对代码进行修改.其劣势在于没有完备的服务体系,对使用者的技术水平要求较高,但由于开源软件拥有众多的使用者,特别是像微软、谷歌、IBM、思科、HP、Dell等厂商加入到了开源云平台的行列,服务不完备、硬件支持不好的劣势得到了弥补.

图2 I aa S数据中心架构图

本文针对高校数据中心在建设和管理方面存在的问题,以建设满足科研、教学、管理需求的数据中心为目标,采用开源云计算平台中应用最为广泛,支持最好的OpenStack Kilo版构建一个可对资源进行共享和弹性分配、能够快速扩展的云数据中心.

1 开源云平台

在全球范围内,已经有多个开源云平台,其中以下4种开源系统是使用最广泛的主流云计算平台[4]:

1.1OpenStack

OpenStack 最初由NASA(National Aeronautics and Space Administration,美国国家航空航天局)和Rackspace公司合作开发并发起的开源云计算平台管理项目,整合了Rackspace 的Cloud Files Platform和NASA 的Nebula Platform技术,其目标是提供一个免费、资源丰富、统一标准、易于实施和扩展的云计算平台.2010 年7 月以Apache 2.0 许可证授权开源,源代码来源于NASA 的Nebula 云平台和Rackspace的分布式云存储项目. 目前该项目已经有包括Rackspace、RedHat、AT&T、Nebula、HP、Canonical、IBM在内的400 个成员.

1.2Eucalyptus

Eucalyptus是由加州大学圣芭芭拉分校计算机科学系一个研究项目发展起来的,商业化后由Eucalyptus系统公司运营,在2014年9月被HP公司收购.不过,Eucalyptus仍然作为开源项目进行开发. Eucalyptus作为AmazonEC2服务的开源实现,由云、集群、节点、存储控制器和Walrus组成,并提供了与Amazon云平台E C2和S3接口.Eucalyptus除H P公司外,还得到了Amazon公司和Dell公司的支持.

1.3CloudStack

CloudStack最初由VMOps公司(2010年改名为Cloud.com公司)开发,他分为通过GPLv3协议授权的社区(开源)版和商业版.2011年Citrix System公司收购Cloud.com公司后将代码全部开放,并在2012年提供给了Apache基金会,随后在2013年3月成为了Apache正式开源项目.Cloud-Stack采用插件的形式来实现对不同虚拟化技术的支持,是一个高可用、高可扩展、虚拟机能够方便进行大规模部署和管理的云平台,目前已有GoDaddy等多个应用.

1.4OpenNebula

OpenNebula是欧盟云计算项目RESERVOIR中一个子项目,目前已经是VEEM(Virtual Execute Environment Manager,虚拟执行环境管理器)的核心组件.他由欧洲研究学会发起,专为基于L inu x的虚拟机而设计,目的是为了解决虚拟化管理问题.由于OpenNebula重点在用户驱动,导致支持的公司较少.

2 OpenStack架构

图3 OpenStack架构

OpenStack由4个核心服务组件和3个公共服务组件组成[5].分别是:用于配置和管理计算资源的Nova 计算服务(Compute as a Service)组件;用于管理网络的Neutron 网络服务(Networking as a Service)组件;用于自动在多个节点之间复制数据的Swift 对象存储服务(Object Storage as a Service)组件;用于创建计算实例的Cinder 块存储服务(Block Storage as a Service)组件;用于管理虚拟机镜像的Glance 镜像服务(Image as a Service)组件;用于身份认证的Keystone认证服务(Identity as a Service) 组件;用于提供用户图形界面的Horizon 仪表盘服务(Dashboard as a Service)组件,其架构如图3所示.

3 部署OpenStack

3.1部署环境

根据高校数据中心的特点和OpenStack 的架构,这里使用9 台服务器安装Keystone 组件、Glance组件、Nova 组件、Neutron 组件、Cinder 组件、Horizon 组件,分别作为控制节点、网络节点、计算节点和存储节点.为保证整个系统的可靠性,将这些组件安装在多台服务器上,并启用HA(High Available高可用集群).操作系统使用Ubuntu,数据库使用MySQL.

3.2安装部署

3.2.1部署基础组件

OpenStack需要使用数据库存储运行的状态和信息,使用消息组件将消息在各个服务内进行传输,所以在安装其它组件前必须安装数据库和消息组件.

在部署数据库时,我们安装多个MySQL服务端,通过NFS方式使用存储在存储池中的同一个数据库文件,并启用H eartbeat服务实现HA.

由于OpenStack使用AMQP(Advanced Message Queuing Protocol,高级消息队列协议)作为消息传递的技术,所以OpenStack可以使用ZeroMQ、RabbitMQ、Qpid等支持AMQP的软件.因为Rabbit-MQ是第一个被OpenStack使用的消息传递软件,这里使用它作用为各组件的消息传递软件,同样也采用HA方式部署.

3.2.2部署Keystone组件

在部署Keystone组件时按照以下步骤进行部署:第一步:安装PIP工具、MySQL客户端等必要的支持组件;第二步:修改“/etc/keystone/”下的配置文件;第三步,安装服务;第四步,创建Keystone数据库,并建立表结构;第五步,创建Keystone的管理员用户;第六步,定义Keystone使用的APIEndpoints 和Services.

3.2.3部署Glance组件

部署 Glance组件主要是对 glance-api和glance-registry两个服务的安装和配置,安装和配置过程相对简单,需要注意的是需要在Keystone中创建Glance的用户、服务和Endpoint.

3.2.4部署Neutron组件

Neutron负责OpenStack的网络管理功能,由于Neutron中的网络功能的实际上是以插件的形式通过系统底层来实现的,所在,在每个节点上都需要安装Neutron,这样才能实现完全的网络管理功能.

3.2.5部署Nova组件

Nova组件在部署前还是要先安装必须的第三方组件,特别是由于Nova组件本身并不能实现虚拟化,必须安装其支持的K VM、Xen等虚拟化软件.在安装完支持组件后,应该按照以下步骤进行安装:第一步,安装Nova组件包;第二步,候改“/etc/nova/nova.conf”配置文件;第三步,创建并初始化Nova数据库;第四步,在Keystone中创建Nova用户和Endpoint,并配置虚拟机的用户名和密码;第六步,为虚拟机设置可供分配的IP地址池.

3.2.6部署Cinder组件

Cinder组件有三个服务:cinder-volume、cinder-api、cinder-sche duler,需要在控制节点上安装负责接收其他命令和组件对cinder-volume请求的cinder-api和Cinder调度程序cinder-scheduler.

3.2.7部署Horizon组件

Horizon 作为OpenStack 的Dashboard,他通过WEB 页面进行访问,可以让用户通过图形界面使用OpenStack. 其安装比较简单,只需要通过命令“#apt-get install -y openstack-dashboard memcached”即可完成部署.

4 结语

云计算技术的出现,为解决传统数据中心存在的各种问题提供了新的技术手段,而开源软件的使用保证了在实现云数据中心的同时能够大大降低建设成本.本文首先对云计算技术的进行了简要介绍,然后在对主流开源云平台软件进行分析的基础上,采用OpenStack构建了基于云计算技术的数据中心,提升了数据中心的可靠性和可用性,使数据中心更好地为高校信息化建设服务.

〔1〕黄荣.OpenStack在高校数据中心的应用研究[J].赤峰学院学报(自然科学版),2014(6):18-19.

〔2〕百度百科.云计算[EB/OL].http://baike.baidu. com/view/1316082.htm.2016-06-14.

〔3〕孙涛.基于开源软件的高校云计算试验环境部署[J].湖北科技学院学报,2015(6):143-145.

〔4〕姜毅,王伟军,曹丽,刘凯,陈桂强.基于开源软件的私有云计算平台构建 [J].电信科学,2013(1):68-75.

〔5〕黄凯,毛伟杰,顾骏杰.OpenStack实战指南[M].北京:机械工业出版社,2014.37-54.

T P308

A

1673-260X(2016)08-0033-03

2016-04-24

四川省教育厅自然科学一般项目(15ZB0329)

猜你喜欢

开源虚拟化数据中心
酒泉云计算大数据中心
浅析数据中心空调节能发展趋势
关于建立“格萨尔文献数据中心”的初步构想
五毛钱能买多少头牛
2019开源杰出贡献奖
基于OpenStack虚拟化网络管理平台的设计与实现
对基于Docker的虚拟化技术的几点探讨
H3C CAS 云计算管理平台上虚拟化安全防护的实现
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0