OpenStack及其构成简介

来源:互联网 发布:手机赚钱软件微信提现 编辑:程序博客网 时间:2024/05/17 03:16

  本文结构目录如下

  • 一、概述
    • 云计算
    • OpenStack
  • 二、OpenStack的主要功能组件 
一 概述
  1 云计算
  云计算是一种计算模型,它将诸如运算能力、存储、网络和软件等资源抽象为服务,以便让用户通过互联网远程享用,付费的形式也如同传统公共服务设施一样。因需而定、提供方便、动态改变和无限的虚拟化扩展能力是云计算的几个重要特征。不同的云对应着不同的基础设施,主要有以下三种:基础设施服务(IaaS)、平台服务(PaaS)、软件服务(SaaS)。
  2 OepnStack
  OpenSack是一整套开源项目的综合,它允许企业或者服务提供者建立、运行自己的云计算和存储设施。这些开源项目之间是松耦合的关系,可以独立安装、使用或停止,扩展性好。RackSpace与NASA是最初重要的贡献者,前者提供了“云文件”平台代码,该平台增强了OpenStack对象存储部分的功能,后者带来的“Nebula”平台形成了最初OpenStack其余的部分。总之,OpenStack是基础设施资源的系统管理平台。
 
二 OpenStack的主要功能组件
  在这里,主要列出OpenStack7个主要功能组件。
一) Horizon
  Horizon是一个用于管理、控制OpenStack服务的Web控制台管理界面,用户在Web管理控制台的所有操作都转化为后台对API的调用。它可以管理实例、镜像、操作swift容器等,也就是管理一系列的资源,此外用户还可以使用终端(Console)或VNC直接访问实例。
 
  二)KeyStone(认证服务)
  KeyStone为所有OpenStack组件提供认证和访问策略服务,主要对但不限于Swift、Glance、Nova等进行认证与授权(通过对动作消息来源者请求的合法性进行鉴定)。授权方式有基于用户名/密码和基于令牌(Token)两种。KeyStone支持用于集成到异构环境并展示不同功能的后端插件。那么KeyStone提供的服务有哪些呢(列出一部分)?
    • Token服务,验证并管理用于验证身份的令牌;
    • Catalog服务,提供可用于端点发现的服务注册表;
    • Policy服务,显示一个基于规则的身份验证引擎。
  这里涉及到几个概念。
    • User,即用户,代表可以通过KeyStone进行访问的人或程序,User通过认证信息进行验证。用户拥有证书,且分配给一个或者多个租户,OpenStack会为每个单独的租户提供一个特定的令牌;
    • Tenant,即租户,它是各个服务中一些可以访问的资源集合。
    • Role,即角色,一个角色是应用于某个租户的使用权限组合,以允许某个用户访问或使用特定操作。
    • Service,即服务,总体而言,任何通过KeyStone进行连接和管理的组件都被成为服务,如Glance、Nova,这些在KeyStone上进行注册,可称Glance为KeyStone的一个服务。
    • Endpoint,即入口点,是一个服务暴露出来的访问点,Nova、Swift、Glance等每一个OpenStack服务都拥有一个指定的端口和专属的URL,称其为入口点。
    • Token,即令牌,访问资源的令牌具有时效性。  
  三)Nova(计算服务)
  Nova是OpenStack计算的弹性控制器,OpenStack云实例生命周期所需的各种动作都将由Nova进行处理和支撑,也就意味着Nova负责整个云的计算资源、网络、授权及测度。Nova本身并不提供任何虚拟能力,它将使用PAI与虚拟机的宿主机进行交互,同时,通过Web服务API接口对外提供处理接口。
  主要功能包括:实例生命周期管理;计算资源管理;对外提供基于REST风格的API;异步连续通信;支持各种宿主:Xen、KVM、UML、VMware、Hyper-V等。
  Nova主要包含以下几个部分:API服务器(nova-api)、消息队列(Rabbit MQ Server)、运算工作站(nova-compute)、网络控制器(nova-network)、卷工作站(nova-volume)、调度器(nova-scheduler)。
    • API服务器(nova-api):API服务器提供了云设施与外界交互的接口,它是外界用户对云实施管理的唯一通道。API服务器通过消息队列把请求送达至云内目标设施进行处理。
    • 消息队列(Rabbit MQ Server):OpenStack内部在遵循AMQP(高级消息队列协议)的基础上采用消息队列进行通信。Nova对请求应答进行异步调用,当请求接收后便则立即触发一个回调。由于使用了异步通信,不会有用户的动作被长置于等待状态。例如,启动一个实例或上传一份镜像的过程较为耗时,API调用就将等待返回结果而不影响其它操作,在此异步通信起到了很大作用,使整个系统变得更加高效。
    • 运算工作站(nova-compute):运算工作站的主要任务是管理实例的整个生命周期。他们通过消息队列接收请求并执行,从而对实例进行各种操作。在典型实际生产环境下,会架设许多运算工作站,根据调度算法,一个实例可以在可用的任意一台运算工作站上部署。
    • 网络控制器(nova-network):网络控制器处理主机的网络配置,例如IP地址分配,配置项目VLAN,设定安全群组以及为计算节点配置网络。
    • 卷工作站(nova-volume):卷工作站管理基于LVM的实例卷,它能够为一个实例创建、删除、附加卷,也可以从一个实例中分离卷。
    • 调度器(nova-scheduler):调度器负责把nova-API调用送达给目标。调度器以名为“nova-schedule”的守护进程方式运行,并根据调度算法从可用资源池中恰当地选择运算服务器。有很多因素都可以影响调度结果,比如负载、内存、子节点的远近、CPU架构等等。 
  四)Glance(镜像服务)
  Glance,OpenStack的镜像服务器,主要功能是提供虚拟机镜像的存储、查询、检索服务。Glance本身依赖于存储服务和数据库,存储服务主要是提供存储镜像,数据库存储与镜像相关的源数据。由Glance控制器和Glance注册器组成。
 
  五)Swift(对象存储服务)
  Swift为OpenStack提供一种分布式、持续虚拟对象存储,它具有跨节点百级对象的存储能力,且无限可扩展。功能海量对象存储、 大文件(对象)存储、 数据冗余管理、归档能力、为虚拟机和云应用提供数据容器、 处理流媒体、 对象安全存储等。
  Swift组件有Swift账户、Swift容器、Swift对象、Swift代理、Swift Ring
    • Swift代理服务器:用户都是通过Swift-API与代理服务器进行交互,代理服务器正是接收外界请求的门卫,它检测合法的实体位置并路由它们的请求。此外,代理服务器也同时处理实体失效而转移时,故障切换的实体重复路由请求。
    • Swift对象服务器:对象服务器是一种二进制存储,它负责处理本地存储中的对象数据的存储、检索和删除。对象都是文件系统中存放的典型的二进制文件,具有扩展文件属性的元数据(xattr)。
    • Swift容器服务器:容器服务器将列出一个容器中的所有对象,默认对象列表将存储为SQLite文件,容器服务器也会统计容器中包含的对象数量及容器的存储空间耗费。
    • Swift账户服务器:账户服务器与容器服务器类似,将列出容器中的对象。
    • Ring(索引环):Ring容器记录着Swift中物理存储对象的位置信息,它是真实物理存储位置的实体名的虚拟映射,类似于查找及定位不同集群的实体真实物理位置的索引服务。这里所谓的实体指账户、容器、对象,它们都拥有属于自己的不同的Rings。 
  六)Cinder(块存储服务)
  管理所有的块存储服务
 
  七)Neutron(网络服务)
  提供云计算环境下的虚拟网络功能,为每个用户提供独立的网络环境,有三种模式:Flat模式、Flat DHCP模式、VLAN模式。 
 
0 0
原创粉丝点击