Computer Science and Application
Vol.07 No.04(2017), Article ID:20260,8 pages
10.12677/CSA.2017.74041

Architecture Design of Private Cloud Computing Platform Based on OpenStack

Cheng Guo1, Haojun Zhang1, Shougang Yuan2, Ruyi Guo2, Xiaotao Ju1

1China Xidian Group Corporation, Xi’an Shaanxi

2School of Electronic & Information Engineering, Xi’an Jiaotong University, Xi’an Shaanxi

Received: Apr. 7th, 2017; accepted: Apr. 22nd, 2017; published: Apr. 27th, 2017

ABSTRACT

In this paper, firstly we design an Architecture Design of Private Cloud Computing Platform based on OpenStack, then a prototype system is installed in the actual application environment based on the architecture. Finally using the benchmark tool Rally of OpenStack community, we simulate the actual load environment and test the platform synthetically. The result shows that the cloud computing platform still performs well in high load environment.

Keywords:Private Cloud, OpenStack, Performance Evaluation, Rally

基于OpenStack的企业私有云架构设计

郭诚1,张豪俊1,袁守刚2,郭如意2,琚晓涛1

1中国西电集团公司,陕西 西安

2西安交通大学电子与信息工程学院,陕西 西安

收稿日期:2017年4月7日;录用日期:2017年4月22日;发布日期:2017年4月27日

摘 要

本文基于开源云平台框架OpenStack设计一个企业私有云平台的架构,根据该架构在实际应用环境中搭建原型系统,并利用OpenStack社区的基准测试工具Rally,模拟真实云环境中的实际负载场景对该平台进行全面测试。结果表明:在高压环境下,基于该架构的企业私有云平台在高负载环境中仍表现出优异性能。

关键词 :私有云,OpenStack,性能评估,Rally

Copyright © 2017 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

1. 引言

近年来,云计算技术不断发展,所谓云计算是一种按使用量付费的模式,可以提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。对于应用程序开发人员和IT运营商来说,云计算可以开发、部署、运营更容易扩展的、极少失效的应用程序,无须关心底层基础结构或所处位置。随着云计算技术的不断发展与成熟,各种云计算管理平台应运而生,目前较为著名的产品有Eucalyptus、OpenStack、CloudStack以及OpenNebula等 [1] 。

按照计算提供者与使用者的所属关系为划分标准,将云计算分为三类,即公有云、私有云和混合云。本文主要讨论的私有云是指某个企业独立构建和使用的云环境。不同企业的需求不同,其部署的云平台的架构也不同。私有云部署模式赋予企业对于云资源使用情况极高水平的控制能力,可提供对数据、安全性和服务质量的充分保证,因而近年来得到飞速发展,大量企业开始部署自己的IaaS开源私有云平台。私有云是为一个客户单独使用而构建的,云基础设施特定为某个组织运行服务,其可部署在企业数据中心的防火墙内,也可以将它们部署在一个安全的主机托管场所,私有云的核心属性是专有资源 [2] [3] 。

本文详细分析了开源云平台框架OpenStack,设计了一个私有云方案的整体架构,并在实际应用环境中搭建原型系统,借助于OpenStack社区的测试工具Rally,规划了详细的测试步骤,对该平台进行性能测试与评估,证明了该方案的可行性。

2. 相关主要技术工具

IaaS开源私有云平台包括加州大学建立的开源项目Eucalyptus,Rackspace和美国国家航天局共同开发的OpenStack,新加入到Apache基金会中的CloudStack,还有一个是一个虚拟化企业数据中心和云基础设施建设和管理的行业开源解决方案,具有开放性、模块化和可扩展的架构OpenNebula。这四种典型的开源IaaS云平台的特点对比如表1所示。

通过以上比对,本设计中最后选择OpenStack作为云计算开发平台。

2.1. OpenStack

OpenStack是由NASA和Rackspace公司共同开发支持的云计算平台,是一个自由开发的源代码的软件项目,为任何一个组织提供可靠的云计算服务,大幅提高数据中心的运营效率。

OpenStack经过多年发展,现在主要包含7个核心项目,包括计算服务Nova、对象存储服务Swift、块存储服务Cinder、网络服务Neutron、界面展示Dashboard、身份认证服务Keystone以及镜像管理模块Glance [4] 。

Table 1. The comparison of main IaaS platform

表1. IaaS典型开源云平台对比

其中,计算服务Nova提供CPU计算资源,是NASA 开发的虚拟服务器部署和业务计算模块,负责虚拟机的调度与管理;对象存储服务Swift提供对象存储服务,是一个可扩展并且提供了冗余的存储系统;块存储服务Cinder提供块存储服务,为云环境中的计算实际提供块设备的创建、添加和卸载;网络服务Neutron负责云计算环境中的虚拟网络功能,可以管理网络地址、虚拟路由器;界面展示Dashboard是OpenStack的图形化接口,用户通过Dashboard可以在浏览器上登陆私有云平台,查看管理资料的各种资源;身份认证服务Keystone为系统提供统一的授权和身份验证服务,管理员可以添加用户、角色等;镜像管理模块Glance提供镜像服务,包括磁盘和服务器虚拟镜像的查询、注册和传输的功能。

图1所示,为OpenStack的整体架构图,箭头表示各模块之间的依赖关系。例如一个创建虚拟机操作,需要用户登陆Dashboard,通过Keystone的认证后,用户可以操作Nova服务发布创建虚拟机命令,Nova模块调用从镜像管理模块Glance中获得存储于对象存储服务器上的镜像文件,从而实现虚拟机的创建。

2.2. Rally

Rally是OpenStack社区开发的基准测试工具,用于对OpenStack进行性能测试。Rally是通过插件的形式在实际部署的OpenStack云平台中运行,通过用户自定义的参数,来模拟真实云环境中的负载场景 [5] 。其架构如图2所示。

其主要包含以下四个组件:

1) Server Providers用来提供虚拟服务器并可通过ssh访问这些服务器;

2) Deploy Engines在Server Providers提供的虚拟服务器上部署OpenStack云平台;

3) Verification在部署的云平台上运行Tempest,收集Tempest运行结果并显示,而Tempest 是一个旨在为云计算平台OpenStack提供集成测试的开源项目。它是基于unittest2和nose建立的灵活且易于扩展及维护的自动化测试框架,使得 OpenStack 相关测试效率得到大幅度提升;

4) Benchmark engine允许我们通过具体参数来模拟真实负载场景,并在部署的OpenStack云平台上运行该场景。

Rally提供两种部署方式,一种以服务的形式(as-a-service)运行,该方式通过一系列的守护进程来运

Figure 1. OpenStack architectural diagram

图1. OpenStack架构

Figure 2. Rally architectural diagram

图2. Rally架构

行Rally工具;另一种以应用形式(as-a-app)运行,这种方式不需要守护进程,而是通过命令行界面(CLI)的形式运行。

3. 私有云平台系统架构

本文立足于企业现有软硬件资源,经过调研发现,部分企业基于业务的信息系统各自为政,相对比较独立,由此产生的大量数据信息也比较分散,IT资源异构性强,不同设备的计算能力差异大,增加了维护成本,严重阻碍了集团业务的发展,因此需要建立一个具有资源共享能力的云计算平台 [6] 。

通过充分论证,基于OpenStack开源框架设计私有云平台方案,实现资源的虚拟化,最终部署企业业务应用并支持企业业务发展。云平台的规划和部署,需要进行OpenStack技术与抽象的部署模型的映射,然后对应到具体的物理设施中去。本文设计的电力设备远程运维私有云平台系统架构如图3所示。

平台最底层是基础设施层,包括服务器、网络、储存等物理资源,利用虚拟化软件(KVM/XEN)实现资源抽象,形成资源池。中间为OpenStack管理平台,通过部署OpenStack的计算服务、认证服务、网络服务等相关组件用户可以方便的管理虚拟资源。最上层为应用层,可以部署企业业务应用软件。后台管理可以部署操作和监控应用,负责对整个平台进行管理和控制,实现对服务器的统一管理。

本文搭建的私有云平台基于OpenStack的开源框架,包括控制节点、存储节点以及计算节点。控制节点部署了Nova、Glance、Swift、Cinder、keystone及Horizon 等组件;计算节点主要用于运行虚拟化实例,提供计算服务。平台的部署基于实验环境,采用三台浪潮通用服务器和一台存储服务器搭建原型系统,各节点的配置情况如表2所示。

其中,一台节点作为控制节点controller,一台节点作为计算节点compute,一台作为block块存储节点。部署过程中,每个节点使用两块网卡,eth0用作Openstack内部管理网络,eth1则可访问外部网络。云计算平台的网络主要分为两类:管理网络与外部网络。这样有效的隔离不同功能的网络,增强系统的安全性,当某些网络出现故障时不影响其他网络。管理网络包括宿主物理主机、镜像管理、存储管理、网络管理、虚拟机管理控制器等。从安全性角度来说,管理网与数据网(虚拟网络)的隔离是非常有必要的,确保系统各部分良好运行,隔离故障。外部网络指的是管理节点可以连接外网,实现外部网络访问。

在部署私有云平台过程中,首先需要配置操作系统以及网络环境,选用Ubuntu或者CentOS。其次部署各个节点,控制节点部署Nova、Glance、Neutron、Cinder、keystone及Horizon等组件;计算节点部署Nova以及Neutron模块;存储节点上部署Cinder模块。最后在平台上部署企业相关应用。

4. 云平台架构测试

测试与验证是及时发现云计算平台安全隐患与缺陷的有效手段之一,为证明本文涉及的电力设备远程运维私有云平台的设计合理性,本文基于OpenStack社区的基准测试工具Rally设计了详细的负载参数,对原型系统的性能进行评估。Rally的benchmark工具主要是模拟真实云环境中的平台负载,并将其应用到被测试的云平台,收集运行结果并以易于用户理解的方式呈现结果 [7] 。

Figure 3. Enterprise private cloud platform system architecture

图3. 企业私有云平台系统架构

Table 2. Prototype system hardware configuration

表2. 原型系统硬件配置

Rally提供两种方式模拟真实云环境负载,一种是通过创建临时用户进行,另一种通过已有用户进行模拟。相比于创建临时用户的方式,通过已有用户进行模拟可以在不同用户组中进行,一旦发生错误,不会影响其他组的用户,这种方式更安全。

通过云平台中已存在的用户向Rally注册,并通过脚本设置负载参数,用于测试场景。其具体内容如下:

在单一场景测试中,本文进行nova实例测试,通过指定OpenStack用户启动虚拟机并列出虚拟机,并将这两个操作迭代200次,其结果如图4所示,由图可见随着迭代次数的增加,用户创建的虚拟机越来越多,但系统认可正常运行,在高压场景下并未崩溃。

图5所示,在复杂场景测试中,本文设置的复杂场景主要包括以下几个操作:启动虚拟机、虚拟机快照、删除虚拟机、利用快照启动虚拟机、删除虚拟机、删除虚拟机快照;并将该系列操作迭代100次,系统仍可正常运行。

5. 结束语

本文立足于企业的应用需求,详细分析了云计算、私有云有关理论基础,提出了一种基于开源框

Figure 4. Nova experiment result

图4. Nova实例测试

Figure 5. The complex scenes experiment result

图5. 复杂场景测试

架OpenStack构建私有云计算平台的可行性方案,依据该方案搭建了原型系统,并基于OpenStack社区的基准测试工具Rally设计了详细的测试程序,对原型系统的性能进行评估,证明了该方案的合理性和可应用型,对于企业私有云平台的建设和性能评估具有重大意义。

文章引用

郭 诚,张豪俊,袁守刚,郭如意,琚晓涛. 基于OpenStack的企业私有云架构设计
Architecture Design of Private Cloud Computing Platform Based on OpenStack[J]. 计算机科学与应用, 2017, 07(04): 336-343. http://dx.doi.org/10.12677/CSA.2017.74041

参考文献 (References)

  1. 1. 中国电子技术标准化研究院. 云计算标准化白皮书[M]. 北京市: 中国电子技术标准化研究院, 2014.

  2. 2. 李乔, 郑啸. 云计算研究现状综述[J]. 计算机科学, 2011, 38(4): 32-37.

  3. 3. 李志军, 孔朋朋, 雷振伍. 基于OpenStack的私有云平台设计[J]. 微型机与应用, 2016, 35(9): 24-26.

  4. 4. OpenStack社区. http://docs.OpenStack.org/#

  5. 5. Rally. https://wiki.OpenStack.org/wiki/Rally#Architecture

  6. 6. 赵少卡, 李立耀, 凌晓, 等. 基于OpenStack的清华云平台构建与调度方案设计[J]. 计算机应用, 2013, 33(12): 3335-3338.

  7. 7. 林闯, 苏文博, 孟坤, 等. 云计算安全: 架构, 机制与模型评价[J]. 计算机学报, 2013, 36(9): 1765-1784.

期刊菜单