当前位置:文档之家› OpenStack最新版本Folsom架构解析

OpenStack最新版本Folsom架构解析

OpenStack最新版本Folsom架构解析
OpenStack最新版本Folsom架构解析

OpenStack最新版本Folsom架构解析

OpenStack的第6版,版本代号为Folsom的最新版于今年九月底正式发布,Folsom将支持下一代软件定义网络(SDN)作为其核心组成部分。Folsom改进了现有代码的可用性和稳定性,包括185个新功能,最主要是虚拟网络方面的功能,而且这也是新成立的OpenStack基金会推出的第一个软件版本。

两年前OpenStack基于NASA的Nova项目和Rackspace的Swift项目合并得以建立,而今OpenStack已经成为云计算领域的一颗新星,继2012年四月发布Essex版本之后,在今年九月底OpenStack第6版Folsom正式发布,本文简要分析了OpenStack Folsom的架构。

1. OpenStack最新的组件

OpenStack目前有7个核心组件:

1)Compute(计算),

2)Object Storage(对象存储),

3)Identity(身份认证),

4)Dashboard(仪表盘),

5)Block Storage(块存储),

6)Network(网络)

7)Image Service(镜像服务)

下面将依次进行解释:

①Compute(代号为“Nova”) 根据需求提供虚拟服务。Rackspace公司和HP提供商业计算服务正是建立在Nova之上,Mercado Libre和NASA(Nova项目的起源地)内部也是使用的Nova。

②Object Storage(代号为“Swift”) 允许进行存储或者检索文件。目前已经有几好家公司开始提供基于Swift商业存储服务,这些公司包括KT,Rackspace 公司(Swift项目的发源地)和Internap,而且很多大公司内部也使用Swift来存储数据。

③Identity(代号为“Keystone”) 为所有的OpenStack服务提供身份验证和授权。它还提供了一个在特定OpenStack云服务上的服务目录。

④Dashboard(代号为“Horizon”) 为所有OpenStack的服务提供了一个模块化的web-based用户界面。使用这个Web GUI,可以在云上完成大多数的操作,如启动实例,分配IP地址,设置访问控制等。

⑤Block Storage(代号为“Cinder”) 提供稳定的数据块存储服务。这个项目

的很多代码最初是来自于Nova之中(就是the nova-volume service)。但是请注意,这是块存储(或者volumes),而不是类似于NFS或者CIFS文件系统,Cinder 在Folsom中也是一个全新的项目。除了这些核心项目之外,也有一些“孵化”项目,未来可能会考虑列入到OpenStack的核心项目之中。

⑥Network(代号为“Quantum”) 在接口设备之间提供“网络连接作为一种服务”,而这些接口设备主要靠其他的OpenStack服务进行管理(最有可能是Nova)。该服务允许用户创建自己的网络,然后连接接口。Quantum提供一个可插拔的体系架构,它能支持很多流行的网络供应商和技术,Quantum是Folsom 版本中的新项目。

⑦Image Service(代号为“Glance”) 是一个虚拟机镜像的存储、查询和检索系统,它提供了一个虚拟磁盘映像的目录和存储库,这些磁盘映像常常广泛应用于OpenStack Compute之中,而且这种服务在技术上是属于可选的,任何规模的云都适用于它。

2. 对比AWS的服务

虽然所有的OpenStack服务都具有自己的特色,但是很多人还是希望能看到它与AWS相似的部分,而且Amazon一直也是OpenStack的重要对手。

·Nova在概念上类似于AWS中的EC2服务,不过事实上,它拥有很多种方法可以实现对EC2 API的兼容性。

·Swift在概念上类似于S3服务,不过swift具有很强的扩展性、冗余和持久性。

·Glance提供了很多与Amazon AMI catalog相似的功能。

·Cinder提供类似于EBS块存储服务。

3. 概念架构

OpenStack项目成立的目的是“提供一个大规模的可扩展的云操作系统”。要做到这一点,每一个组成服务的设计都要精心考虑,这样才能打造一个完整的IaaS平台。从概念上,我们可以描绘出各种服务之间的关系:

·Dashboard("Horizon") 提供了一个Web前端到OpenStack其他的服务的界面

·Compute("Nova") 存储和检索虚拟磁盘(images)和Image上相关的元数据(Glance)

·Network("Quantum") 提供虚拟网络

·Block Storage("Cinder") 提供存储。

·Image("Glance") 在对象存储(Swift)上能够完成虚拟磁盘文件的存储

·所有的服务进行身份验证(Keystone)

这是一个程式化的简化版的体系结构视图,而且假定构建者使用所有的OpenStack服务进行最常见的配置操作,不过它也仅仅是显示“操作员”看到的云——并没有显示出云用户具体的使用过程,比如说用户如何进行直接的对象存储。

4. 逻辑架构

正如你能想象到的那样,逻辑结构要比概念架构复杂得多的多(如图所示)。正如任何面向服务的架构图一样,如果想说明所有可能的服务通信组合,图就会迅速“乱成一团”。下面的图,仅仅显示了一个最常见的基于OpenStack的云架构。当然,随着OpenStack支持技术种类的多样化,它并不能代表唯一的架构图。

该图与上述的概念架构图是一致的:

·最终用户可以通过一个公共的Web界面(Horizon)进行交互或者通过其API 直接访问每一项服务

·所有的服务进行身份验证都是通过一个共同的来源(通过Keystone)

·个人服务通过他们公共的API进行交互(除了那些拥有特别权限的地方才需要管理员的命令)

5. 下面的章节中,将会深入到每个服务的架构之中进行说明。

1) Dashboard

Horizon是一个模块化的Django Web应用程序,它为终端用户和系统管理员提供界面来管理OpenStack服务。

和大多数Web应用程序一样,该体系架构是也是非常简单:

·Horizon通常使用Apache上的mod_wsgi进行部署。代码本身被分离成可复用的python模块,通过逻辑(使用不同的OpenStack API进行交互)和presentation(对不同的站点很容易实现定制)实现。

·一个数据库,不过因为它主要依赖于其他的数据服务,所以本身存储的数据非常少。

从网络架构的角度来看,这项服务需要客户的访问而且要能够跟每项服务公共的API进行交互。如果您希望使用的管理员功能(即其他的服务),也需要连接到他们的Admin API端点(这不是客户能随意访问的)。

2) Compute

Nova是OpenStack中最复杂的分布式组件,它通过大量的进程合作,将最终用户的API请求发送到正在运行的虚拟机之上。以下是这些进程的列表及其功能的描述:

·nova-api:接受和响应最终用户Compute API的请求。它支持OpenStack Compute API,Amazon EC2 API和一个特殊的Admin API。它还引发多数业务流程的活动(如运行一个实例),并实施一些政策(主要是配额检查)。

·nova-compute:主要是一个人工守护进程,它可以通过虚拟机管理程序的API(XenAPI for XenServer/XCP, libvirt for KVM or QEMU, VMwareAPI for VMware等)来创建和终止虚拟机实例。虽然通过该进程做的事情是相当的复杂,但是它的基础原理却是非常的简单:接收队列中的动作,然后执行一系列的系统

命令(如启动KVM实例),同时更新数据库中的状态。

·nova-volume:给虚拟机分配额外持久化的存储,管理持久卷到计算实例的创建,连接和分离。一个新的OpenStack项目,Cinder,将最终替代nova-volume 功能。在发布的Folsom版本中,nova-volume和Block Storage service(块存储服务)有类似的功能。

·nova-network:该人工守护进程与nova-compute和nova-volume非常相似。它接受队列中的网络任务,然后执行任务操纵网络(如设立桥接接口或更改iptables规则)。不过该项功能被移植到Quantum之中,已经成为一个独立的OpenStack服务。

·nova-schedule:从概念上说是OpenStack Nova中最简单的一段代码:从队列上得到一个虚拟机实例请求并且决定它应该在哪里运行(特别是它应该运行在哪台计算服务器主机之上)

·queue:提供了一个守护进程之间传递消息的中央枢纽。当前由RabbitMQ 实现,理论上可以是Python的ampqlib支持的任何AMPQ消息队列。新的Folsom 版本支持Zero MQ。

·SQL database:存储云基础设施的编译时和运行时的状态。这包括可用的实例类型,在使用中的实例,可用的网络和项目。从理论上讲,OpenStack Nova 可以支持任何SQL-Alchemy支持的数据库,但是目前被广泛使用的数据库仅仅有sqlite3(只适用于测试和开发工作),MySQL和PostgreSQL。

·Nova还提供控制台的服务,让最终用户通过代理服务器访问他们的虚拟实例的控制台。这涉及到多个守护进程(nova-console,nova-vncproxy和nova-consoleauth)。

3) Object Store

Swift结构是分布式的,这样既可以防止任何单一的节点上出问题,又可以进行横向的扩展。它包含的组件有:

Prox server:它负责接受由OpenStack Object API传入的请requests或者直接就接受HTTP requests。接受的请求有文件上传,修改元数据和创建container单元。此外还为浏览器提供文件和continer的列表。通常我们会使用一个可选的缓存来提高它的性能。

·Account servers:它们负责管理由object存储服务创建的账户。

·Container servers:它们负责管理object存储服务里面containers(也就是文件夹)映射。

·Object servers:它们负责管理storage节点上的真正的objects。(也就是文件)

在服务器上通常有许多用来执行日常任务的周期性进程。其中最重要的就是replication services,它通过集群保证了一致性和可以用性。其他的一些周期进程有:auditors,updaters和reapers。

Object store也通过HTTP为静态页面和对象服务。实时上,本文的那张图片就是来自Rackspace Cloud的Switf service。

4) Image Store

自从Cactus版本发布以后,Glance结构相对来说比较稳定。最大的结构变化大概就是在Diablo版本加入了身份验证。让我们快速浏览下Glacnce的四个主要部分:

glance-api:她接受Image API的发现镜像,检索镜像和存储镜像的请求。

glance-registry:她存储,处理和检索元镜像元数据。(像大小,类型等)

一个存储镜像元数据的数据库。像Nova一样,你可以根据你的需求参数选择你的数据库。(但大部分人都选择MySQL或者SQlite)

一个存贮实际镜像文件的镜像库。在上面的镜像中,Swift被当作了镜像库,而且这是可以配置的。除了Swift,Glance支持普通的文件系统,RADOS块设备,Amazon S3和HTTP。需要清楚的一点儿是这些选择中的一部分是有只读限制的。

就像你在上面的概念结构图部分看到的一样,Glance在所有IaaS镜像服务中是个核心角色。她接受来自终端用户或者Nova组件的镜像(或者镜像元数据)的API requests,并且她可以把她的文件存在object storage service(Swift)中。

5) Identity

Keystone把OpenStack policy,catalog,token和authentication等功能集成于一身。不仅处理API requests,同时也提供可以配置的catalog,policy,token和identity 服务。

每一个Keystone功能都有一个允许用不同方式使用它的独特服务的插件化后台。大部分功能都支持标准的后台,比如LDAP,SQL和Key Value Stores等。

6) Network

Quantum在其他OpenStack服务管理的接口设备之间提供网络连接服务。她首先允许用户创建他们自己的网络,然后给他们提供接口。和其他的OpenStack 服务一样,Quantum使用了插件化结构,这使得他可以被详细配置。这些插件使用了不同的网络设备和软件。这样,结构和部署就非常的灵活了。在上面的结构中,使用了一个非常简单了Linux网络。

·quantum-server:接受API requests然后把他们转发到合适的quantum插件去执行。

·quantum 插件和代理执行插件的添加或者卸载,创建网络或者子网和IP 地址分配等实际操作。这些插件和代理在特定的云服务里面依赖不同公司和使用不同的技术。Quantum装载了的插件和代理有:Cisco的虚拟的和物理的交换机,Nicira的NVP产品,NECO的OpenFlow产品,Open vSwitch,Linux的bridging 和Rye的网络操作系统。Midokua也为Quantum集成服务提供了一款插件。Quantum中普通的代理有L3,DHCP和定制的代理插件。

·大部分的Quantum设备都通过一个消息队列来转发在quantum-server和各种代理之间的信息,也有一个用来存储每个插件自己的网络状态的数据库。Quantum主要和Nova进行交互,Nova为他的实例提供网络和链接。

7) Block Storage

Cinder 将之前在OpenStack Compute中的部分持久性块存储功能分离了出来,集成到了自己的服务中。OpenStack块存储API允许对卷,卷的类型,卷的快照进行处理。

·cinder-api 接受API requests并且将他们转发到cinder-volume去执行。

·cinder-volume处理cinder数据库的维护状态的读写请求,通过消息队列和直接在块存储设备或软件上与其他进程交互。

·和nova-scheduler非常相似,后台进程cinder-scheduler会选择在最优的块存储提供节点上去创建卷。

·Cinder deployments也使用消息队列去转发cinder进程之间的消息并且使用一个数据库来存储这些卷的状态信息。和Quantum类似,Cinder主要和Noa 交互,为她提供她的卷需要的实例。

参考文献

https://www.doczj.com/doc/a06118860.html,/article/2012-10-15/2810743-OpenStack-Folsom

https://www.doczj.com/doc/a06118860.html,/article/2012-11-09/2811705

https://www.doczj.com/doc/a06118860.html,/openstack/2012/09/25/openstack-folsom-architecture/

OpenStack SDN架构

OpenStack SDN架构 ?马啸 微信:Zebra 2014年11?月23?日

??目录 ?OpenContrail (Contrail)?OpenFlow Overlay(OpenDaylight VTN)?OpenStack Neutron (VMware NSX)

云需??网络

OpenContrail MPLS?方式 MPLS?自?身 ! 1,三层路由标签技术 2,传统上在MPLS-BGP中为路由条??目分配MPLS标签

Switch eth1 eth1 VM1 VM2 同?一Network 去往192.168.1.1 打上MPLS =1,并且打上外层头部到CN1; 去往192.168.1.3,打上MPLS =2,并且打上外层头部到CN1; 去往192.168.1.2,就直接出去tap2 192.168.1.1/24 VRF1 转发表: 去往192.168.1.2打上MPLS =5,并且打上外层标签到CN2; 去往192.168.1.1,就直接出去tap1 去往192.168.1.3,就直接出去tap3 192.168.1.2/24 MPLS 标签表: MPLS=1 剥离外层改变MAC 出tap1; MPLS =2 剥离外层改变MAC 出tap3;MPLS 标签表: MPLS=5剥离外层标签改变MAC 并出tap2 CN1 CN2 192.168.1.3/24tap1 tap3 tap2 VM3

VM1 不同Network 192.168.1.1/24 VRF1 转发表: 去往192.168.1.2打上MPLS =5,并且打上外层标签到CN2; 去往192.168.1.1,就直接出去tap1 去往192.168.1.3,就直接出去tap3 MPLS 标签表: MPLS=1 剥离外层改变MAC 出tap1; MPLS =2 剥离外层改变MAC 出tap3; MPLS =3 剥离外层改变MAC 出tap4 CN1 192.168.1.3/24tap1 tap3 VM3 VM4 VRF2 转发表: 去往192.168.2.1直接从tap4出去 tap4 192.168.2.1/24

OpenStack的架构详解

OpenStack的架构详解 OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集。其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。 1. OpenStack是什么 OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集。其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。 OpenStack旗下包含了一组由社区维护的开源项目,他们分别是OpenStackCompute(Nova),OpenStackObjectStorage(Swift),以及OpenStackImageService(Glance)。 OpenStackCompute[1],为云组织的控制器,它提供一个工具来部署云,包括运行实例、管理网络以及控制用户和其他项目对云的访问(thecloudthroughusersandprojects)。它底层的开源项目名称是Nova,其提供的软件能控制IaaS云计算平台,类似于AmazonEC2和RackspaceCloudServers。实际上它定义的是,与运行在主机操作系统上潜在的虚拟化机制交互的驱动,暴露基于WebAPI的功能。 OpenStackObjectStorage[2],是一个可扩展的对象存储系统。对象存储支持多种应用,比如复制和存档数据,图像或视频服务,存储次级静态数据,开发数据存储整合的新应用,存储容量难以估计的数据,为Web应用创建基于云的弹性存储。 OpenStackImageService[1],是一个虚拟机镜像的存储、查询和检索系统,服务包括的RESTfulAPI允许用户通过HTTP请求查询VM镜像元数据,以及检索实际的镜像。VM镜像有四种配置方式:简单的文件系统,类似OpenStackObjectStorage的对象存储系统,直接用Amazon'sSimpleStorageSolution(S3)存储,用带有ObjectStore的S3间接访问S3。 三个项目的基本关系如下图1-1所示:

OpenStack架构详解

OpenStack架构详解 What is OpenStack? OpenStack提供开放源码软件,建立公共和私有云。OpenStack是一个社区和一个项目,以及开放源码软件,以帮助企业运行的虚拟计算或者存储云。OpenStackd开源项目由社区维护,包括OpenStack计算(代号为Nova),OpenStack对象存储(代号为SWIF T),并OpenStack镜像服务(代号Glance)的集合。OpenStack提供了一个操作平台,或工具包,用于编排云。 Components of OpenStack OpenStack当前主要有三个组件:计算,存储,镜像。 OpenStack计算是一个云控制器,用来启动一个用户或一个组的虚拟实例,它也用于配置每个实例或项目中包含多个实例为某个特定项目的联网。 OpenStack对象存储是一个在具有内置冗余和容错的大容量系统中存储对象的系统。对象存储有各种应用,如备份或存档数据,存储图形或视频(流媒体数据传输到用户的浏览器),储存二级或三级静态数据,发展与数据存储集成新的应用程序,当预测存储容量困难时存储数据,创造弹性和灵活的云存储Web应用程序。 OpenStack镜像服务是一个查找和虚拟机图像检索系统。它可以配置三种方式:使用Op enStack对象存储来存储图像;使用亚马逊S3直接存储,或使用S3对象存储作为S3访问中间存储。 OpenStack Project Architecture OpenStack当前包括三个子项目,三个项目相会独立,可以单独安装。 ? Swift 提供对象存储。这是大致类似于Rackspace云文件(从它派生)或亚马逊S3。? Glance 提供OpenStack Nova虚拟机镜像的发现,存储和检索。 ? Nova 根据要求提供虚拟服务。这与Rackspace云服务器或亚马逊EC2类似。 将来会出现web 接口的子项目以及队列服务的子项目。

OpenStack云技术介绍及架构设计

OpenStack 云技术介绍及架构设计

目录 一、云计算的发展 (3) 二、什么是云计算? (5) 三、云计算的类型 (6) ? 3.1. 公有云 (6) ? 3.2. 私有云 (7) ? 3.3. 混合云 (7) 四、云平台 (7) 五、云计算的服务模式 (8) ? 5.1. IAAS (8) ? 5.2. PAAS (8) ? 5.3. SAAS (8) 六、OpenStack的前世今生 (9) 6.1. 什么是OpenStack? (9) 6.2. OpenStack组件介绍 (10) 6.3. OpenStack发展路线 (12) 七、总结 (17)

一、云计算的发展 说起云计算想必大家都很熟悉,它被视为科技界的革命性产物,极大可能的改变人们的工作方式和商业模式的运作。但是它并不是从石头缝中突然蹦出来的,而是经过了诸多技术的成熟和演变诞生的。云计算吸收了之前并行计算、分布式计算和网格计算的优势,借助虚拟化、效用计算等技术混合而成。按照资源形态来分,主要经历了以下不同的发展阶段: 图1-云计算的发展 1、资源分散时代 IT发展初期,百废待兴。所有的系统处于分散零落的状态,哪里需要IT系统,就在哪里构建,IT资源分散,架构不清晰。业务资源和数据资源相对分散,IT管理模式较为落后,浪费了很多的IT资源。各种IT设备五花八门,问题层出不穷。 2、资源大集中时代 这个时代主要解决了企业IT资源分散管理难和容灾的问题。将企业分散的数据资源、IT 资源进行了物理集中,形成了规模化的数据中心基础设施。在数据集中过程中,不断实施数据和业

务的整合,大多数企业的数据中心基本完成了自身的标准化,使得既有业务的扩展和新业务的部署能够规划、可控,并以企业标准进行IT 业务的实施,解决了数据业务分散时期的混乱无序问题。在这一阶段中,很多企业在数据集中后期也开始了容灾建设。企业的容灾中心建设普遍受到重视,以金融为热点行业几乎开展了全行业的容灾建设热潮,并且金融行业的大部分容灾建设的级别都非常高,面向应用级容灾(数据零丢失为目标)。总的来说,解决了企业IT 分散管理和容灾的问题。 3、资源虚拟化时代 随着企业的快速发展,数据中心IT 基础设施扩张迅速,但是系统建设成本高、周期长,即使是标准化的业务模块建设,软硬件采购成本、调试运行成本与业务实现周期并没有显著下降。标准化并没有给系统带来灵活性,集中的大规模IT 基础设施出现了大量系统利用率不足的问题,不同的系统运行在独占的硬件资源中,效率低下导致资源浪费,而数据中心的能耗、空间问题逐步突显出来。因此,以降低成本、提升IT 运行灵活性、提升资源利用率为目的的虚拟化开始在数据中心进行部署。虚拟化屏蔽了不同物理设备的异构性,将基于标准化接口的物理资源虚拟化成逻辑上也完全标准化和一致化的逻辑计算资源(虚拟机)和逻辑存储空间。虚拟化可以将多台物理服务器整合成单台,每台服务器上运行多种应用的虚拟机,实现物理服务器资源利用率的提升,由于虚拟化环境可以实现计算与存储资源的逻辑化变更,特别是虚拟机的克隆,使得数据中心IT 实施的灵活性大幅提升,业务部署周期可用数月缩小到一天以内。虚拟化后,应用以VM 为单元部署运行,数据中心服务器数量可大为减少且计算能效提升,使得数据中心的能耗与空间问题得到控制。通过虚拟化,提升了企业IT 架构的灵活性,数据中心资源利用率有效提高,运行成本降低。 4、云计算时代

OpenStack系统架构详解

OpenStack系统架构详解 张云星 产品中心 曙光信息产业股份有限公司 2013-12-04 目录 目录错误!未定义书签。 1OpenStack概述 ................................................................................ 错误!未定义书签。2OpenStack整体架构 ......................................................................... 错误!未定义书签。3OpenStack各组件简介...................................................................... 错误!未定义书签。4OpenStack 计算套件—Nove............................................................. 错误!未定义书签。5OpenStack 镜像服务套件—Glance................................................... 错误!未定义书签。6OpenStack对象存储套件—Swift ....................................................... 错误!未定义书签。 6.1Swift特性.................................................................................. 错误!未定义书签。 6.2应用场景 ................................................................................... 错误!未定义书签。7OpenStack网络套件—Neutron ......................................................... 错误!未定义书签。8OpenStack身份识别—Keystone ....................................................... 错误!未定义书签。9OpenStack仪表盘套件—Horizon ...................................................... 错误!未定义书签。10SUSE Cloud 2.0架构.................................................................... 错误!未定义书签。11Openstack中国服务中心 .............................................................. 错误!未定义书签。12参考文献 ....................................................................................... 错误!未定义书签。

openstack架构详解

OpenStack的架构 1.OpenStack是什么 OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集。其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。 OpenStack旗下包含了一组由社区维护的开源项目,他们分别是OpenStack Compute(Nova),OpenStack Object Storage(Swift),以及OpenStack Image Service(Glance)。 OpenStack Compute[1],为云组织的控制器,它提供一个工具来部署云,包括运行实例、管理网络以及控制用户和其他项目对云的访问(the cloud through users and projects)。它底层的开源项目名称是Nova,其提供的软件能控制IaaS云计算平台,类似于Amazon EC2和Rackspace Cloud Servers。实际上它定义的是,与运行在主机操作系统上潜在的虚拟化机制交互的驱动,暴露基于Web API的功能。 OpenStack Object Storage[2],是一个可扩展的对象存储系统。对象存储支持多种应用,比如复制和存档数据,图像或视频服务,存储次级静态数据,开发数据存储整合的新应用,存储容量难以估计的数据,为Web应用创建基于云的弹性存储。 OpenStack Image Service[1],是一个虚拟机镜像的存储、查询和检索系统,服务包括的RESTful API允许用户通过HTTP请求查询VM镜像元数据,以及检索实际的镜像。VM镜像有四种配置方式:简单的文件系统,类似OpenStack ObjectStorage的对象存储系统,直接用Amazon'sSimple Storage Solution (S3) 存储,用带有Object Store的S3间接访问S3。 三个项目的基本关系如下图1-1所示: 2.云服务提供商的概念架构 OpenStack能帮我们建立自己的IaaS,提供类似Amazon Web Service的服务给客户。为实现这一点,我们需要提供几个高级特性: a)允许应用拥有者注册云服务,查看运用和计费情况; b)允许Developers/DevOps folks创建和存储他们应用的自定义镜像;

OpenStack存储架构三种流派解读

在UnitedStack组织的存储技术研讨会上,三位来自于UnitedStack、IBM和HP的存储专家分别就UnitedStack文件共享服务、IBM 弹性存储和HP Helion VSA进行了深入解读,详细阐述了OpenStack Manila和Ceph、GPFS到弹性存储的演进、VSA和Helion的结合等技术。这也可以说是目前市场上云环境下存储架构的经典流派解读。 UnitedStack:如何在OpenStack平台实现文件共享服务? 第一位嘉宾的是来自于UnitedStack的资深存储工程师孟圣智,他主要讲述了UnitedStack明年将会重磅推出的文件共享服务。 文件共享服务是企业存储的刚性需求。根据IDC 2012数据,65%的数据存储是以文件的形态存在的,大量传统应用需要使用文件系统作为存储媒介。现在大量企业应用往云平台上迁移,自然对传统NAS服务在虚拟化环境下的实现有强烈的需求,那么在OpenStack平台上,如何实现文件共享服务呢? 目前,由NetAPP和Mirantis主导的Manila项目越来越受到OpenStack用户的关注,Manila提供了安全的多租户的文件共享服务,现在支持NFS和CIFS,在OpenStackJuno版中已经有了稳定分支。Manila的核心概念有:共享目录、ACL、共享网络、快照、后端驱动。目前支持的后端驱动有GPFS、GlusterFS、EMCVNX等。在云平台上,所有服务必须要考虑多租户资源隔离,目前Manila 的多租户资源隔离依赖于Neutron的私有网络隔离。 Manila的通用驱动的方式是通过Nova创建一台虚拟机(Service VM),通过Cinder创建一个Volume,并挂载到Service VM上。Service VM格式化这个Volume,用它作为共享目录,对外提供NFS/CIFS共享服务。

OpenStack云平台技术方案

OpenStack云平台技术方案

目录 云,无处不在 (3) OpenStack to UnitedStack (3) 系统架构介绍 (5) Compute(计算) (6) Compute逻辑架构 (9) Compute物理架构 (9) Network(网络) (12) Quantum基本架构 (12) Object Storage(对象存储) (13) 概述 (13) 功能特性 (14) Identity(身份认证) (16) Dashboard(仪表盘) (17) 特点 (18) Block Storage(块存储) (20) 特点 (21) 物理资源管理系统 (22) 简介: (22) 功能: (23) 用例 (23) Hawkeye(监控): (24)

简介: (24) 特点: (25) 用例 (25) OpsCloud (26) 带来的挑战 (26) USTACK解决方案 (27)

云,无处不在 软件安装在“云”端,数据存储在“云”端,“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展。用户通过浏览器来远程计算、处理数据,结果显示在客户端,这样的计算模式就是云计算。云计算不仅仅是一个概念,而是要将虚拟网络、虚拟计算以及虚拟存储结合,形成无处不在的云。 OpenStackto UnitedStack 第一次开始使用Openstack的时候,相信你已经深深感受到它的强大。

OpenStack的继续遵循同样的原则:支持尽可能广泛的硬件和支持最广泛的虚拟机管理程序,与同等质量的。云时代来临时,基于OpenStack才能孵化出最实用的产品。 1.与OpenStack开源社区的无缝对接 云计算已经成为一种新的运营模式,它对于人们如何消费、如何提供IT服务和从事IT 行业是一个根本性的转变。OpenStack让原本模糊不清的云计算终于能够脚踏实地,而UnitedStack做的就是紧紧围绕OpenStack,让OpenStack最大化其应用价值。 2.积极的客户支持 在项目开发方面,我们添加了对微软Hyper-V虚拟化技术的支持。我们将一些我们自己的网络堆栈协议集成到平台之中,并在API兼容性方面做了许多工作。而对于客户,我们对想采用OpenStack的客户提供了最大的支持。例如:Swift是一个模仿了Amazon S3的存储服务。现在我们正围绕此技术构建管理框架,从而使得这些公司可以在OpenStack 平台上提供类似于S3的服务。

云计算框架OpenStack教学大纲

云计算框架OpenStack教学大纲 一、课程基本信息 课程中文名称:云计算框架与应用 授课对象:计算机科学与技术专业 二、课程教学目标与任务 本课程是理论性和应用性均较强的课程,通过本课程的学习,了解云计算框架OpenStack的基本概念,掌握OpenStack的系统安装,了解虚拟化技术、虚拟机的管理、掌握云计算技术、云计算体系结构,掌握如何安装OpenStack的各个组件,学会使用OpenStack系统创建和管理虚拟机、虚拟网络及存储资源。 三、学时安排 四、课程教学内容与基本要求 第1章云计算简介 教学目的:通过本章学习,了解云计算和云存储的概念,了解云计算和云存储的特点,了解私有云与公有云,掌握基于虚拟化的服务部署。

基本要求:掌握云计算和云存储的概念,掌握基于虚拟化的服务部署。 重点与难点:基于虚拟化的服务部署。 教学方法:讲授、学生收集资料。 主要教学内容: 1.云计算与云存储的概念。 2.私有云与公有云。 3.基于虚拟化的服务部署。 4.云计算的解决方案。 第2章虚拟化技术 教学目的:通过本章学习,了解虚拟化技术KVM与Xen,了解虚拟化工具的安装,了解虚拟机的配置文件,掌握如何大批量创建虚拟机,掌握虚拟机的桌面显示。 基本要求:掌握如何大批量创建虚拟机,掌握虚拟机的桌面显示。 重点与难点:大批量创建虚拟机。 教学方法:讲授、学生收集资料。 主要教学内容: 1.虚拟化技术简介。 2.安装虚拟化工具。 3.虚拟机配置文件详解。 4.大批量创建虚拟机。 5.虚拟机桌面显示。 第3章 OpenStack概述 教学目的:通过本章学习,了解OpenStack与云计算的关系,了解OpenStack发展与现状,了解OpenStack的优势,掌握OpenStack各个组件及功能。 基本要求:掌握OpenStack各个组件及功能。 重点与难点:掌握OpenStack各个组件及功能。 教学方法:讲授、学生收集资料。 主要教学内容: 1.OpenStack与云计算。 2.OpenStack发展与现状。 3.OpenStack的优势。 4.OpenStack各个组件及功能。 第4章虚拟机管理系统Nova 教学目的:通过本章学习,了解Nova基本概念,掌握Nova环境搭建,掌握Nova API服务,

2.1.1双节点OpenStack架构分析(精)

2.1.1 双节点OpenStack架构分析 1.项目导入 某职业院校网络中心建设私有云应用服务,选择搭建安全的云计算平台是首要任务,云计算平台可以实现计算资源的池化弹性管理,通过统一安全认证、授权管理来实现学校应用的集中管理。 经过单位调研,该职业院校网络中心决定选用OpenStack项目来搭建云计算IaaS平台。网络中心系统管理员和应用维护人员需要进行云计算架构的设计、部署和管理。由于技术人员要先熟悉搭建步骤,所以决定先利用VMware Workstation虚拟机软件来搭建测试环境。 2.项目目标 ●了解OpenStack双节点云计算系统 ●配置云计算控制节点和计算节点 ●使用Dashboard管理OpenStack ●配置云计算块存储服务 ●使用命令行管理OpenStack 3.双节点OpenStack架构 网络中心管理员设计了一个简单的云计算平台双节点测试环境,如图6-1所示,该拓扑其中一个节点为控制节点(controller node),另一个节点为计算节点(compute node)。控制节点包含一个网卡eth0,用于管理网络。计算节点包含两个网卡,eth0用于管理网络,eth1用于外部网络。 在测试环境中将使用较简单的传统网络(legacy networking),即使用nova-network实现OpenStack网络连接,不需要配置Neutron组件。 图6-1双节点拓扑规划 控制节点负责对其余节点的控制,包含虚拟机建立,迁移,网络分配,存储分配等,计

算节点负责虚拟机运行。 控制节点包括以下服务:管理支持服务、基础管理服务、扩展管理服务。管理支持服务包含MySQL与Qpid两个服务,MySQL数据库为基础/扩展服务产生的数据提供存放的场所,Qpid消息代理(也称消息中间件)为其他各种服务之间提供统一的消息通信服务。基础管理服务包含Keystone,Glance,Nova,Horizon五个服务。Keystone认证管理服务,提供其余所有组件的认证信息/令牌的管理,创建,修改等等,使用MySQL作为统一的数据库。Glance镜像管理服务,提供对虚拟机部署的时候所能提供的镜像的管理,包含镜像的导入,格式,以及制作相应的模板。Nova计算管理服务,提供对计算节点的Nova的管理,使用Nova-API进行通信。Horizon控制台服务,提供了以Web的形式对所有节点的所有服务的管理,通常把该服务称为DashBoard。 计算节点安装Nova基础服务,提供虚拟机的创建,运行,迁移,快照等各种围绕虚拟机的服务,并提供API与控制节点对接,由控制节点下发任务。 项目所需软件列表: ●VMware Workstation 12.0 ●CentOS-6.6-x86_64-bin-DVD1.ISO镜像文件 ●控制节点、计算节点 ●SecureCRT ●Windows 7

深入理解OpenStack之Neutron

Neutron

经典的三节点部署?分三个网络: ?External Network/API Network, 这个网络是连接外网的,无 论是用户调用Openstack的API, 还是创建出来的虚拟机要访 问外网,或者外网要ssh到虚 拟机,都需要通过这个网络 ?Data Network,数据网络,虚 拟机之间的数据传输通过这 个网络来进行,比如一个虚 拟机要连接另一个虚拟机, 虚拟机要连接虚拟的路由都 是通过这个网络来进行 ?Management Network,管理 网络,Openstack各个模块之 间的交互,连接数据库,连 接Message Queue都是通过这 个网络来。

?neutron分成多个模块分布在三个节点上。 ?Controller节点: ?neutron-server,用于接受API请求创建网络,子网,路由器等,然而创建的这些东 西仅仅是一些数据结构在数据库里面 ?Network节点: ?neutron-l3-agent,用于创建和管理虚拟路由器,当neutron-server将路由器的数据结 构创建好,它是做具体的事情的,真正的调用命令行将虚拟路由器,路由表, namespace,iptables规则全部创建好 ?neutron-dhcp-agent,用于创建和管理虚拟DHCP Server,每个虚拟网络都会有一个 DHCP Server,这个DHCP Server为这个虚拟网络里面的虚拟机提供IP ?neutron-openvswith-plugin-agent,这个是用于创建虚拟的L2的switch的,在Network 节点上,Router和DHCP Server都会连接到二层的switch上 ?Compute节点: ?neutron-openvswith-plugin-agent,这个是用于创建虚拟的L2的switch的,在Compute 节点上,虚拟机的网卡也是连接到二层的switch上

Openstack Sahara组件和架构简介

1.简介 Apache Hadoop是目前被广泛使用的主流大数据处理计算框架,Sahara项目旨在使用用户能够在Openstack平台上便于创建和管理Hadoop以及其他计算框架集群,实现类似AWS的EMR(Amazon Elastic MapReduce service)服务。用户只需要提供简单的参数,如版本信息、集群拓扑、节点硬件信息等,利用Sahara服务能够在数分钟时间内快速地部署Hadoop、Spark、Storm集群。Sahara还支持节点的弹性扩展,能够方便地按需增加或者减少计算节点,实现弹性数据计算服务。它特别适合开发人员或者QA在Openstack平台上快速部署大数据处理计算集群。 它特效包括: ?Openstack的标准组件之一; ?通过REST API和Dashboard UI界面管理集群; ?支持多种数据处理计算框架,包括: ?多种Hadoop厂商发行版,比如CDH等; ?Apache Spark和Storm; ?可插除的Hadoop安装引擎; ?集成厂商的特定管理工具,如Apache Ambari and Cloudera Management Console。 支持配置模板。 它和其他Openstack组件交互,如图:

2.工作流程 sahara提供两个层次的API,分别为集群管理(cluster provisioning)和任务管理(analytics as a service)。 集群管理工作流包括: 1.选择Hadoop发行版本; 2.选择base镜像,base镜像用于生成工作节点,base镜像或者已经预先安装了Hadoop的必 要组件,或者提供可插除的可自动快速部署Hadoop的工具。base镜像可以自己制作,也可以直接下载:https://www.doczj.com/doc/a06118860.html,/images/upstream/liberty/ 3.集群配置,包括集群大小、集群拓扑(配置组件角色)和一些附加参数(如堆大小、HDFS冗 余份数等); 4.创建集群,sahara将自动创建虚拟机、部署和配置数据分析计算框架集群; 5.集群管理,如增加或者删除节点; 6.集群销毁,用户不需要时,可以删除集群,释放所有的资源。 任务管理工作流包括: 1.选择预先定义的数据处理计算框架以及版本; 2.任务配置: ?选择任务类型:pig,hive,java-jar等; ?提供任务脚本源或者jar包地址; ?选择输入、输出地址。 限制集群大小; 执行任务,注意所有底层的集群管理和任务执行流程对用户是完全透明的,当任务执行完后,集群将会自动移除提交的任务; 获取处理结果(如Swift)。 3.用户视角 通过sahara管理集群,用户主要需要操作以下三个实体对象:Node Group Templates, Cluster Templates and Clusters: ?Node Group Templates:设置单一节点的模板,包括启动虚拟机的flavor、安全组、可用域、镜像等,以及配置Hadoop角色,比如namenode、secondarynamenode、 resourcemanager。比如我们可以创建Master节点模板,flavor为https://www.doczj.com/doc/a06118860.html,rge,启动镜 像为sahara-mitaka-vanilla-hadoop-2.7.1-ubuntu-14.04,配置namenode、 resourcemanager、secondarynamenode角色,创建Slave节点模板,flavor为 https://www.doczj.com/doc/a06118860.html,rge,镜像为sahara-mitaka-vanilla-hadoop-2.7.1-ubuntu-14.04,配置角色为 datanode、nodemanager等。 ?Cluster Templates:即集群拓扑,包括节点数量(如Master数量、Slave数量)、Hadoop 参数配置,比如HDFS配置、YARN配置等。 ?Clusters:集群管理,包括集群扩容、集群启动、集群删除等。

OpenStack Compute物理架构

OpenStack Compute物理架构 OpenStack Compute采用无共享、基于消息的架构,非常灵活,我们能安装每个nova- service在单独的服务器上,这意味着安装OpenStack Compute有多种可能的方法。可能多结点部署唯一的联合依赖性,是Dashboard必须被安装在nova-api服务器。上海腾科的Niki 老师为大家介绍几种部署架构如下: a) 单结点:一台服务器运行所有的nova- services,同时也驱动虚拟实例。这种配置只为尝试OpenStack Compute,或者为了开发目的; b) 双结点:一个cloud controller 结点运行除nova-compute外的所有nova-services,compute结点运行nova-compute。一台客户计算机很可能需要打包镜像,以及和服务器进行交互,但是并不是必要的。这种配置主要用于概念和开发环境的证明。 c) 多结点:通过简单部署nova-compute在一台额外的服务器以及拷贝nova.conf文件到这个新增的结点,你能在两结点的基础上,添加更多的compute结点,形成多结点部署。在较为复杂的多结点部署中,还能增加一个volume controller 和一个network controller作为额外的结点。对于运行多个需要大量处理能力的虚拟机实例,至少是4个结点是最好的。 一个可能的Openstack Compute多服务器部署(集群中联网的虚拟服务器可能会改变)如下图所示: [OpenStack Compute物理架构] 如果你注意到消息队列中大量的复制引发了性能问题,一种可选的架构是增加更多的Messaging服务器。在这种情形下,除了可以扩展数据库服务器外,还可以增加一台额外的RabbitMQ服务器。部署中可以在任意服务器上运行任意nova-service,只要nova.conf中配置为指向RabbitMQ服务器,并且这些服务器能发送消息到它。 下图是另外一种多结点的部署架构。

OpenStack详解

图1-2 Openstack部署架构 0x02 部署Openstack 1.控制节点 控制器节点是云平台中实现包括网络控制、调度管理、API服务、身份管理和镜像管理等在内的物理节点。如图1-1所示,在云平台中只有一个控制器节点,所以它既是调度管理服务器,又是身份管理、镜像管理、API服务管理器。按照表2-1所示的步骤部署和配置云制器节点。 表2-1 部署云控制节点步骤

2.计算节点 计算节点是指提供nova-compute服务的物理节点,为云平台提供包括CPU、内存等计算资源,如图1-1所示,在云平台中一共有4个计算节点为云平台提供nova-compute服务,按照表2-2所示的步骤配置和部署计算节点。 表2-2 部署计算节点步骤 0x03创建/上传系统环境模板 1.创建系统环境模板

云平台环境一般包括操作系统和专业软件环境两部分。 (1)制作操作系统镜像:创建操作系统镜像要求本地环境支持KVM以及安装vncviewer组件。首先创建一个镜像盘,如"qemu -img create -f raw windows_xp.img 10G",该命令创建了一个容量为10G、raw格式的镜像盘;接着创建KVM镜像虚拟机,通过下面的命令启动系统安装W及建立引导启动系统,kvm -m 512 –cdromwindows_xp.iso –drive file=windows_xp.img,if=scsi,index= 0-boot d –net nic -net user -nogrephic -vnc:0;最后使用vnc viewer登录引导界面安装系统; (2)安装专业软件:安装完操作系统后,需要在操作系统之上安装实验所需的专业软件和常用工具。比如为计算机实验室制作平台环境模板时,需要准备专业的VC++实验开发环境VC6.0,Java实验开发环境JDK、Eclipse等。 最后等待安装完成以后退出,通过命令killallkvm终止kvm,经过上述步骤,即可创建一个完整的系统环境模板。 2.上传模板 模板制作完成以后,需要把模板通过glance发布到云端,这样,用户才可以使用该模板,Openstack提供了命令行工具和Dashboard图形化界面上传镜像文件。通过命令行上传镜像;glance image-create -name “windows_xp”-file “windows_xp.img” -disk-format qcow2 -container-format bare -is-public true 3.创建云主机类型 云主机类型主要是指一些虚拟硬件设施的模板,它通过定义内存、硬盘及CPU等参数大小来限制用户对硬件设施的使用,防止因为用户申请过多的资源。Openstack允许开发者或管理员自定义云主机类型,它提供了命令行工具和Web图形界面两种方式支持云主机类型的自定义。Openstack默认提供了常用的五种云主机类型,如图3-1所示。开发者可根据

OpenStack的架构详解

OpenStack的架构详解(1) 2012-05-16 09:59 多易网多易网我要评论(2)字号:T | T OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平 台或工具集。其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。 AD:51CTO云计算架构师峰会抢票进行中! OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平 台或工具集。其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。 1. OpenStack是什么 OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平 台或工具集。其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。 OpenStack旗下包含了一组由社区维护的开源项目,他们分别是OpenStackCompute(Nova),OpenStackObjectStorage(Swift),以及OpenStackImageService(Glance)。OpenStackCompute[1],为云组织的控制器,它提供一个工具来部署云,包括运行实例、 管理网络以及控制用户和其他项目对云的访问 (thecloudthroughusersandprojects)。它底层 的开源项目名称是Nova,其提供的软件能控制IaaS云计算平台,类似于 AmazonEC2和RackspaceCloudServers。实际上它定义的是,与运行在主机操作系统上潜在的虚拟化机制 交互的驱动,暴露基于 WebAPI的功能。 OpenStackObjectStorage[2],是一个可扩展的对象存储系统。对象存储支持多种应用,比 如复制和存档数据,图像或视频服务,存储次级静态数据,开发数据存储整合的新应用,存储容量难以估计的数据,为Web应用创建基于云的弹性存储。 OpenStackImageService[1],是一个虚拟机镜像的存储、查询和检索系统,服务包括的RESTfulAPI允许用户通过 HTTP请求查询VM镜像元数据,以及检索实际的镜像。VM 镜像有四种配置方式:简单的文件系统,类似OpenStackObjectStorage的对象存储系统, 直接用Amazon'sSimpleStorageSolution(S3)存储,用带有ObjectStore的S3间接访问S3。 三个项目的基本关系如下图1-1所示:

相关主题
文本预览
相关文档 最新文档