基于OpenStack的IaaS云管理平台的设计与实现毕业设计论文(47页).docx

上传人:1595****071 文档编号:37160715 上传时间:2022-08-30 格式:DOCX 页数:46 大小:659.67KB
返回 下载 相关 举报
基于OpenStack的IaaS云管理平台的设计与实现毕业设计论文(47页).docx_第1页
第1页 / 共46页
基于OpenStack的IaaS云管理平台的设计与实现毕业设计论文(47页).docx_第2页
第2页 / 共46页
点击查看更多>>
资源描述

《基于OpenStack的IaaS云管理平台的设计与实现毕业设计论文(47页).docx》由会员分享,可在线阅读,更多相关《基于OpenStack的IaaS云管理平台的设计与实现毕业设计论文(47页).docx(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-基于OpenStack的IaaS云管理平台的设计与实现毕业设计论文-第 40 页 编 号: 审定成绩: 重庆邮电大学毕业设计(论文)设计(论文)题目:基于OpenStack的IaaS云管理平台的设计与实现学 院 名 称 :经济管理学院学 生 姓 名 :蒋鹏专 业 :信息管理与信息系统班 级 :0311003学 号 :2010211547指 导 教 师 :刘进答辩组 负责人 :刘进填表时间: 年 月重庆邮电大学教务处制毕业论文诚信声明本人郑重声明:所呈交的毕业论文是本人在指导老师的指导下,独立研究、写作的成果。论文由本人独立完成,除文中已经明确注明引用的内容外,本论文不含任何其他个人或集体已经

2、发表或撰写过的作品成果。 毕业论文作者签名: 年 月 日摘 要随着计算科学和商业计算的发展,使得软件模型和架构越来越快地发生变化,同时促进网格计算、并行计算、分布式计算迅速发展成为云计算。云计算主要包括基础设施即服务(IaaS),平台即服务(PaaS),软件即服务(SaaS),并通过这些技术将计算资源统一管理和调度。作为一种新的计算模型,云计算凭借其低成本、高效率得到了快速发展,也促进了近几年开源云计算架构的不断发展和完善。 OpenStack 是一个开放源的云计算项目和工具集,并且提供了关于基础设施即服务(IaaS)的解决方案。OpenStack 不仅可以快速部署全虚拟化环境,而且可以通过此

3、环境来建立多个互联的虚拟服务器,并能够使用户快速部署应用在虚拟机上。本文旨在深入了解OpenStack的架构和其各种服务,并对各种服务深入了解,掌握各种服务的实现原理,最后亲自动手的搭建OpenStack云平台,掌握其安装的过程,并且可以对实际的部署予以指导。【关键词】 云计算 OpenStack 云平台 IaasABSTRACTWith the development of computing scientific and commercial computing software model and architecture increasingly rapid change, while

4、 promoting grid computing, parallel computing,distributed computing has rapidly developed into cloud computing. Cloud computing, including Infrastructure as a Service (IaaS), Platform as a Service (PaaS),and Software as a Service (SaaS), provide unified management and scheduling through these techno

5、logies. As a new computing model, cloud computing has been rapidly development by virtue of its low cost, high efficiency, but also to promote the continuous development and improvement of open source cloud computing infrastructure in recent years. OpenStack is an open source cloud computing project

6、s and tool set, and Infrastructure as a Service (IaaS) solution.The OpenStack not only can quickly deploy virtualization environment, and through this environment to create multiple interconnected virtual server, and enables users to quickly deploy applications on a virtual machine. The purpose of t

7、his paper is to a deep understanding of the architecture of it and its various services, and the various service understanding, to master the principle of various services and the final hands-on building it cloud platform, grasp its installation process, and it can give guidance for actual deploymen

8、t.【Key words】 cloud computing OpenStack cloud platform Iaas目 录第一章 绪论1第一节 论文研究背景及意义1第二节 国内外研究现状2第三节 论文组织结构3第二章 Iaas相关介绍4第一节 IaaS概述4第二节 IaaS服务特征及优势4第三节 IaaS整体架构5第四节 本章小结6第三章 关键技术介绍7第一节 IaaS服务器虚拟化7第二节 IaaS存储虚拟化8第三节 IaaS网络虚拟化8第四节 本章小结9第四章 OpenStack相关介绍11第一节OpenStack 介绍11一、OpenStack概念架构11二、Openstack访问流程1

9、2第二节 Openstack认证服务-Keystone13一、Keystone介绍13二、Keystone概念13第三节 Opestack计算服务-nova14一、Nova简介14二、Nova 云架构15三、Nova工作流程16第三节 OpenStack网络服务-Neutron16一、Neutron简介16二、Neutron实现原理18第四节 Neutron 网络创建过程19第五节 本章小结20第五章 Openstack云平台搭建21第一节 多节点安装部署 OpenStack21一、实验环境及实验拓扑图21二、构建过程22第二节 云平台搭建过程遇到的问题与解决方法23一、Keystone的安装

10、与问题分析23二、Glance 的安装与问题分析24三、Nova 的安装与问题分析25第三节 本章小结28第六章 Openstack云平台的测试29第一节 对各项服务的启动测试29第二节 创建instance29第三节 本章小结31第七章 结 论32致 谢33参考文献34附 录35一、英文原文35二、英文翻译44第一章 绪论第一节 论文研究背景及意义一般来讲,企业创建一套IT系统需要三个基本条件:硬件、软件以及专门的运维。而且为了满足公司不断扩大的需要,硬件等基础设施需要不断的换代升级及扩容。加上软件升级,维护人员成本支出,这是一笔不小的开支,这种管理模式不仅管理混乱,效率低下,而且信息安全的

11、风险。因此,不断上升的硬件成本及相应能耗的增长,数据中心容量的珍贵以及用户对配置和管理网络的简化愿望,推动了现在云计算的蓬勃发展。在云计算服务下,云服务提供者可以在瞬间处理海量的信息,数量级可达到数千万计甚至数亿。此外,云计算服务下,可按需分配这些资源和服务,从而实现了让更多的普通用户享受到如超级计算机一样的高端服务;这些资源和服务也变的如公共设施一般,提升了自己的效率与价值。1云计算的基本原理是,通过使数据处理运行在许多的分布式计算机之间,这些计算机可能不是单纯的本地计算机也可能不是完全的远程服务器,企业数据中心的计算处理流程更类似于互联网。如此企业能够将资源按照需要将计算机和存储系统切换到

12、不同的应用上。云计算的“云”就是存在于互联网上的服务器集群的资源,而“计算”就是利用这些资源来提供服务。它包括硬件资源(服务器、存储器、CPU等)和软件资源(如应用软件、集成开发环境等),还有一个信息的接受、处理、返回机制。本地终端只要通过互联网发送一个需求信息,云服务就会利用上述资源为你提供的服务并将结果返回给你。2人们可以非常方便的通过网络来享受云计算为我们提供的服务,而像超级计算这样的服务也会变得非常便利。云计算主要分为三种服务模式,SaaS(SofiwareasaServic,软件即服务),PaaS(PlatformasaService,平台即服务)以及IaaS(Infrastruct

13、ureasaService,基础架构即服务)。SaaS:通过网络提供软件应用服务给用户。SaaS可提高企业信息化服务的使用率,让用户在本企业一个站点内享受更多更好的服务。PaaS:通过网络提供例如应用开发环境、数据库服务等的平台服务,这些服务可以按用户需求定制,也可以按用户自己想法修改,用户可更方便的享受此类服务。IaaS:通过网络给用户提供计算机基础设施服务,包括计算存储、网络资源出租、负载均衡以及容灾备份、网络加速、综合信息等服务3。虚拟化是laas层的核心技术,该技术在底层物理设备与上层操作系统之间形成一个虚拟层从而将他们分离开,在这一层中,会有一个资源池,它是多个物理设备的集合,各个物

14、理设备之间的相互协作,共同对外提供服务,由管理软件统一管理。IaaS层的虚拟化就是将一台服务器通过一定手段虚拟成多个对外看似独立的服务器,每台虚拟的服务器都具有一定计算能力且相互独立,它们所支持的服务也可以单独对外提供。这多台服务器同时运行,相互隔离,降低了能耗,资源利用率也比之前有很大提升。基础框架层(laas)基于服务器企业集群构建来实现。服务器集群由若干台服务器组成,数量可达百万级,利用集群技术将它们组织起来就形成了虚拟服务器集群。虚拟服务器集群中的这些服务器具有独立的服务器硬件资源和操作系统。服务器集群可以是分成多个等级,以便支持多种不同等级的服务。服务器集群和层次化服务器系统主要是提

15、供运算能力、网络能力、信息服务以及数据存储服务等功能。服务器集群的用来提供软件运行的实际物理资源,是软件应用计算的实际运行环境。可用户数量增多的时候,服务器集群也可以根据用户的增加而增长,满足更多的用户需求。层次化服务器系统可以提供业务组件分布的位置,提高分布和计算迁移功能的灵活性、可靠性和动态性。第二节 国内外研究现状云计算已经成为当今计算机界最热门的技术之一,许多大公司认识到云计算的重要性,在努力发展自己的云计算技术。Amazon、Google、Saleforee、IBM和微软等大公司都为推动云计算发展做出了很大的贡献。2006年,亚马逊推出AWS服务,包括简单存储服务(AmazonS3)

16、和弹性计算云(EC2),4走在了云计算技术领域的前沿,目前亚马逊的Eucalyptus已经商业化;Google也向对外开放了他们的云服务Google App Engine5,不过他们的形式多种多样,有应用托管、企业搜索等形式。Gloogle 的云GoogleAppEngine以GFS、MapReduee和Big table支撑,提供了一个允许用户在它的基础框架上部署和开发自己的应用程序的平台,是一个典型的PAAS平台;Foree。com是salesforee。com提供的随需应变平台,可以使构建、共享、运行业务应用程序的过程比以前更加简单,也使业务应用程序的功能更加强大;“蓝云”是IBM在充分

17、利用现有资源的基础上,重点在于对产品和技术的整合的云计算平台6; 2008年,AsureServicesPlatform在微软开发者大会上发布了,这个平台是的基于Windows系列产品的开发、储存和服务代管等服务的云计算环境。目前云计算的发展在国内还属于初级阶段,还没有非常成熟的云计算服务平台,但各大通信运营商都非常重视。中国移动的“大云”(BigCloud),中国电信的“e云”,中国联通的“互联云”等相继出现,但是技术也并不如国外做的那么成熟。目前云计算行业标准还并没有指定,为了促进国产软件的发展,在云计算这一技术领域占居一定的位置,对云计算的研究是非常有意义的7。第三节 论文组织结构本篇论

18、文共分五章,主要内容概括如下:第一章 绪论。简单介绍云计算的研究背景、意义以及论文的组织结构。第二章Iaas相关介绍。这一章介绍了Iaas的概述、IaaS服务特征及优势、IaaS服务特征及优势。第三章 关键技术介绍。这一章介绍了IaaS服务器虚拟化,IaaS存储虚拟化IaaS网络虚拟化这三大虚拟化的实现原理。第四章openstack相关介绍。这一章首先介绍了openstack的概念架构和访问流程对openstack的整体运行原理有一个大致的了解,之后详细介绍了openstack的三大服务:openstack认证服务keystone、Opestack计算服务nova 、OpenStack网络服务

19、Neutron。第五章openstack云管理平台的搭建。这是部分是最艰难的也是最有挑战性的,从基础环境的配置开始,完成之后开始安装各种软件包,每安装一个软件包后都要进行详细的配置文件的修改,这章节对这个艰难的过程给出了详细的安装步骤和详细的指导说明。第五章openstack云平台的测试。这章节主要是完成对第五章的所有安装的进行验证是否安装正确,每一个所需的服务是否都已启动,之后是启动一个instance的过程,并对实例的成功启动之后进行网络测试。第六章 结束语。第二章 Iaas相关介绍第一节 IaaS概述IaaS(Infrastructure as a Service,基础设施即服务)指将I

20、T基础设施能力通过互联网提供给用户使用,并根据用户对资源的实际使用量或占用量进行计费的一种服务。8IaaS通过互联网提供了数据中心、基础硬件和软件资源。IaaS可以提供服务器、操作系统、磁盘存储、数据库和/或信息资源。IaaS通常会按照“弹性云”的模式引入其他的使用和计价模式,也就是在任何一个特定的时间,都只使用你需要的服务,并且只为之付费。通过IaaS这种模式,用户可以从供应商那里获得他所需要的计算或者存储等资源来装载相关的应用,并只需为其所租用的那部分资源进行付费,而同时这些基础设施繁琐的管理工作则交给IaaS供应商来负责9。从商业模式方面来说,IaaS是根据用户的实际使用量来收费,而不是

21、传统的包月形式;从技术上来说,IaaS应该向用户提供富有弹性的资源,用户需要则提供,不需要则立即自动收回10。第二节 IaaS服务特征及优势IaaS主要具有以下服务特征及优势:更低的门槛用户可以以最低的成本租用所需的计算机资源,而不需要进行大量的硬件和软件资源的采购。更好的扩展性用户可以根据需要,动态增加或减少服务资源,不用考虑资源来源或者资源是否够用。管理方便资源可直接通过互联网管理,不需要到资源所在机房现场操作,降低管理成本。使用灵活用户可获得完全独立的服务器,并拥有管理员权限,因此用户可以不受限制的进行任何操作。资费灵活所需资源可以随时开始和停止,用户只需要为自己所使用的资源付费。第三节

22、 IaaS整体架构虚拟化技术主要实现了对底层物力资源的抽象,使其成为一个个可以被灵活生成、调度、管理的基础资源单位。而要将这些资源进行有效的整合,从而生成一个可统一管理、灵活分配调度、动态迁移、计费度量的基础服务设施资源池,并向用户提供自动化的基础设施服务,就需要IaaS管理平台11。该管理平台主要是对资源管理平台的实现:硬件设备(计算设备,存储设备,网络设备)逻辑资源池(计算资源、存储资源,网络资源)全面虚拟化资源调度用户管理网络管理存储管理系统管理。终端设备n。图2.1IaaS整体架构资源管理平台 资源管理平台负责对物理资源和虚拟化资源进行统一的管理和调度,形成统一的资源池,实现IaaS服

23、务的可管、可控,其核心是对每个基础资源单位的生命周期管理能力和对资源的管理调度能力12。第四节 本章小结本章主要是Iaas的内容相关介绍,其中包括了Iaas的定义、特点和优势以及Iaas的实现的整体架构,充分说明Iaas在云平台中的地位与作用。本章对Iaas的定义做出了详细的解释,并且说明这一模式在云计算中的优势,此外,本章还对它的整体架构做了详细介绍,主要是对它的资源管理平台的实现做了详细的介绍。第三章 关键技术介绍第一节 IaaS服务器虚拟化服务器虚拟化是指能够在一台物理服务器上运行多台虚拟服务器的技术,并且上述虚拟服务器在用户、应用软件甚至操作系统看来,几乎与物理服务器没有区别,用户可以

24、在虚拟服务器上灵活的安装任何软件。同时服务器虚拟化技术还应该确保上述多个虚拟服务器之间的数据时隔离的,虚拟服务器对资源的使用是可控的13。服务器虚拟化通常有两种架构,包括寄生架构和裸金属架构。寄生架构硬件主操作系统虚拟化软件操作系统2操作系统1图3.1寄生架构在寄生架构中,虚拟化软件需要依赖于已经安装好的操作系统,在操作系统上安装虚拟化软件后,用虚拟化软件创建虚拟机,对虚拟机进行管理和维护。裸金属架构硬件虚拟化软件操作系统2操作系统1图3.2裸金属架构裸金属架构中,虚拟化软件不依赖于传统的操作系统,而是集成了操作系统中处理CPU和进程调度等功能之外的所有操作系统功能,然后直接在硬件上建立虚拟化

25、环境,用来管理和维护虚拟机。第二节 IaaS存储虚拟化存储虚拟化是一种将存储系统的内部功能从应用、主机或者网络资源中抽象、隐藏或者隔离的技术,其目的是进行与应用和网络无关的存储或数据管理。虚拟化技术为底层资源的访问提供了简单、统一的接口,使用户不必关心底层系统的复杂实现。14对存储虚拟化而言,不同层次的虚拟化实现具有不同的目标:用户层文件/记录层数据库文件存储设备层存储设备存储设备聚合块层(主机)聚合块(网络)聚合块图3.3存储虚拟化存储设备层:存储设备层的存储资源是最底层的物理设备,通过数据块存储地址的虚拟化,实现对存储内容的快速寻址。块聚合层:将存储设备层的物理存储设备虚拟化,通过合理的组

26、织,将其构建为能被统一访问的物理资源池。文件/记录层:进一步对物理资源进行抽象,将其虚拟化为逻辑资源,并为上层应用使用。第三节 IaaS网络虚拟化网络虚拟化一般分为两类,一类是对外部网络环境的虚拟化;另外一类是对服务器主机内部的网络虚拟化,如网卡等设备的虚拟化。网络虚拟化是将多个硬件或软件网络资源及相关的网络功能集成到一个可用的软件中统一管理和控制的过程,并且对于网络应用而言,该虚拟网络环境的实现方式是透明的14。网络虚拟化主要包括两个方面,一是物理主机内部网络虚拟化;二是对网络虚拟化的统一管理。主机内部网路虚拟化 主机内部网络虚拟化技术是面向云计算的网络虚拟化技术的核心,它通过与传统网络虚拟

27、化技术的配合,在现实虚拟网络的动态性、安全性等方面发挥了重要的作用。物理网卡网桥虚拟网桥虚拟网桥虚拟机虚拟机物理机图3.4主机内部网路虚拟化网络虚拟化统一管理 网络虚拟化的重要价值在于它配置的灵活性,为了达到灵活配置的目的,需要对虚拟化网络做统一的管理。资源分配:为虚拟网卡分配IP地址、MAC地址。流量监控:对虚拟网卡设定流量上限。实时迁移:当虚拟机从一台物理机迁移到另一台物理机时,实时迁移其网络配置。状态监控:包括对虚拟网卡的状态及流量等的监控。第四节 本章小结本章主要是对云计算平台实现的关键技术的介绍,虚拟化技术对于云计算平台来说是最重要的,本章就对最重要的三大虚拟化技术分别是服务器虚拟化

28、、存储虚拟化、网络虚拟化做出了详细的介绍,其中包括虚拟化的实现原理,虚拟的架构的介绍等。第四章 OpenStack相关介绍第一节OpenStack 介绍OpenStack 是一套开源的软件架构,也是一款工具集。它刚问世不久就得到学术领域的普遍关注,并很快渗透到各个研究领域。 OpenStack 可以构建自己的 IaaS 云计算环境,并且提供给用户使用。OpenStack 部署云环境的优点就是灵活,可以根据自己的需要来搭建基础设施,同时可以自由地扩充集群规模。 OpenStack 允许客户通过部署虚拟机来创建资源,在节点上通过使用 Xen 或KVM 等来对虚拟机进行一系列配置。客户端用户只需要申

29、请自己需要的虚拟资源15。一、 OpenStack概念架构启动一个实例或者一个虚拟机涉及多个服务之间交互,下面这张图表提供了一个概念架构。图4.1概念架构Horizon 是图形用户界面,管理员可以很容易地使用它来管理所有项目。Keystone 处理授权用户的管理.Neutron 定义提供组件之间连接的网络。Nova 被认为是 OpenStack 的核心,负责处理工作负载的流程。它的计算实例通常需要进行某种形式的持久存储,它可以是基于块的(Cinder)或基于对象的(Swift)。Nova 还需要一个镜像来启动一个实例。Glance 将会处理这个请求,它可以有选择地使用 Swift 作为其存储后

30、端16。二、 Openstack访问流程图4.2 Openstack访问流程 User通过自己的身份凭证(credentials)向keystone服务发起认证,keystone如果通过认证则给user颁发密钥(token),之后执行步 User把密钥(token)和虚拟机的创建请求发送给nova服务,nova通过keystone服务验证密钥(token)如果通过认证则执行步 Nova把密钥(token)和创建虚拟机所需要的镜像请求发送给glance服务,glance 通过keystone服务验证密钥(token),如果通过glance向nova返回镜像执行步 Nova把密钥(token)创建

31、虚拟机所需要的网络资源请求发送给Neutron服务过keystone服务验证密钥(token),如果通过Neutron向nova返回网络资源(ip)执行步 Nova得到创建虚拟机所需要的资源了,之后向用户返回请求成功。第二节 Openstack认证服务-Keystone一、 Keystone介绍Keystone(OpenStack Identity Service)是OpenStack框架中,负责身份验证、服务规则和服务令牌的功能, 它实现了OpenStack的Identity API。Keystone类似一个服务总线, 或者说是整个Openstack框架的注册表, 其他服务通过keyston

32、e来注册其服务的Endpoint(服务访问的URL),任何服务之间相互的调用, 需要经过Keystone的身份验证, 来获得目标服务的Endpoint来找到目标服务17。二、 Keystone概念User即用户,他们代表可以通过keystone进行访问的人或程序。Users通过认证信息(credentials,如密码、API Keys等)进行验证,如:住宾馆的人。Tenant即租户,它是各个服务中的一些可以访问的资源集合。例如,在Nova中一个tenant可以是一些机器,在Swift和Glance中一个tenant可以是一些镜像存储,在Neutron中一个tenant可以是一些网络资源。Use

33、rs默认的总是绑定到某些tenant上,如:宾馆。Role即角色,Roles代表一组用户可以访问的资源权限,例如Nova中的虚拟机、Glance中的镜像。Users可以被添加到任意一个全局的或租户内的角色中。在全局的role中,用户的role权限作用于所有的租户,即可以对所有的租户执行role规定的权限;在租户内的role中,用户仅能在当前租户内执行role规定的权限,如:VIP 等级,VIP越高,享有越高的权限。Service即服务,如Nova、Glance、Cinder。根据前三个概念(User,Tenant和Role)一个服务可以确认当前用户是否具有访问其资源的权限。但是当一个user尝

34、试着访问其租户内的service时,他必须知道这个service是否存在以及如何访问这个service,这里通常使用一些不同的名称表示不同的服务。在上文中谈到的Role,实际上也是可以绑定到某个service的。例如,当swift需要一个管理员权限的访问进行对象创建时,对于相同的role我们并不一定也需要对nova进行管理员权限的访问。为了实现这个目标,我们应该创建两个独立的管理员role,一个绑定到swift,另一个绑定到nova,从而实现对swift进行管理员权限访问不会影响到Nova或其他服务,如:宾馆可以提供的服务类别,比如,饮食类,娱乐类。Endpoint,翻译为“端点”,我们可以理

35、解它是一个服务暴露出来的访问点,如果需要访问一个服务,则必须知道他的endpoint。因此,在keystone中包含一个endpoint模板(endpoint template,在安装keystone的时候我们可以在conf文件夹下看到这个文件),这个模板提供了所有存在的服务endpoints信息。一个endpoint template包含一个URLs列表,列表中的每个URL都对应一个服务实例的访问地址,并且具有public、private和admin这三种权限。public url可以被全局访问,admin url被从常规的访问中分离,如:具体的一种服务,比如吃烧烤,打羽毛球。第三节 Ope

36、stack计算服务-nova一、 Nova简介Nova是OpenStack云中的计算组织控制器。支持OpenStack云中实例(instances)生命周期的所有活动都由Nova处理。这样使得Nova成为一个负责管理计算资源、网络、认证、所需可扩展性的平台。但是,Nova自身并没有提供任何虚拟化能力,相反它使用libvirt API来与被支持的Hypervisors交互。Nova 通过一个nova API来对外提供服务18。Nova的功能和特点有:实例生命周期管理,管理计算资源,网络和认证管理,REST风格的API,异步的一致性通信,Hypervisor透明:支持Xen,XenServer/X

37、CP, KVM, UML, VMware vSphere and Hyper-V。二、 Nova 云架构图4.3Nova 云架构Nova 云架构的各个组件是以数据库和队列为中心进行通信的,下面对其中的几个组件做一个简单的介绍: Queue,也就是消息队列,它就像是网络上的一个hub,nova各个组件之间的通信几乎都是靠它进行的,当前的Queue是用RabbitMQ实现的,它和database一起为各个守护进程之间传递消息。 database存储云基础架构中的绝大多数状态。这包括了可用的实例类型,在用的实例,可用的网络和项目。当前广泛使用的数据库是sqlite(仅适合测试和开发工作)、MySQL

38、和PostgreSQL。 nova-compute负责决定创造虚拟机和撤销虚拟机,通过运行一系列系统命令(例如发起一个KVM实例,)并把这些状态更新到nova-database中去,其过程相当复杂,但是基本原理很简单。 nova-schedule负责从queue里取得虚拟机请求并决定把虚拟机分配到哪个服务器上去。schedule的算法可以自己定义,目前有Simple (最少加载主机),chancd(随机主机分配) ,zone(可用区域内的随机节点)等算法。 nova-volume负责记录每一个计算实例,相当于一个计算请求吧,并负责创建,分配或撤销持久层容器(Amazon的,iSCSI,AoE等

39、等)给这些compute instances。 nova -netwok负责处理队列里的网络任务。、 nova-api守护进程是OpenStack Compute的中心。它为所有API查询提供一个入口。三、 Nova工作流程为了看看nova是如何工作的,我们可以以启动一个实例为例来进行说明,SchedulerApiNova-networkNova-computeQueue&Database因为启动一个新的instance涉及到很多openstack nova里面的组件共同协作。图4.4Nova工作流程 API:处理客户端的请求,并且转发到 Queue和Database中。如:我们输入一个启动i

40、nstance的命令api就会查看这种类型的instance是否达到最大值并给scheduler发送一个消息(实际上是发送到Queue中)去运行这个实例。 Scheduler:选择一个host去执行命令。如:Schedule:调度器接收到了消息队列Queue中API发来的消息,然后根据事先设定好的调度规则,选择好一个host,之后,这个instance会在这个host上创建。 nova-compute :启动和停止实例,附加和删除卷等操作。如:创建一个instance的操作是由Compute完成的,而这个过程中computer组件与Glance-api交互得到所需的instance镜像。 no

41、va-network:管理网络资源,分配固定IP。第三节 OpenStack网络服务-Neutron一、 Neutron简介OpenStack网络的核心理念就是通过多个其他元素(如虚拟机、系统管理模块以及其他连接的网络)为用户提供一组一致性的网络服务。从本质上讲,OpenStack网络创建了一个一致的逻辑通讯层,而其他元素可以有效地、大规模地使用这个逻辑层。这一模式是在OpenStack Neutron服务器中实现的,它与OpenStack Nova软件管理的虚拟机(即计算服务)以及上述提及的其他元素进行交互。用户通过OpenStack的Horizon GUI与网络功能进行交互,而其他的管理系

42、统和网络则通过使用Neutron API与网络服务进行交互。Neutron使用RESTful网络服务和HTTP与其客户端进行通讯。它使用JavaScript对象表示(JSON)和XML对其运行进行建模。它是专为随时间推移而实现灵活增加功能的目标而设计的,它可扩展至一系列的部署并使用易于理解的开放式软件以便于能够更高效地把多方功能整合至OpenStack网络环境。请求、响应以及其他的逻辑步骤都有明确的定义,并且这些逻辑步骤都可用于一些必要功能的创建与管理,进而支持网络服务实施。在其目前的分布中,OpenStack Neutron混合实施了第二层的VLAN和第三层的路由服务, 它可为所支持的网络提

43、供防火墙、负载平衡等扩展功能。网络中的虚拟机来自于虚拟机管理程序。19此外,通过使用支持IPv4和IPv6的强大地址管理功能,Neutron可在一个站点内实现虚拟机的灵活部署。它采用了一个逻辑的子网架构,IP块表示可以寻址虚拟位置和到达其部署结构中任何的位置。这种结构类似于在众多Neutron IP组网中所使用的子网技术,它通常是从与子网相关的物理端口抽取出来的。在覆盖网络中,它可被用作逻辑关联机制,以便于为不同用户和应用程序分离网络流量。通过使用这种方法,云计算供应商可以分别实现多个租户的通讯并为不L3-agentPlugin-agentSoftware-defineNetworking s

44、erviceNeutron-serverMessage queueDhcp-agent同应用程序部署拓扑,例如多层服务器组合以处理一个整体应用程序的不同部分图4.5 Neutron架构 neutron-server是 OpenStack Networking 服务器的主要流程。它是一个 Python 后台进程,将用户请求从 OpenStack Networking API 中继到配置的插件。 neutron-dhcp-agent向所有租户网络提供动态主机配置协议 (Dynamic Host Configuration Protocol, DHCP) 服务。 neutron-l3-agent执行

45、 L3/网络地址转换 (Network Address Translation) 转发,以支持网络网络访问租户网络上的 VM。一个特定于插件的可选代理 (neutron-*-agent) 在每个虚拟机管理程序上执行本地虚拟交换机配置。二、 Neutron实现原理用ifconfig命令查看计算节点的网卡情况如下图4.6图4.6 计算节点网卡状况根据网卡状况可知计算节点的内部网络拓扑结构如下图4.7图4.7计算节点内部拓扑结构rootnetwork:# ovs-vsctl showdbf08d07-90e5-4af8-8a9d-4ba659e8f56a Bridge br-int Port qr-

46、936a623d-f2 tag: 1 Interface qr-936a623d-f2 type: internal Port patch-tun Interface patch-tun type: patch options: peer=patch-int Port br-int Interface br-int type: internal从上面的代码看出br-int上有三个端口Port qr-936a623d-f2、Port patch-tunPort br-int正好与br-tun上的接口相连。图中br-tun、br-int都是虚拟的网桥,都是有软件所定义的而非硬件并且和硬件有相同的作用可以实现连接多个虚拟机。这样大大增加可扩展性,灵活性降低了成本。第

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁