基于OpenStack的云计算数据中心标准管理系统的设计与开发.doc

上传人:牧羊曲112 文档编号:1627763 上传时间:2022-12-12 格式:DOC 页数:52 大小:1.31MB
返回 下载 相关 举报
基于OpenStack的云计算数据中心标准管理系统的设计与开发.doc_第1页
第1页 / 共52页
基于OpenStack的云计算数据中心标准管理系统的设计与开发.doc_第2页
第2页 / 共52页
基于OpenStack的云计算数据中心标准管理系统的设计与开发.doc_第3页
第3页 / 共52页
基于OpenStack的云计算数据中心标准管理系统的设计与开发.doc_第4页
第4页 / 共52页
基于OpenStack的云计算数据中心标准管理系统的设计与开发.doc_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《基于OpenStack的云计算数据中心标准管理系统的设计与开发.doc》由会员分享,可在线阅读,更多相关《基于OpenStack的云计算数据中心标准管理系统的设计与开发.doc(52页珍藏版)》请在三一办公上搜索。

1、基于OpenStack的云计算数据中心标准管理系统的设计与开发南京邮电大学 毕 业 设 计(论 文)题 目基于OpenStack的云计算数据中心管理系统的设计与开发专 业网络工程学生姓名班级学号指导教师指导单位物联网学院 日期:2015年 1月 19日至 2015年 6月 12日毕业设计(论文)原创性声明本人郑重声明:所提交的毕业设计(论文),是本人在导师指导下,独立进行研究工作所取得的成果。除文中已注明引用的内容外,本毕业设计(论文)不包含任何其他个人或集体已经发表或撰写过的作品成果。对本研究做出过重要贡献的个人和集体,均已在文中以明确方式标明并表示了谢意。 论文作者签名: 日期: 年 月

2、日摘 要云计算(Cloud Computing)是网格计算(Grid Computing)、分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、联机存储技术(Network Storage Technology)、虚拟化(Virtualization)、负载均衡(Load Balance)等一系列传统计算机技术和网络技术发展融合的产物。它旨在通过网络将多个成本低廉的计算实体整合成一个大型计算资源池,并借助SaaS、PaaS、IaaS等服务模式,将强大的计算能力分发到终端用户手中。云计算的核心

3、理念就是通过不断提高“云”端处理能力,减轻用户负担,将一系列的IT能力以服务形式提供给用户,简化用户终端的处理负担,最终使用户成为一个单纯的输入/输出设备,享受“云”提供的强大计算处理及服务能力。OpenStack是一个开源的云计算项目和工具集,并且提供了关于基础设施即服务(IaaS)的解决方案。OpenStack具有建设这样资源池的能力,通过OpenStack的各种组件多种模式的排列组合,可以搭建成各种规模的“云”,这些云可以是私有云、公有云、混合云。本文首先介绍了云计算的背景及其相关技术,并深入了解OpenStack的架构和其各种服务,掌握各种服务实现原理,以及探讨OpenStack如何实

4、现对云计算数据中心的管理,最后动手搭建OpenStack云平台和尝试对功能的扩展。由于OpenStack云计算平台在国内的研究起步较晚,在安装部署过程中会出现若干问题。本文就出现的问题加以汇总并给出解决方法,可以在安装部署OpenStack时提供参考。关键词:云计算;IaaS;OpenStack;管理平台ABSTRACTCloud Computing is the product of a series of traditional computer technology and network technology integration of Grid Computing, Distrib

5、uted Computing, Parallel Computing, Utility Computing, Network Storage Technology, Virtualization, Load Balance and so on. It is designed by the network to integrate multiple low-cost computing entity into a large pool of computing resources, and with SaaS, PaaS, IaaS services model, the computing p

6、ower is distributed to the end users. Cloud computing is the core concept by continuously improving the cloud side processing ability to reduce the burden on the user, a series of IT capabilities as a service to users, simplify the processing burden on the user terminal, and ultimately make the user

7、 a simple input / output equipment. Whats more, people could enjoy powerful computing capabilities Cloud provided.OpenStack is an open source cloud computing projects and tools, and provides information on the infrastructure as a service (IaaS) solutions. OpenStack has the ability to build such a re

8、source pool, through permutations and combinations of the various components of OpenStack multiple modes, can be built into a variety of sizes, cloud, these clouds can be a private cloud, public cloud, hybrid cloud. This paper describes the background of cloud computing and related technologies, and

9、 in-depth understanding of OpenStack architecture and its various services. In order to acknowlodge a variety of services to achieve the principles, and to explore how to achieve the OpenStack cloud computing data center management, we finally have come up with OpenStack Cloud platform and try to ex

10、tend the capabilities. Since the OpenStack cloud computing platform in China started late, there will be a number of issues in the installation and deployment process. This article appeared to be summary of the issues and gives solutions that can provide a reference during the installation deploy Op

11、enStack.Keywords: Cloud Computing; IaasS; OpenStack; Management Platform目 录第一章 绪论11.1 研究背景及意义11.1.1 背景及意义11.1.2 国内外发展现状11.2 研究工作意义31.3 论文组织结构4第二章 IaaS及关键技术相关介绍52.1 Iaas概述52.2 IaaS服务特征及优势52.3 IaaS整体架构52.4 IaaS关键技术介绍72.4.1 虚拟化技术72.4.2 KVM与QEMU72.4.3 数据存储技术82.4.4 资源管理技术92.4.5 能耗管理技术92.5 本章小结10第三章 OpenS

12、tack相关介绍113.1 OpenStack简介113.1.1 OpenStack基础架构113.1.2 OpenStack访问流程123.2 OpenStack认证服务Keystone133.2.1 Keystone介绍133.2.2 Keystone概念133.3 OpenStack计算服务Nova143.3.1 Nova简介143.3.2 Nova架构153.3.3 Nova工作流程163.4 OpenStack网络服务Neutron173.4.1 Neutron介绍173.4.2 Neutron 网络创建过程183.5 本章小结19第四章 OpenStack云管理平台的搭建204.1

13、 单节点安装部署OpenStack204.1.1 实验环境及实验拓扑204.1.2 构建过程204.2 云平台搭建主要过程和问题解决214.2.1 Keystone的安装与问题分析214.2.2 Glance的安装与问题分析224.2.3 Cinder的安装与问题分析234.2.4 Nova和Quantum的安装与问题分析244.2.5 Horizon的安装与问题分析284.3 OpenStack计费系统的研究284.3.1 OpenStack计费系统的设计与实现294.3.2 计费系统的计费机制304.3.3 计费系统的扣费方法304.3.4 计费系统的安全检查304.3.5 计费系统与资源

14、监控系统的交互304.3.6 计费系统的数据处理314.3.7 计费系统功能的设计324.4 本章小结34第五章 OpenStack云平台的测试355.1 对各项服务的测试355.1.1 创建实例355.1.2 查看实例概况355.1.3 动态调整实例大小355.2 对实例可用性的测试365.3 本章小结37结束语38致 谢39参考文献40第一章 绪论1.1 研究背景及意义1.1.1 背景及意义人类社会从蒸汽机进入了工业时代,又从电的时期进入了现代文明,从计算机互联网进入了地球村的时代。那么,云时代的到来会是怎样一番情景?云计算被认为是继个人电脑、互联网之后电子信息技术领域的又一次重大的变革,

15、其实质是一种基于互联网的计算模式,在这样的模式下,计算资源(计算能力、存储能力、交互能力)是动态、可伸缩且虚拟化的,以服务的方式提供。这种新型的计算资源组织、分配和使用模式,有利于合理配置计算资源并提高其利用率,降低成本,促进节能减排,实现了绿色计算,这更切合了我国经济转型的发展战略。OpenStack作为一个开源的云计算平台,吸引了众多一流厂商的加入,这些机构与个人都将OpenStack作为基础设施即服务(IaaS)资源的通用前端。1.1.2 国内外发展现状最近,新浪云计算宣布正式加入全球开源云计算项目OpenStack,将选择OpenStack作为IaaS平台解决方案。作为OpenStac

16、k中国的积极推动者,这在很大程度上将推动OpenStack云开源代码项目的发展。更值得高兴的是,中国企业UnitedStack现已推出了基于OpenStack的云计算服务,这充分说明了OpenStack的存在价值。通过,可以了解到目前人们对一些开源云计算项目的关注趋势。Rackspace以OpenStack为基础的私有云业务每年7亿美元,增长率超过20%。因此,在开源云计算项目领域,OpenStack早已崭露头角,如图 1.1所示,它成为了当今最热门的开源项目之一。Eucalyptus 是最早试图克隆AWS的开源IaaS云平台,整体架构如图1的左半部分所示。Eucalyptus由云控制器(CL

17、C)、Walrus、集群控制器 (CC)、存储控制器(SC)和节点控制器(NC)组成,它们相互协作共同提供所需的云服务。组件间使用支持WS-Security的SOAP消息实现安 全的通信。Eucalyptus对外提供兼容AWS的SOAP和Query接口,不提供其他API。OpenNebula没有采用SOA的设计,没有将计算、存储和网络设计为独立组件,解耦做得还不够。值得注意的是,OpenNebula用 Libvirt所提供的接口远程调用计算节点上的虚拟化控制命令。这种Agentless的设计在系统安装部署阶段会减少很多软件安装配置工作,是一个设计亮点。所有的开源IaaS云平台在分层上做得都比较

18、好;在SOA/组件化/解耦这点上来看,OpenStack和Eucalyptus有优势;在框架和插件设计上,除Eucalyptus较差外,其他平台均有很好的设计OpenStack的开发平台做得最好,CloudStack次 之。综合来看,目前OpenStack的设计是最好的,Eucalyptus和CloudStack次之。相比开源项目的“前辈”,OpenStack是一个更高级且现代化的开源项目,因为它是高度协作的产物。OpenStack的支持者都是世界顶级的供应商,可以看出OpenStack倍受青睐,可以说它是开源界的明星产品。目前,例如VMware、RedHat、Cisco、EMC等各供应商,都

19、表示对其支持。图1.1 OpenStack与其它开源云计算项目的趋势对比相比之下,OpenStack项目从最开始就发展开放社区,其直接结果是,OpenStack里聚集了比CloudStack更多的主流供应商。在大多数情况下,这些厂商开发的组件第一时间提供给OpenStack,之后才为CloudStack提供接口1。OpenStack也有不够完善的地方,如OpenStack相对于CloudStack来说更加复杂,对终端用户的支持不够;在安装部署上不如CloudStack便捷;在界面显示方面也不如CloudStack丰富。Amazon 公司于2006年推出的云计算服务(AWS,Amazon Web

20、 Services)核心产品包括弹性计算云EC2(Elastic Computing Cloud)、简单存储服务S3(Simple Storage Service)、简单队列服务 SQS(Simple Queue Service)、内容推送服务(CloudFront)和简单数据库服务(SimpleDB)等,为企业提供计算和存储服务。Amazon 公司收费的服务项目包括存储空间、带宽、CPU资源以及月租费。其中存储空间、带宽按容量收费,CPU 根据运算时长收费,月租费则与电话月租费类似9。Google 是最大的云计算技术使用者,提供全球知名的互联网搜索引擎服务。Google 搭建了一个称为Goo

21、gle App Engine的云平台,为第三方应用提供大型并行计算服务。更值得一提的是,Google 于2007秋季在全球宣布了云计划,通过与 IBM 开展合作,开始在美国多所大学,包括卡内基美隆大学、麻省理工学院等,推广云计算技术。这项计划希望通过为这些大学提供相关的软硬件设备及技术支援,能降低分布式计算技术在学术研究方面的成本,并且使得学生可以透过网络开展各项以大规模计算为基础的研究计划13。IBM于2007年第四季度推出了“Blue Cloud(蓝云)”云计算平台,提供即买即用的云计算服务3。“蓝云”使用具有自我管理和自我修复的虚拟化云计算软件,使得用户的应用可以访问分布式的大型计算服务

22、器池。2008年8月1日,IBM宣布斥资3.6亿美元在美国北卡罗来纳州建立云计算数据中心。IBM 同时还将在东京建立一所新的机构,帮助用户使用云计算基础设施。另外,IBM亦与17个欧洲组织合作开展 RESERVOIR 云计算项目,实现 “无障碍的资源和服务虚拟化”。 微软于2008年10月推出了Windows Azure操作系统,Azure底层是微软全球基础服务系统,由分布于全球的第四代数据中心组成,通过互联网让 Windows 真正由PC延伸到云计算服务上。目前,微软的云计算系统已经包括超过 220个集装箱式数据中心和多达44万台的服务器。1.2 研究工作意义自从2006年Google首席执

23、行官埃里克施密特在搜索引擎大会上首次提出 “云计算”(Cloud Computing)的概念, 云计算就成为近几年来IT领域一个非常热门的研究方向。它使用户能够通过网络便利、按需地从一个共享的、可配置的资源池中获取计算、存储、网络等资源。 而在云计算的3种部署模式(公有云、私有云、混合云)中,公有云虽然以其低廉的价格、灵活的弹性策略吸引大量的用户。然而,构建一个云计算数据中心,使之主要为企业内部乃至公共市场提供云服务,并且让IT人员能对其数据、安全性和服务质量进行有效的控制,成为倍受大企业青睐的选择。此外,云计算数据中心能够提供更高效、个性化的弹性计算资源分配能力,能够更有效地利用企业内部现有

24、的IT设备资源,打造更符合企业需求的云平台。鉴于上述提到的公有云的数据安全问题,本文的出发点在于如何构建一个适合本地环境的云计算数据中心管理系统;针对实验室或开发环境构建一个云计算平台,使实验室可以针对数据安全、计算资源的按需获取等进行评估和探索。在实际试验中,本文基于 OpenStack 开源云计算平台,实现了在科研实验室环境中搭建云计算管理平台,使得资源能够得到弹性分配,且确保数据安全。希望通过本文,能帮助大家了解云计算和OpenStack,以及如何用OpenStack配置搭建自己的云环境,并通过前端来设置及管理云平台。本文的目的在于搭建OpenStack云管理平台,探索OpenStack

25、的神奇之处,旨在更深层次地了解OpenStack生态圈。1.3 论文组织结构本篇论文共分五章,主要内容概括如下:第一章绪论。简单介绍云计算的研究背景、意义以及论文的组织结构。第二章IaaS及关键技术相关介绍。这一章介绍了IaaS的概述、IaaS服务特征及优势。同时,介绍了IaaS服务器虚拟化,IaaS存储虚拟化、IaaS网络虚拟化这三大虚拟化的实现原理。第三章OpenStack相关介绍。这一章首先介绍了OpenStack的概念架构和访问流程对OpenStack的整体运行原理有一个大致的了解,之后详细介绍了OpenStack的三大服务:认证服务(Keystone)、计算服务(Nova)、网络服务

26、(Neutron)。第四章OpenStack云管理平台的搭建。这部分是具有挑战性的,从基础环境的配置开始,完成之后开始安装各种软件包,每安装一个软件包后都要进行详细的配置文件的修改。另外,还对计费模块进行了初步研究。第五章OpenStack云平台的测试。这章节主要是完成对第五章的所有部署的验证,每一个所需服务是否都已启动,之后是启动一个instance的过程,并对实例的成功启动之后进行网络测试。最后是结束语。第二章 IaaS及关键技术相关介绍2.1 Iaas概述IaaS(Infrastructure as a Service,基础架构即服务)通过互联网提供了数据中心、基础架构硬件和软件资源。I

27、aaS可以提供服务器、操作系统、磁盘存储、数据库和/或信息资源。最高端IaaS的代表产品是亚马逊的AWS(Elastic Compute Cloud),不过IBM、Vmware和惠普以及其他一些传统IT厂商也提供这类的服务2。IaaS通常会按照弹性云的模式引入其他的使用和计价模式,也就是在任何一个特定的时间,都只使用你需要的服务,并且只为之付费。2.2 IaaS服务特征及优势IaaS主要具有以下服务特征及优势:(1)更低的门槛用户可以以最低的成本租用所需的计算机资源,而不需要进行大量的硬件和软件资源的采购。(2)更好的扩展性用户可以根据需要,动态增加或减少服务资源,不用考虑资源来源或者资源是否

28、够用。(3)管理方便资源可以直接通过互联网管理,不需要到资源所在机房现场操作,降低管理成本。(4)使用灵活用户可获得完全独立的服务器,并拥有管理员权限,因此用户可以不受限制的进行任何操作。(5)资费灵活所需资源可以随时开始和停止,用户只需要为自己所使用的资源付费。2.3 IaaS整体架构虚拟化技术主要实现了对底层物理资源的抽象,使其成为一个个可以被灵活生成、调度、管理的基础资源单位8。而要将这些资源进行有效的整合,从而生成一个可以统一管理、灵活分配跳读、动态迁移、计费度量的基础服务设施资源池,并向用户提供自动化基础设施即服务,就需要IaaS管理平台。如图图2.1,这是对资源管理平台的实现。图2

29、.1 IaaS交互模型资源管理平台负责对物理资源和虚拟化资源进行统一的管理和调度,形成统一的资源池,实现IaaS服务的可管、可控,其核心是对每个基础资源单位的生命周期管理能力和对资源的管理调度能力。在上面的模型中,假定了与云交互的四种人员(开发商、开发人员、操作员、用户),还定义了三层架构(表现、逻辑、资源)和两个正交领域(集成和管理)。 表现层,组件与用户交互,接受并显示用户的信息。这一层为非开发人员提供了一个Web 图形界面,为开发人员提供了 API,还存在负载均衡、控制台代理、安全、命名服务。 逻辑层,为云和控制功能提供情报。这层内包括部业务流程(工作流程复杂的任务),调度(确定作业对资

30、源的映射),政策(配额等),镜像注册表(例如镜像的元数据),日志(事件和计量)。 资源层,提供实际的计算,网络和存储资源给客户。提供服务的资源可能是服务器,网络交换机,网络附加存储或其他。 集成功能,大多数服务提供商已经有一个客户的身份和计费系统。任何云架构将需要与这些系统集成。 管理功能,提供一个 API 来管理云并提供监控功能。2.4 IaaS关键技术介绍2.4.1 虚拟化技术虚拟化技术(Virtualization)已经对计算机发展产生了重要的影响,尤其是最近发展非常热门的云计算技术。其实,在计算机领域,虚拟化的思想早已经存在,最早 IBM 在二十世纪六十年代就提出并实现了在一台物理机上

31、运行多个不同的操作系统实例,它颠覆了传统的一台计算机运行一个操作系统实例的计算模式。多个操作系统运行在一个物理机上,共享物理机资源(CPU 资源、内存资源、网络资源、存储资源等)3。随着计算机硬件资源的不断快速发展,现有的很多软件已不能充分的利用计算机硬件的资源存在很多的资源浪费现象。虚拟化技术的出现,提高了物理机或者服务器的硬件资源的利用率,充分地利用了硬件所提供的并行性和高性能,也使系统管理员免去了管理大量物理机的所花费的精力和时间。虚拟化技术的这些特点,使得虚拟化技术成为整个计算机软件技术中最受到重视的技术之一,它在云计算技术中起着至关重要的作用,是云计算技术的基础。 虚拟化就是通过脱耦

32、合把应用软件和在其上的虚拟的操作系统与底层的物理设备分离开来。物理机系统的虚拟化究其根本就是通过某种手段把底层的物理设备和其上的软件运行环境分割的技术。然而虚拟化技术的出现,远远不止于虚拟出虚拟的操作系统,现在已经看到了,内存,网络,CPU,文件,存储等的虚拟化。从一种更高的抽象、一个更广泛的环境中来了解虚拟化技术,它实际上已经成为了一个非常大的概念,可以为用户企业带来很大的便利。虚拟化技术主要实现了对底层物理资源的抽象,使其成为一个个可以被灵活生成、调度、管理的基础资源单位,如图2.2。而要将这些资源进行有效的整合,从而生成一个可以统一管理、灵活分配跳读、动态迁移、计费度量的基础服务设施资源

33、池,并向用户提供自动化基础设施即服务,就需要IaaS管理平台。资源管理平台负责对物理资源和虚拟化资源进行统一的管理和调度,形成统一的资源池,实现IaaS服务的可管、可控,其核心是对每个基础资源单位的生命周期管理能力和对资源的管理调度能力。2.4.2 KVM与QEMUKVM虚拟机是基于Linux内核虚拟化,自Linux2.6.2之后就集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM的虚拟化需要硬件的支持(如Intel VT技术或者AMD V图2.2虚拟化架构技术),是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的para-

34、virtualization,新版本是基于硬件支持的完全虚拟化3。QEMU是一种模拟处理器,现在运用最多的就是将KVM和QEMU结合起来。准确来说,KVM是Linux kernel的一个模块,可以用命令modprobe去加载KVM模块13。加载了该模块后,才能进一步通过工具创建虚拟机。但是仅有KVM模块是不够的。因为用户无法直接控制内核去做事情,还必须有一个运行在用户空间的工具才行。这个用户空间的工具,KVM开发者选择了已经成型的开源虚拟化软件QEMU。说起来QEMU也是一个虚拟化软件。它的特点是可虚拟不同的CPU。比如说在x86的CPU上可虚拟一个power的CPU,并可利用它编译出可运行在

35、power上的CPU,并可利用它编译出可运行在power上的程序。KVM使用了QEMU的一部分,并稍加改造,就成了可控制KVM的用户空间工具了。所以你会看到,官方提供的KVM下载有两大部分(QEMU和KVM)三个文件(KVM模块、QEMU工具以及二者的合集)。也就是说,你可以只升级KVM模块,也可以只升级QEMU工具。这就是KVM和QEMU 的关系,如图2.3。2.4.3 数据存储技术为保证高可用、高可靠和经济性,云计算采用分布式存储的方式来存储数据,采用冗余存储的方式来保证存储数据的可靠性,即为同一份数据存储多个副本。另外,云计算系统需要同时满足大量用户的需求,并行地为大量用户提供服务。图2

36、.3 KVM与QEMU关系因此,云计算的数据存储技术必须具有高吞吐率和高传输率的特点。 云计算的数据存储技术主要有谷歌的非开源的 GFS(Google File System)和Hadoop 开发团队开发的 GFS 的开源实现 HDFS(Hadoop Distributed File System)。大部分 IT 厂商,包括 Yahoo、Intel 的“云”计划采用的都是 HDFS 的数据存储技术。未来的发展将集中在超大规模的数据存储、数据加密和安全性保证、以及继续提高 I/O速率等方面4。2.4.4 资源管理技术在多节点并发执行环境,分布式资源管理系统是保证系统状态正确性的关键技术。系统状态

37、需要在多节点之间同步,关键节点出现故障时需要迁移服务,分布式资源管理技术通过锁机制协调多任务对于资源的使用,从而保证数据操作的一致性。典型的资源管理技术如Google公司的 Chubby文件系统。2.4.5 能耗管理技术随着云计算的快速发展,如今云服务的推出使许多中小企业用户转而向云计算服务提供商订购云计算服务。而这类云服务大多是安装在主机托管服务提供商所拥有的大型数据中心。那么,关于数据中心的能耗问题便成了数据中心管理者最关心的问题。处理的能耗是服务能耗的主要组成部分之一,大型的云计算数据中心有可能拥有数百、上万甚至更多的服务器,这些云平台中数量众多的基础资源构件对于电力的消耗也是非常巨大的

38、,这将直接影响数据中心的运营成本。因此如何在云计算数据中心部署良好的、持续的电源供应系统倍受用户关注。Google的数据中心一般选择在人烟稀少、气候寒冷、水电资源丰富的地区,这些地点的电价、散热成本、场地成本、人力成本等都远低于人口稠密的大都市。我国三大电信运营商也效仿 Google 的做法,选择在哈尔滨等地建设数据中心4。 另外,为满足更多的网络服务需求,降低能耗,减少数字媒体下载量,可采用减少数字垃圾、进行策略性的界面设计、提高使用意识以及避开使用高峰期等措施。2.5 本章小结本章主要是对IaaS和云计算平台实现的关键技术的介绍,其中包括了IaaS的定义、优势及架构,充分说明了IaaS在云

39、平台中的地位与作用。虚拟化技术对于云计算平台来说是最重要的,本章还就对最终要的虚拟化技术展开了介绍,包含了关键的KVM和QEMU。第三章 OpenStack相关介绍3.1 OpenStack简介OpenStack是一套开源的云计算平台,也是一款工具集。它刚问世不久就得到了学术领域的普遍关注,并很快渗透到各个研究领域。OpenStack可以构建自己的IaaS云计算环境,并提供给用户使用。OpenStack部署云环境的优点就是灵活,可以根据自己的需要来搭建基础设施,同时可以自由地扩充集群规模。OpenStack允许客户通过部署虚拟机来创建资源,在节点上通过使用KVM等来对虚拟机进行一系列配置。客户

40、端用户只需要申请自己需要的虚拟资源。3.1.1 OpenStack基础架构OpenStack 通过一系列的组件服务提供了一个基础架构即服务(IaaS)的解决方案5。在较新版本IceHouse中包含了10 个组件:(1)Nova:计算服务是 OpenStack 云中的计算组织控制器,对计算资源、网络、认证和扩展性等进行管理,并通过一个与Amazon Web Services (AWS)EC2 API 兼容的 web servicesAPI来对外提供服务。(2)Swift:对象存储服务提供弹性可伸缩、高可用的分布式对象存储服务,适合存储大规模非结构化数据。(3)Glance:镜像服务提供虚机镜像的

41、注册和分派服务。(4)Cinder:块存储服务为虚机提供可用于持久存储的块存储服务。(5)Neutron:网络服务为其它 OpenStack 组件提供网络连接,通过 API 为终端用户提供自定义网络功能;通过一个插件式架构支持大量网络广商设备及网络技术。(6)Keystone:认证服务为 OpenStack 提供认证和授权服务。(7)Horizon:仪表盘提供基于 Web 的管理控制台,用户可以通过Web 方式管理和操作OpenStack 云。(8)Ceilometer:计量监控服务为OpenStack 云提供计费、基准测试及数据统计等功能。(9)Heat:编排组织服务提供基于模板的编排机制,

42、用户可以通过一个参数化的模板轻松的部署网络、服务器、存储等资源。(10)Trove:数据库服务为关系型和非关系型数据引擎提供可扩展、可靠的云数据库即服务功能。OpenStack的概念架构,如图3.1所示。图3.1 OpenStack概念架构3.1.2 OpenStack访问流程(1)User 通过自己的身份凭证(Credentials)想Keystone服务发起认证,Keystone如果通过认证则给User颁发密钥(Token),之后执行(2)步。(2)User 把密钥(Token)和虚拟机的创建请求发送给Nova服务,Nova通过Keystone服务验证密钥(Token)如果通过认证则执行(

43、3)步。(3)Nova 把密钥(Token)和创建虚拟机所需要的镜像请求发送给Glance服务,Glance通过Keystone服务验证密钥(Token),如果通过Glance向Nova返回镜像执行(4)步。(4)Nova 把密钥(Token)创建虚拟机所需要的网络资源请求发送给Quantum服务,通过Keystone服务验证密钥(Token),如果通过Quantum向Nova返回网络资源执行(5)步。(5)Nova 得到创建虚拟机所需要的资源了,之后向用户(User)返回请求图3.2 OpenStack访问流程成功。3.2 OpenStack认证服务Keystone3.2.1 Keyston

44、e介绍Keystone(OpenStack Identity Service)是OpenStack框架中,负责身份验证、服务规则和服务令牌的功能,它实现了OpenStack的Identity API。Keystone类似一个服务总线,或者说是整个Openstack框架的注册表,其他服务通过keystone来注册其服务的Endpoint(服务访问的URL),任何服务之间相互的调用,需要经过Keystone的身份验证,来获得目标服务的Endpoint来找到目标服务。3.2.2 Keystone概念User即用户,他们代表可以通过keystone进行访问的人或程序6。Users通过认证信息(cred

45、entials,如密码、API Keys等)进行验证,如:住宾馆的人。Tenant即租户,它是各个服务中的一些可以访问的资源集合。例如,在Nova中一个tenant可以是一些机器,在Swift和Glance中一个tenant可以是一些镜像存储,在Neutron中一个tenant可以是一些网络资源。Users默认的总是绑定到某些tenant上,如:宾馆。Role即角色,Roles代表一组用户可以访问的资源权限,例如Nova中的虚拟机、Glance中的镜像。Users可以被添加到任意一个全局的或租户内的角色中。在全局的role中,用户的role权限作用于所有的租户,即可以对所有的租户执行role规

46、定的权限;在租户内的role中,用户仅能在当前租户内执行role规定的权限,如:VIP 等级,VIP越高,享有越高的权限。Service即服务,如Nova、Glance、Cinder。根据前三个概念(User,Tenant和Role)一个服务可以确认当前用户是否具有访问其资源的权限。但是当一个user尝试着访问其租户内的service时,他必须知道这个service是否存在以及如何访问这个service,这里通常使用一些不同的名称表示不同的服务。在上文中谈到的Role,实际上也是可以绑定到某个service的。例如,当swift需要一个管理员权限的访问进行对象创建时,对于相同的role我们并不

47、一定也需要对nova进行管理员权限的访问。为了实现这个目标,我们应该创建两个独立的管理员role,一个绑定到swift,另一个绑定到nova,从而实现对swift进行管理员权限访问不会影响到Nova或其他服务,如:宾馆可以提供的服务类别,比如,饮食类,娱乐类。Endpoint,翻译为“端点”,我们可以理解它是一个服务暴露出来的访问点,如果需要访问一个服务,则必须知道他的endpoint。因此,在keystone中包含一个endpoint模板(endpoint template,在安装keystone的时候我们可以在conf文件夹下看到这个文件),这个模板提供了所有存在的服务endpoints信息。一个endpoint template包含一个URLs列表,列表中的每个URL都对应一个服务实例的访问地址,并且具有public、private和admin这三种权限。public url可以被全局访问,admin url被从常规的访问中分离,如:具体的一种服务,比如吃烧烤,打羽毛球。3.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号