OpenStack及其构成简介1

第一部分 OpenStack及其构成简介

一、云计算

云计算是一种计算模型,它将诸如运算能力、存储、网络和软件等资源抽象成为服务,以便让用户通过互联网远程享用,付费的形式也如同传统公共服务设施一样。因需而定、提供方便、动态改变和无限的虚拟化扩展能力是云计算的几个重要特征。

不同的“云”对应着不同的基础设施。下面是三种广义的“云”:

l 基础设施即服务(IaaS)

l 平台即服务(PaaS)

l 软件即服务(SaaS)

译者注:Open为开放之意,Stack则是堆砌,OpenStack合起来如其名,就是许多Open的Softwares堆积的集合,但1 + 1 > 2,系统的功能更为强大。

相关阅读:

Ubuntu 12.10 上安装部署Openstack  http://www.linuxidc.com/Linux/2013-08/88184.htm

Ubuntu 12.04 OpenStack Swift单节点部署手册 http://www.linuxidc.com/Linux/2013-08/88182.htm

在Ubuntu上安装OpenStack的Swift组件-installing openstack object storage  http://www.linuxidc.com/Linux/2013-08/88180.htm

OpenStack Hands on lab系列  http://www.linuxidc.com/Linux/2013-08/88170.htm

二、OpenStack

(一)OpenStack概要

OpenStack是一整套开源软件项目的综合,它允许企业或服务提供者建立、运行自己的云计算和存储设施。Rackspace与NASA是最初重要的两个贡献者,前者提供了“云文件”平台代码,该平台增强了OpenStack对象存储部分的功能,而后者带来了“Nebula”平台形成了OpenStack其余的部分。而今,OpenStack基金会已经有150多个会员,包括很多知名公司如“Canonical、DELL、Citrix”等。

以下是5个OpenStack的重要构成部分:

l Nova - 计算服务

l Swift - 存储服务

l Glance - 镜像服务

l Keystone - 认证服务

l Horizon - UI服务

图1 OpenStack基本构架

下图展示了Keystone、Dashboard二者与其它OpenStack部分的交互。

(二)OpenStack计算设施----Nova

Nova是OpenStack计算的弹性控制器。OpenStack云实例生命期所需的各种动作都将由Nova进行处理和支撑,这就意味着Nova以管理平台的身份登场,负责管理整个云的计算资源、网络、授权及测度。虽然Nova本身并不提供任何虚拟能力,但是它将使用libvirt API与虚拟机的宿主机进行交互。Nova通过Web服务API来对外提供处理接口,而且这些接口与Amazon的Web服务接口是兼容的。

功能及特点

l 实例生命周期管理

l 计算资源管理

l 网络与授权管理

l 基于REST的API

l 异步连续通信

l 支持各种宿主:Xen、XenServer/XCP、KVM、UML、VMware vSphere及Hyper-V

OpenStack计算部件

l Nova弹性云包含以下主要部分:

l API Server(nova-api)

l 消息队列(rabbit-mq server)

l 运算工作站(nova-compute)

l 网络控制器(nova-network)

l 卷管理(nova-volume)

l 调度器(nova-scheduler)

 

API服务器(nova-api)

API服务器提供了云设施与外界交互的接口,它是外界用户对云实施管理的唯一通道。通过使用web服务来调用各种EC2的API,接着API服务器便通过消息队列把请求送达至云内目标设施进行处理。作为对EC2-api的替代,用户也可以使用OpenStack的原生API,我们把它叫做“OpenStack API”。

消息队列(Rabbit MQ Server)

OpenStack内部在遵循AMQP(高级消息队列协议)的基础上采用消息队列进行通信。Nova对请求应答进行异步调用,当请求接收后便则立即触发一个回调。由于使用了异步通信,不会有用户的动作被长置于等待状态。例如,启动一个实例或上传一份镜像的过程较为耗时,API调用就将等待返回结果而不影响其它操作,在此异步通信起到了很大作用,使整个系统变得更加高效。

运算工作站(nova-compute)

运算工作站的主要任务是管理实例的整个生命周期。他们通过消息队列接收请求并执行,从而对实例进行各种操作。在典型实际生产环境下,会架设许多运算工作站,根据调度算法,一个实例可以在可用的任意一台运算工作站上部署。

网络控制器(nova-network)

网络控制器处理主机的网络配置,例如IP地址分配,配置项目VLAN,设定安全群组以及为计算节点配置网络。

卷工作站(nova-volume)

卷工作站管理基于LVM的实例卷,它能够为一个实例创建、删除、附加卷,也可以从一个实例中分离卷。卷管理为何如此重要?因为它提供了一种保持实例持续存储的手段,比如当结束一个实例后,根分区如果是非持续化的,那么对其的任何改变都将丢失。可是,如果从一个实例中将卷分离出来,或者为这个实例附加上卷的话,即使实例被关闭,数据仍然保存其中。这些数据可以通过将卷附加到原实例或其他实例的方式而重新访问。

因此,为了日后访问,重要数据务必要写入卷中。这种应用对于数据服务器实例的存储而言,尤为重要。

调度器(nova-scheduler)

调度器负责把nova-API调用送达给目标。调度器以名为“nova-schedule”的守护进程方式运行,并根据调度算法从可用资源池中恰当地选择运算服务器。有很多因素都可以影响调度结果,比如负载、内存、子节点的远近、CPU架构等等。强大的是nova调度器采用的是可插入式架构。

目前nova调度器使用了几种基本的调度算法:

随机化:主机随机选择可用节点;

可用化:与随机相似,只是随机选择的范围被指定;

简单化:应用这种方式,主机选择负载最小者来运行实例。负载数据可以从别处获得,如负载均衡服务器。

(三)OpenStack镜像服务器----Glance

OpenStack镜像服务器是一套虚拟机镜像发现、注册、检索系统,我们可以将镜像存储到以下任意一种存储中:

本地文件系统(默认)

l OpenStack对象存储

l S3直接存储

l S3对象存储(作为S3访问的中间渠道)

l HTTP(只读)

功能及特点

提供镜像相关服务

Glance构件

l Glance控制器

l Glance注册器

(四)OpenStack存储设施----Swift

Swift为OpenStack提供一种分布式、持续虚拟对象存储,它类似于Amazon Web Service的S3简单存储服务。Swift具有跨节点百级对象的存储能力。Swift内建冗余和失效备援管理,也能够处理归档和媒体流,特别是对大数据(千兆字节)和大容量(多对象数量)的测度非常高效。

功能及特点

l 海量对象存储

l 大文件(对象)存储

l 数据冗余管理

l 归档能力-----处理大数据集

l 为虚拟机和云应用提供数据容器

l 处理流媒体

l 对象安全存储

l 备份与归档

l 良好的可伸缩性

Swift组件

l Swift账户

l Swift容器

l Swift对象

l Swift代理

l Swift RING

Swift代理服务器

用户都是通过Swift-API与代理服务器进行交互,代理服务器正是接收外界请求的门卫,它检测合法的实体位置并路由它们的请求。

此外,代理服务器也同时处理实体失效而转移时,故障切换的实体重复路由请求。

Swift对象服务器

对象服务器是一种二进制存储,它负责处理本地存储中的对象数据的存储、检索和删除。对象都是文件系统中存放的典型的二进制文件,具有扩展文件属性的元数据(xattr)。

注意:xattr格式被Linux中的ext3/4,XFS,Btrfs,JFS和ReiserFS所支持,但是并没有有效测试证明在XFS,JFS,ReiserFS,Reiser4和ZFS下也同样能运行良好。不过,XFS被认为是当前最好的选择。

Swift容器服务器

容器服务器将列出一个容器中的所有对象,默认对象列表将存储为SQLite文件(译者注:也可以修改为MySQL,安装中就是以MySQL为例)。容器服务器也会统计容器中包含的对象数量及容器的存储空间耗费。

Swift账户服务器

账户服务器与容器服务器类似,将列出容器中的对象。

Ring(索引环)

Ring容器记录着Swift中物理存储对象的位置信息,它是真实物理存储位置的实体名的虚拟映射,类似于查找及定位不同集群的实体真实物理位置的索引服务。这里所谓的实体指账户、容器、对象,它们都拥有属于自己的不同的Rings。

(五)OpenStack认证服务(Keystone)

Keystone为所有的OpenStack组件提供认证和访问策略服务,它依赖自身REST(基于Identity API)系统进行工作,主要对(但不限于)Swift、Glance、Nova等进行认证与授权。事实上,授权通过对动作消息来源者请求的合法性进行鉴定。如下图所示:

Keystone采用两种授权方式,一种基于用户名/密码,另一种基于令牌(Token)。除此之外,Keystone提供以下三种服务:

l 令牌服务:含有授权用户的授权信息

l 目录服务:含有用户合法操作的可用服务列表

l 策略服务:利用Keystone具体指定用户或群组某些访问权限

认证服务组件

服务入口:如Nova、Swift和Glance一样每个OpenStack服务都拥有一个指定的端口和专属的URL,我们称其为入口(endpoints)。

l 区位:在某个数据中心,一个区位具体指定了一处物理位置。在典型的云架构中,如果不是所有的服务都访问分布式数据中心或服务器的话,则也称其为区位。

l 用户:Keystone授权使用者

译者注:代表一个个体,OpenStack以用户的形式来授权服务给它们。用户拥有证书(credentials),且可能分配给一个或多个租户。经过验证后,会为每个单独的租户提供一个特定的令牌。[来源:http://blog.sina.com.cn/s/blog_70064f190100undy.html]

l 服务:总体而言,任何通过Keystone进行连接或管理的组件都被称为服务。举个例子,我们可以称Glance为Keystone的服务。

l 角色:为了维护安全限定,就云内特定用户可执行的操作而言,该用户关联的角色是非常重要的。

译者注:一个角色是应用于某个租户的使用权限集合,以允许某个指定用户访问或使用特定操作。角色是使用权限的逻辑分组,它使得通用的权限可以简单地分组并绑定到与某个指定租户相关的用户。

l 租间:租间指的是具有全部服务入口并配有特定成员角色的一个项目。

译者注:一个租间映射到一个Nova的“project-id”,在对象存储中,一个租间可以有多个容器。根据不同的安装方式,一个租间可以代表一个客户、帐号、组织或项目。

(六)OpenStack管理的Web接口----Horizon

Horizon是一个用以管理、控制OpenStack服务的Web控制面板,它可以管理实例、镜像、创建密匙对,对实例添加卷、操作Swift容器等。除此之外,用户还可以在控制面板中使用终端(console)或VNC直接访问实例。总之,Horizon具有如下一些特点:

l 实例管理:创建、终止实例,查看终端日志,VNC连接,添加卷等

l 访问与安全管理:创建安全群组,管理密匙对,设置浮动IP等

l 偏好设定:对虚拟硬件模板可以进行不同偏好设定

l 镜像管理:编辑或删除镜像

l 查看服务目录

l 管理用户、配额及项目用途

l 用户管理:创建用户等

l 卷管理:创建卷和快照

l 对象存储处理:创建、删除容器和对象

l 为项目下载环境变量

时间: 2024-10-14 00:40:50

OpenStack及其构成简介1的相关文章

OpenStack及其构成简介(一)

云计算平台也称为云平台.云计算平台可以划分为3类:以数据存储为主的存储型云平台,以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台. 第一部分:OpenStack及其构成简介 一.云计算云计算是一种计算模型,它将诸如运算能力.存储.网络和软件等资源抽象成为服务,以便让用户通过互联网远程享用,付费的形式也如同传统公共服务设施一样.因需而定.提供方便.动态改变和无限的虚拟化扩展能力是云计算的几个重要特征.不同的"云"对应着不同的基础设施.下面是三种广义的"云&

OpenStack Smaug项目简介

1 项目简介 Smaug是一个OpenStack中提供应用数据保护服务的项目. 2 项目使命 在OpenStack中建立应用数据保护的标准和规范. 保护OpenStack中的任何资源以及资源的依赖项. 提供多样化的解决方案和功能实现给开发者. 3 开发者视角 足够开放的架构设计保障开发者实现不同的OpenStack资源插件,实施保护机制. 4 用户视角 用户指定待保护的OpenStack资源,资源包括虚拟机,卷,网络拓扑等. 用户自定义保护计划. 5 管理员视角 设置哪些插件保护哪些资源,哪些插

Openstack之CEPH简介

Oepnstack之CEPH系列是根据Ceph Cookbook整理的笔记,分为以下几个部分: 1. <Ceph简介> 2. <Ceph集群操作> 3. <Ceph块设备管理与Openstack配置> 4. <深入Ceph> 5. <ceph优化与性能测试> 首发与blog.bobozhu.cn. Ceph概念 1.CEPH英文是宠物章鱼的昵称(cephalopod),一个软件定义存储(SDS)的实施方案,底层为分布式对象存储. 2.CEPH是真

OpenStack Magnum项目简介

1 项目简介 Magnum是OpenStack中一个提供容器集群部署的服务. Magnum是一个Pass层的OpenStack项目. Magnum使用Heat部署一个包含Docker和Kubernetes的操作系统镜像, 让容器集群运行在虚拟机(Virtual Machine)或者裸机(Bare Metal)中. 2 项目发展故事 Magnum项目创建之初,项目目标以Caas为宗旨,即容器即服务. 但在后续的发展过程中,社区更倾向于分离容器的集群部署功能和Docker容器集群的管理功能. 因此M

OpenStack Magnum 项目简介

背景 Magnum 项目是 2014 年 11 月加入 OpenStack 的年轻项目,由 Rackspace主导发起,其定位是提供容器即服务(Container as a Service)的 API 框架,计划在 2015 年 10 月推出的 Liberty 版本时成熟. 我们知道,目前 OpenStack 中 Nova 项目已经通过 nova-docker 的形式支持了 Docker 容器(把容器当虚机管).但在实际使用中,会发现有不少的问题.毕竟,Nova 设计的初衷是管理虚拟机,而容器跟

(转)OpenStack入门

第一部分 OpenStack及其构成简介 一.云计算 云计算是一种计算模型,它将诸如运算能力.存储.网络和软件等资源抽象成为服务,以便让用户通过互联网远程享用,付费的形式也如同传统公共服务设施一样.因需而定.提供方便.动态改变和无限的虚拟化扩展能力是云计算的几个重要特征. 不同的“云”对应着不同的基础设施.下面是三种广义的“云”: l 基础设施即服务(IaaS) l 平台即服务(PaaS) l 软件即服务(SaaS) 译者注:Open为开放之意,Stack则是堆砌,OpenStack合起来如其名

一共81个,开源大数据处理工具汇总(下),包括日志收集系统/集群管理/RPC等

作者:大数据女神-诺蓝(微信公号:dashujunvshen).本文是36大数据专稿,转载必须标明来源36大数据. 接上一部分:一共81个,开源大数据处理工具汇总(上),第二部分主要收集整理的内容主要有日志收集系统.消息系统.分布式服务.集群管理.RPC.基础设施.搜索引擎.Iaas和监控管理等大数据开源工具. 日志收集系统 一.Facebook Scribe 贡献者:Facebook 简介:Scribe是Facebook开源的日志收集系统,在Facebook内部已经得到大量的应用.它能够从各种

(转)一共81个,开源大数据处理工具汇总

[思路网注] 本文一共分为上下两部分.我们将针对大数据开源工具不同的用处来进行分类,并且附上了官网和部分下载链接,希望能给做大数据的朋友做个参考. 本文一共分为上下两部分.我们将针对大数据开源工具不同的用处来进行分类,并且附上了官网和部分下载链接,希望能给做大数据的朋友做个参考.下面是第一部分. 查询引擎 一.Phoenix 贡献者::Salesforce 简介:这是一个Java中间层,可以让开发者在Apache HBase上执行SQL查询.Phoenix完全使用Java编写,代码位于GitHu

openstack架构简介J版(更新中)

title : OPENSTACK架构简介 openstack的发展及历史 openstack是什么? OpenStack是一个美国国家航空航天局和Rackspace合作研发的云端运算?软件,以Apache许可证授权,并且是一个自由软件和开放源代码项目. 通俗点来讲,openstack就是一个用python编写的linux软件,openstack是一个开源云平台. openstack能干嘛? openstack最基础的功能就是产生云主机(vm虚拟机),用这些虚拟机可以做你想做的很多事.例如产生一