openstack_openstack 实例 - CSDN
openstack 订阅
OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。由NASA(美国国家航空航天局)和Rackspace合作研发并发起,以Apache许可证(Apache软件基金会发布的一个自由软件许可证)授权的开源代码项目。 [1]  OpenStack为私有云和公有云提供可扩展的弹性的云计算服务。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。 [1] 展开全文
OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。由NASA(美国国家航空航天局)和Rackspace合作研发并发起,以Apache许可证(Apache软件基金会发布的一个自由软件许可证)授权的开源代码项目。 [1]  OpenStack为私有云和公有云提供可扩展的弹性的云计算服务。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。 [1]
信息
编程语言
Python
遵循标准
Open 、AMQP、SQLAlchemy
开发者
NASA,Rackspace
中文名
OpenStack云计算管理平台
外文名
OpenStack
OpenStack简介
Openstack是一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。Openstack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人将 Openstack作为基础设施即服务资源的通用前端。Openstack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。本文希望通过提供必要的指导信息,帮助大家利用 Openstack前端来设置及管理自己的公共云或私有云。 [2]  Openstack是由 Rackspace和NASA共同开发的云计算平台,帮助服务商和企业内部实现类似于 Amazon ec2和S3的云基础架构服务( Infrastructure as a Service)。 Openstack包括两个主要模块:Nova和 Swift。前者是NASA开发的虚拟服务器部署和业务计算模块;后是 Backpack开发的分布式云存储模块,两者可以一起用,也可以分开单独用。 Openstack是开源项目,除了有 Rackspace和NASA的大力支持外,后面还有包括Dell、 Citrix、 Cisco Canonical这些重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云台 Eucalyptus的态势。 [2] 
收起全文
精华内容
参与话题
  • OpenStack从入门到精通

    2020-06-22 09:20:23
  • openstack介绍及原理

    千次阅读 多人点赞 2019-08-24 20:52:18
    文章目录什么是openstack云计算模式OpenStack 中有哪些项目?Openstack创建实例的流程总图 什么是openstack OpenStack 是一系列开源工具(或开源项目)的组合,主要使用池化虚拟资源来构建和管理私有云及公共云。...

    在这里插入图片描述

    什么是openstack

    OpenStack 是一系列开源工具(或开源项目)的组合,主要使用池化虚拟资源来构建和管理私有云及公共云。其中的六个项目主要负责处理核心云计算服务,包括计算、网络、存储、身份和镜像服务。还有另外十多个可选项目,用户可把它们捆绑打包,用来创建独特、可部署的云架构。

    云计算模式

    一、IaaS:基础设施即服务(个人比较习惯的):用户通过网络获取虚机、存储、网络,然后用户根据自己的需求操作获取的资源

    二、PaaS:平台即服务:将软件研发平台作为一种服务, 如Eclipse/Java编程平台,服务商提供编程接口/运行平台等

    三、SaaS:软件即服务 :将软件作为一种服务通过网络提供给用户,如web的电子邮件、HR系统、订单管理系统、客户关系系统等。用户无需购买软件,而是向提供商租用基于web的软件,来管理企业经营活动

    OpenStack 中有哪些项目?

    OpenStack 架构由大量开源项目组成。其中包含 6 个稳定可靠的核心服务,用于处理计算、网络、存储、身份和镜像; 同时,还为用户提供了十多种开发成熟度各异的可选服务。OpenStack 的 6 个核心服务主要担纲系统的基础架构,其余项目则负责管理控制面板、编排、裸机部署、信息传递、容器及统筹管理等操作。

    1. keystone:Keystone 认证所有 OpenStack 服务并对其进行授权。同时,它也是所有服务的端点目录。
    2. glance:Glance 可存储和检索多个位置的虚拟机磁盘镜像。
    3. nova:是一个完整的 OpenStack 计算资源管理和访问工具,负责处理规划、创建和删除操作。
    4. neutron:Neutron 能够连接其他 OpenStack 服务并连接网络。
    5. dashboard:web管理界面
    6. Swift: 是一种高度容错的对象存储服务,使用 RESTful API 来存储和检索非结构数据对象。
    7. Cinder 通过自助服务 API 访问持久块存储。
    8. Ceilometer:计费
    9. Heat:编排

    openstack基本架构
    在这里插入图片描述

    通过消息队列和数据库,各个组件可以相互调用,互相通信。每个项目都有各自的特性,大而全的架构并非适合每一个用户,如Glance在最早的A、B版本中并没有实际出现应用,Nova可以脱离镜像服务独立运行。当用户的云计算规模大到需要管理多种镜像时,才需要像Glance这样的组件。

    OpenStack的逻辑架构
    在这里插入图片描述


    Openstack创建实例的流程

    1. 通过登录界面dashboard或命令行CLI通过RESTful APIkeystone获取认证信息。

    2. keystone通过用户请求认证信息,并生成auth-token返回给对应的认证请求。

    在这里插入图片描述


    1. 然后携带auth-token通过RESTful APInova-api发送一个boot instance的请求。
      在这里插入图片描述

    1. nova-api接受请求后向keystone发送认证请求,查看token是否为有效用户和token。
    2. keystone验证token是否有效,将结果返回给nova-api
      在这里插入图片描述

    1. 通过认证后nova-api和数据库通讯,初始化新建虚拟机的数据库记录。
      在这里插入图片描述

    1. nova-api调用rabbitmq,向nova-scheduler请求是否有创建虚拟机的资源(node主机)。

    2. nova-scheduler进程侦听消息队列,获取nova-api的请求。
      在这里插入图片描述


    1. nova-scheduler通过查询nova数据库中计算资源的情况,并通过调度算法计算符合虚拟机创建需要的主机。

    2. 对于有符合虚拟机创建的主机,nova-scheduler更新数据库中虚拟机对应的物理主机信息。
      在这里插入图片描述


    1. nova-scheduler通过rpc调用向nova-compute发送对应的创建虚拟机请求的消息。
      nova-compute会从对应的消息队列中获取创建虚拟机请求的消息。

    在这里插入图片描述


    1. nova-compute通过rpc调用向nova-conductor请求获取虚拟机消息。(Flavor)
      nova-conductor从消息队队列中拿到nova-compute请求消息。
      在这里插入图片描述

    1. nova-conductor根据消息查询虚拟机对应的信息。
      nova-conductor从数据库中获得虚拟机对应信息。

    在这里插入图片描述


    1. nova-conductor把虚拟机信息通过消息的方式发送到消息队列中。
      nova-compute从对应的消息队列中获取虚拟机信息消息。

    在这里插入图片描述


    1. nova-compute请求glance-api获取创建虚拟机所需要镜像。
      在这里插入图片描述

    1. glance-apikeystone认证token是否有效,并返回验证结果。
      在这里插入图片描述

    1. token验证通过,nova-compute获得虚拟机镜像信息(URL)。
      在这里插入图片描述

    1. nova-compute请求neutron-server获取创建虚拟机所需要的网络信息。
    2. neutron-server向keystone认证token是否有效,并返回验证结果。
    3. token验证通过,nova-compute获得虚拟机网络信息。
      在这里插入图片描述

    1. nova-compute请求cinder-api获取创建虚拟机所需要的持久化存储信息。
    2. cinder-api向keystone认证token是否有效,并返回验证结果。
    3. token验证通过,nova-compute获得虚拟机持久化存储信息。
      在这里插入图片描述

    1. nova-compute根据instance的信息调用配置的虚拟化驱动来创建虚拟机。
      在这里插入图片描述

    总图

    在这里插入图片描述


    openstack项目搭建:

    1、环境布署
    2、配置keystone服务
    3、配置glance服务
    4、配置placement服务
    5、配置nova服务控制节点
    6、配置nova服务计算节点
    7、配置neutron服务控制节点
    8、配置neutron服务计算节点
    9、创建实例
    10、配置dashboard服务

    展开全文
  • 全面认识openstackOpenStack架构详解

    万次阅读 多人点赞 2020-05-17 07:10:44
    OpenStack既是一个社区,也是一个项目和一个开源软件,提供开放源码软件,建立公共和私有云,它提供了一个部署云的操作平台或工具集,其宗旨在于:帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大...

    OpenStack既是一个社区,也是一个项目和一个开源软件,提供开放源码软件,建立公共和私有云,它提供了一个部署云的操作平台或工具集,其宗旨在于:帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。
    OpenStackd开源项目由社区维护,包括OpenStack计算(代号为Nova),OpenStack对象存储(代号为Swift),并OpenStack镜像服务(代号Glance)的集合。 OpenStack提供了一个操作平台,或工具包,用于编排云。

    下面列出Openstack的详细构架图

    Openstack的网络拓扑结构图

    整个OpenStack是由控制节点,计算节点,网络节点,存储节点四大部分组成。(这四个节点也可以安装在一台机器上,单机部署)
    其中:
    控制节点负责对其余节点的控制,包含虚拟机建立,迁移,网络分配,存储分配等等
    计算节点负责虚拟机运行
    网络节点负责对外网络与内网络之间的通信
    存储节点负责对虚拟机的额外存储管理等等

    控制节点架构:

    控制节点包括以下服务

       管理支持服务

       基础管理服务

       扩展管理服务

       1)管理支持服务包含MySQL与Qpid两个服务

    MySQL:数据库作为基础/扩展服务产生的数据存放的地方

    Qpid:消息代理(也称消息中间件)为其他各种服务之间提供了统一的消息通信服务

       2)基础管理服务包含Keystone,Glance,Nova,Neutron,Horizon五个服务

    Keystone:认证管理服务,提供了其余所有组件的认证信息/令牌的管理,创建,修改等等,使用MySQL作为统一的数据库

    Glance:镜像管理服务,提供了对虚拟机部署的时候所能提供的镜像的管理,包含镜像的导入,格式,以及制作相应的模板

    Nova:计算管理服务,提供了对计算节点的Nova的管理,使用Nova-API进行通信

    Neutron:网络管理服务,提供了对网络节点的网络拓扑管理,同时提供Neutron在Horizon的管理面板

    Horizon:控制台服务,提供了以Web的形式对所有节点的所有服务的管理,通常把该服务称为DashBoard

       3)扩展管理服务包含Cinder,Swift,Trove,Heat,Centimeter五个服务

    Cinder:提供管理存储节点的Cinder相关,同时提供Cinder在Horizon中的管理面板

    Swift:提供管理存储节点的Swift相关,同时提供Swift在Horizon中的管理面板

    Trove:提供管理数据库节点的Trove相关,同时提供Trove在Horizon中的管理面板

    Heat:提供了基于模板来实现云环境中资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩,负载均衡等高级特性。

    Centimeter:提供对物理资源以及虚拟资源的监控,并记录这些数据,对该数据进行分析,在一定条件下触发相应动作

    控制节点一般来说只需要一个网络端口用于通信/管理各个节点

    网络节点架构

    网络节点仅包含Neutron服务

    Neutron:负责管理私有网段与公有网段的通信,以及管理虚拟机网络之间的通信/拓扑,管理虚拟机之上的防火等等

    网络节点包含三个网络端口

    eth0:用于与控制节点进行通信

    eth1:用于与除了控制节点之外的计算/存储节点之间的通信

    eth2:用于外部的虚拟机与相应网络之间的通信

    计算节点架构

    计算节点包含Nova,Neutron,Telemeter三个服务

      1)基础服务

    Nova:提供虚拟机的创建,运行,迁移,快照等各种围绕虚拟机的服务,并提供API与控制节点对接,由控制节点下发任务

    Neutron:提供计算节点与网络节点之间的通信服务

      2)扩展服务

    Telmeter:提供计算节点的监控代理,将虚拟机的情况反馈给控制节点,是Centimeter的代理服务

    计算节点包含最少两个网络端口

    eth0:与控制节点进行通信,受控制节点统一调配

    eth1:与网络节点,存储节点进行通信

    存储节点架构

    存储节点包含Cinder,Swift等服务

    Cinder:块存储服务,提供相应的块存储,简单来说,就是虚拟出一块磁盘,可以挂载到相应的虚拟机之上,不受文件系统等因素影响,对虚拟机来说,这个操作就像是新加了一块硬盘,可以完成对磁盘的任何操作,包括挂载,卸载,格式化,转换文件系统等等操作,大多应用于虚拟机空间不足的情况下的空间扩容等等

    Swift:对象存储服务,提供相应的对象存储,简单来说,就是虚拟出一块磁盘空间,可以在这个空间当中存放文件,也仅仅只能存放文件,不能进行格式化,转换文件系统,大多应用于云磁盘/文件

    存储节点包含最少两个网络接口

    eth0:与控制节点进行通信,接受控制节点任务,受控制节点统一调配

    eth1:与计算/网络节点进行通信,完成控制节点下发的各类任务

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    下面说一说Openstack的各个组件作用及关系

    Openstack发展至今,总共集成了下面几个组件:

    Nova - 计算服务
    Neutron-网络服务
    Swift - 对象存储服务
    Cinder-块存储服务
    Glance - 镜像服务
    Keystone - 认证服务
    Horizon - UI服务
    Ceilometer-监控服务
    Heat-集群服务
    Trove-数据库服务

    组件间的关系图如下:

    重要组件介绍

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

     

    Keystone采用两种授权方式,一种基于用户名/密码,另一种基于令牌(Token)

    除此之外,Keystone提供以下三种服务:
        令牌服务:含有授权用户的授权信息
        目录服务:含有用户合法操作的可用服务列表
        策略服务:利用Keystone具体指定用户或群组某些访问权限

    keystone认证服务注意点:

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

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

    用户:Keystone授权使用者
      PS:代表一个个体,OpenStack以用户的形式来授权服务给它们。用户拥有证书(credentials),且可能分配给一个或多个租户。经过验证后,会为每个单独的租户提供一个特定的令牌。

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

    角色:为了维护安全限定,就云内特定用户可执行的操作而言,该用户关联的角色是非常重要的。
      PS:一个角色是应用于某个租户的使用权限集合,以允许某个指定用户访问或使用特定操作。角色是使用权限的逻辑分组,它使得通用的权限可以简单地分组并绑定到与某个指定租户相关的用户。

    租间:租间指的是具有全部服务入口并配有特定成员角色的一个项目。
      PS:一个租间映射到一个Nova的“project-id”,在对象存储中,一个租间可以有多个容器。根据不同的安装方式,一个租间可以代表一个客户、帐号、组织或项目。

    OpenStack计算设施----Nova

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

    功能及特点: 
    实例生命周期管理
    计算资源管理
    网络与授权管理
    基于REST的API
    异步连续通信
    支持各种宿主:Xen、XenServer/XCP、KVM、UML、VMware vSphere及Hyper-V

    Nova弹性云(OpenStack计算部件)包含以下主要部分:
    API Server(nova-api)
    消息队列(rabbit-mq server)
    运算工作站(nova-compute)
    网络控制器(nova-network)
    卷管理(nova-volume)
    调度器(nova-scheduler)

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

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

     3)调度器(nova-scheduler)  

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

    目前nova调度器使用了几种基本的调度算法:
      随机化:主机随机选择可用节点;
      可用化:与随机相似,只是随机选择的范围被指定;
      简单化:应用这种方式,主机选择负载最小者来运行实例。负载数据可以从别处获得,如负载均衡服务器。

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

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

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

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

    OpenStack镜像服务器----Glance

    OpenStack镜像服务器是一套虚拟机镜像发现、注册、检索系统,我们可以将镜像存储到以下任意一种存储中:
    本地文件系统(默认)
    S3直接存储
    S3对象存储(作为S3访问的中间渠道)
    OpenStack对象存储等等。
      
    功能及特点:
    提供镜像相关服务。

    Glance构件:
    1)Glance-API:
      主要负责接收响应镜像管理命令的Restful请求,分析消息请求信息并分发其所带的命令(如新增,删除,更新等)。默认绑定端口是9292。
    2)Glance-Registry:
      主要负责接收响应镜像元数据命令的Restful请求。分析消息请求信息并分发其所带的命令(如获取元数据,更新元数据等)。默认绑定的端口是9191。

    OpenStack存储设施----Swift

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

    swift功能及特点:  
    海量对象存储
    大文件(对象)存储
    数据冗余管理
    归档能力-----处理大数据集
    为虚拟机和云应用提供数据容器
    处理流媒体
    对象安全存储
    备份与归档
    良好的可伸缩性

    Swift组件
    Swift账户
    Swift容器
    Swift对象
    Swift代理
    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管理的Web接口----Horizon

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

    总之,Horizon具有如下一些特点:  
    实例管理:创建、终止实例,查看终端日志,VNC连接,添加卷等
    访问与安全管理:创建安全群组,管理密匙对,设置浮动IP等
    偏好设定:对虚拟硬件模板可以进行不同偏好设定
    镜像管理:编辑或删除镜像
    查看服务目录
    管理用户、配额及项目用途
    用户管理:创建用户等
    卷管理:创建卷和快照
    对象存储处理:创建、删除容器和对象
    为项目下载环境变量

    展开全文
  • openstack介绍--(基础)

    万次阅读 2018-07-03 08:57:36
    openstack介绍 openstack是一个云平台管理的项目,它不是一个软件。也就是说我们可以使用openstack来管理我们一个数据中心大量资源池。它里面包含了很多子项目openstack包含三大项:计算 网络 存储 openstack主要...

    openstack介绍

     openstack是一个云平台管理的项目,它不是一个软件。也就是说我们可以使用openstack来管理我们一个数据中心大量资源池。它里面包含了很多子项目

    image_1b25l8lci9tvktkei712s8un59.png-46.2kB

    openstack包含三大项:计算 网络 存储 
      openstack主要目标是来简化资源的管理和分配,把计算 网络 存储。三大项虚拟成三大资源池,例如需要计算资源我这里可以提供,需要网络资源这里也可以提供以及存储资源的需求,对外提供api,通过api进行交互 
      openstack的设计基本上是按照亚马逊进行设置的,我们可以将openstack理解为开源版本的aws。因为它很多地方都参考亚马逊进行操作的,而且openstack的很多api跟亚马逊是相通的。 
      openstack火起来的原因首先是apache旗下的开源软件,第二它是由python进行编写 
    (因为python比较简单,深受技术人员的喜欢)

    openstack官方网站:http://www.openstack.org

    openstack版本介绍

    image_1b25lemg8s41aji1c30vkivq2m.png-143.1kB
     openstack版本是每6个月发布一次,每次版本的顺序按照A-Z进行排序。 
    那么我们应该如何选择版本呢? 
      我们选择版本的时候,除了新版本的那些功能不得不用,那我们可以选择新的版本。其实我们可以选择稍微落后的一个版本。上述图不够准确,现在已经达到N版。国内openstack是从E班开始火的。因为E版本当时是比较完善的,国内openstack最火的时候是在G版的时候。现在国内不论是传统行业还是互联网行业都在使用openstack

    openstack架构

    image_1b25lh9fd4bs1cb6q8g1v0r67f13.png-40.3kB

    服务名称项目名称描述
    DasgviardHorizon基于Openstack API接口使用diango开发的Web管理
    ComputeNova通过虚拟化技术提供计算资源池
    NetworkingNeutron实现了虚拟机的网络资源管理。
       
    Storage (存储)  
    Object StorageSwift对象存储,适用于“一次写入、多次读取”
    Block StorageCinder块存储,提供存储资源池
       
    ShareServices (共享服务) 
    Identify ServiceKeystone认证管理
    Image ServiceGlance提供虚拟镜像的注册和存储管理
    TelemetryCeilometer提供监控和数据采集、计量服务
       
    Higher-level Services (高层服务)  
    OrchestrationHeat自动化部署的组件
    Database ServiceTrove提供数据库应用服务

    image_1b25lidia998o14cdh1mk0doo9.png-112.2kB

    解释:这里面所有的服务都是围绕着VM进行提供服务的,虚拟机需要什么资源,我们就提供什么资源

      我们可以将服务分为两大类,一个是服务的提供者,一个是服务的消费者。提供者是我可以提供某个服务,消费者是我可以用到这个服务。 
      openstack默认是没有创建虚拟机的功能,是通过调用KVM来创建虚拟机还可以调用esxi来创建虚拟机,总之openstack没有创建虚拟机的功能都是通过调用其他服务来进行操作。openstack就是一个框架,它可以调用其他的服务,所以openstack也就是一个管理平台

    Openstack服务介绍

    MySQL:为各个服务提供数据存储 
    RabbitMq:为各个服务之间通信提供认证和服务注册 
    Keystone:为各个服务器之间通讯提供认证和服务注册 
    Glance:为虚拟机提供镜像管理 
    Nova:为虚拟机提供计算资源 
    Neutron:为虚拟机提供网络资源

    Openstack环境准备-MySQL、RabbirMQ

    中文文档:http://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/ 
    提示:这个中文文档是直接翻译过来的,所以会有很多不通顺的地方

    特别提示:环境请和我保持一致!!!!!!!!保持一致!保持一致!保持一致! 
    本次我们安装Openstack M版,M版是在2016-4月发布的

    环境

    1. [root@linux-node1 ~]# cat /etc/redhat-release
    2. CentOS Linux release 7.2.1511 (Core)
    3. [root@linux-node1 ~]# uname -r
    4. 3.10.0-327.36.2.el7.x86_64
    5. [root@linux-node1 ~]# cat /etc/hosts
    6. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    7. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    8. 192.168.56.11 linux-node1.abcdocker.com
    9. 192.168.56.12 linux-node2.abcdocker.com

    安装时间同步

    1. [root@linux-node1 ~]# yum install ntpdate -y
    2. [root@linux-node1 ~]# ntpdate time1.aliyun.com
    3. [root@linux-node1 ~]# timedatectl set-timezone Asia/Shanghai #设置时区
    4. 另一种设置时区方法
    5. [root@linux-node1 ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

    提示: 生产环境中必须保证openstack节点时间同步,如果时间不同步是无法创建虚拟机的

    openstack基础软件包安装

    基础软件包需要在所有的Openstack节点上进行安装,包括控制节点和计算节点 
    1、安装EPEL仓库

    1. [root@linux-node1 ~]# rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm

    2、安装Openstack仓库

    1. [root@linux-node1 ~]# yum install -y centos-release-openstack-mitaka
    2. #安装完成后会在/etc/yum.repos.d/下生成CentOS-OpenStack-mitaka.repo

    3、安装Openstack客户端

    1. [root@linux-node1 ~]# yum install -y python-openstackclient
    2. 提示:会把openstack常用的客户端都进行安装

    4、安装openstack SELinux管理包

    1. yum install -y openstack-selinux

    如果我们没有进行关闭selinux openstack-selinux就会自动帮我们设置

    image_1b25m5tpi1pm1h6bk5l1191k32m.png-94.4kB

    RabbitMq在openstack几大用处 
    1.做服务之间相互通讯的工具 
    2.信息同步(异步执行) 
    如果没有RabbitMq服务之间将无法进行通讯

    提示:如果是生产环境,数据库是需要做备份的,否则数据库一挂数据将会丢失,openstack也将无法进行提供服务

    安装数据库

    1. [root@linux-node1 ~]# yum install -y mariadb mariadb-server python2-PyMySQL
    2. centos7 默认安装mysql 会在/etc/my.cnf里面includedir /etc/my.cnf.d/ 所以我们需要将配置文件放在这个目录下就可以生效
    3. [root@linux-node1 ~]# cd /etc/my.cnf.d/
    4. [root@linux-node1 my.cnf.d]# vim openstack.cnf
    5. [mysqld]
    6. bind-address = 192.168.56.11 #监听的IP地址(也可以写0.0.0.0)
    7. default-storage-engine = innodb #默认存储引擎[innodb]
    8. innodb_file_per_table # 使用独享表空间
    9. max_connections = 4096 #最大连接数是4096 (默认是1024)
    10. collation-server = utf8_general_ci #数据库默认校对规则
    11. character-set-server = utf8 #默认字符集

    启动数据库

    1. [root@linux-node1 ~]# systemctl start mariadb
    2. [root@linux-node1 ~]# systemctl enable mariadb
    3. Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.

    启动后我们需要进行检查

    为了保证数据库服务的安全性,运行mysql_secure_installation脚本。特别需要说明的是,为数据库的root用户设置一个适当的密码。

    1. [root@linux-node1 ~]# mysql_secure_installation
    2. #它会帮我们删除测试数据库等

    数据库安装完成后我们需要给我们后面所要用到的服务创建用户并进行授权

    创建认证服务的数据库并进行授权

    1. [root@linux-node1 ~]# mysql -uroot -p123456
    2. 创建keystone数据库
    3. create database keystone;
    4. grant all on keystone.* to 'keystone'@'localhost' identified by 'keystone';
    5. grant all on keystone.* to 'keystone'@'%' identified by 'keystone';

    创建镜像数据库并进行授权

    1. 创建glance数据库
    2. create database glance;
    3. grant all on glance.* to 'glance'@'%' identified by 'glance';
    4. grant all on glance.* to 'glance'@'localhost' identified by 'glance';

    创建虚拟化数据库并进行授权

    1. 创建nova数据库
    2. create database nova;
    3. grant all on nova.* to 'nova'@'localhost' identified by 'nova';
    4. grant all on nova.* to 'nova'@'%' identified by 'nova';

    因为Nova有2个项目,所以我们要创建2个数据库 
    创建nova-api数据库

    1. create database nova_api;
    2. grant all on nova_api.* to 'nova_api'@'localhost' identified by 'nova_api';
    3. grant all on nova_api.* to 'nova_api'@'%' identified by 'nova_api';

    提示:nova_api是新版本才有

    创建网络资源管理数据库

    1. create database neutron;
    2. grant all on neutron.* to 'neutron'@'%' identified by 'neutron';
    3. grant all on neutron.* to 'neutron'@'localhost' identified by 'neutron';

    刷新

    1. flush privileges;

    安装消息队列rabbitmq

    1. [root@linux-node1 ~]# yum install rabbitmq-server -y
    2. 消息队列的端口是5672

    启动消息队列服务并将其配置为随系统启动:

    1. [root@linux-node1 ~]# systemctl enable rabbitmq-server.service
    2. [root@linux-node1 ~]# systemctl start rabbitmq-server.service

    因为我们一会要使用openstack,所以我们在rabbitmq上创建一个openstack用户

    1. [root@linux-node1 ~]# rabbitmqctl add_user openstack openstack
    2. [root@linux-node1 ~]# rabbitmqctl add_user用户 密码

    openstack用户读写权限

    1. [root@linux-node1 ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
    2. .*分别代表配置、写入、读取

    提示:如果rabbitmq没有启动说明主机名没有解析

    开启rabbitmq监控插件 
    rabbitmq有很多插件,我们可以使用rabbitmq-plugins list查看可用插件 
    rabbitmq_management插件提供一个web界面,所以我们要将它开启

    1. [root@linux-node1 ~]# rabbitmq-plugins enable rabbitmq_management
    2. rabbitmq启动之后会监听15672

    image_1b25mknrh17121mn3147c2d02kv13.png-65.3kB

    访问路径:http://ip:15672 
    默认Username:guest 
    默认Password:guest

    示例图 
    image_1b25mlkl0bc1mae1g094jfuk61g.png-20kB
    提示:这里不能使用openstack用户进行登陆,因为我们如果想使用openstack用户进行登陆还需要在web页面进行授权

    现在我们就进行rabbitmq的管理界面了 
    image_1b25mmtt24ma11bh1216jrn6o51t.png-32.9kB
    rabbitmq默认有一个http 的api,我们如果想监控 可以使用http的api进行监控。里面基本上想监控的东西都有,可以通过脚本来获取通过url来判断等。 
    image_1b25mnkri15572drua0171d12lh2a.png-24.7kB

    zabbix相关文章:http://www.abcdocker.com/zabbix

    基础介绍完!

    展开全文
  • OpenStack的基本概念与架构图

    万次阅读 2018-10-23 15:50:13
    OpenStack 核心项目: 服务 项目名称 方法描述 Dashboard Horizon 提供了一个基于web的自服务门户,与OpenStack底层服务交互,诸如启动一个实例,分配IP地址以及配置访问控制 Compute Nova 在OpenStack...

         OpenStack的(又名O〜S)是一个自由和开放源码 软件平台为云计算,主要是部署基础架构即服务(IaaS的),因此虚拟服务器和其他资源提供给客户。[2]软件平台由相互关联的组件组成,这些组件控制整个数据中心内处理,存储和网络资源的各种多供应商硬件池。用户可以通过基于Web的仪表板,命令行工具或RESTful Web服务进行管理(来源:wiki)。

         OpenStack于2010年开始作为Rackspace Hosting和NASA的联合项目。截至2016年,它由OpenStack Foundation管理,OpenStack Foundation是一家于2012年9月成立的非营利性公司实体 ,旨在推广OpenStack软件及其社区。 超过500家公司加入了该项目。

    在这里插入图片描述

    服务 项目名称 方法描述
    Dashboard Horizon 提供了一个基于web的自服务门户,与OpenStack底层服务交互,诸如启动一个实例,分配IP地址以及配置访问控制
    Compute Nova 在OpenStack环境中计算实例的生命周期管理。按需响应包括生成、调度、回收虚拟机等操作。
    Networking Neutron 确保为其它OpenStack服务提供网络连接即服务 “Quantum”–>Neutron
    Identity Management Keystone 为其他OpenStack服务提供认证和授权服务,为所有的OpenStack服务提供一个端点目录。
    Object Storage Swift 通过一个 RESTful,基于HTTP的应用程序接口存储和任意检索的非结构化数据对象。它拥有高容错机制,基于数据复制和可扩展架构。它的实现并像是一个文件服务器需要挂载目录。在此种方式下,它写入对象和文件到多个硬盘中,以确保数据是在集群内跨服务器的多份复制
    Block Storage Cinder 为运行实例而提供的持久性块存储。它的可插拔驱动架构的功能有助于创建和管理块存储设备
    Image Service Glance 存储和检索虚拟机磁盘镜像,OpenStack计算会在实例部署时使用此服务。
    Telemetry Ceilometer 为OpenStack云的计费、基准、扩展性以及统计等目的提供监测和计量。
    Database Service Trove 提供管理数据库即服务配置关系和非关系数据库引擎节点的Trove相关,同时提供Trove在Horizon中的管理面板
    Bare Metal Provisioning Ironic 提供裸金属管理服务,Nova Baremetal驱动程序
    Orchestration Heat 提供了基于模板来实现云环境中资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩,负载均衡等高级特性。
    Data Processing Service Sahara 使用用户能够在Openstack平台上便于创建和管理Hadoop以及其他计算框架集群,

         整个OpenStack是由控制节点,计算节点,网络节点,存储节点四大部分组成。(这四个节点也可以安装在一台机器上,单机部署)其中:

    • 控制节点:负责对其余节点的控制,包含虚拟机建立,迁移,网络分配,存储分配等等
    • 计算节点:负责虚拟机运行
    • 网络节点负责对外网络与内网络之间的通信
    • 存储节点负责对虚拟机的额外存储管理

    在这里插入图片描述
    keystone
         这是提供身份认证和授权的组件。任何系统,身份认证和授权,其实都比较复杂。尤其Openstack 那么庞大的项目,每个组件都需要使用统一认证和授权。
         目前keystone 要做的东西其实还是很多。没法基于角色的授权,web管理用户等。

    Nova OpenStackCompute
         Nova是最核心的,可以说是一套虚拟化管理程序,因为nova可以创建、删除虚拟机、重启虚拟机等,openstack的之所以能够搭建云平台,也是因为它能够创建虚拟机,其它的组件,比如Neutron则是为了让虚拟机之间、虚拟机与外网之间能够互通,Cinder则是为了增加虚拟机的存储空间。可见nova在openstack中作用是非常大的。

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

    Glance
         这是镜像管理。
         目前Glance的镜像存储,支持本地存储,NFS,swift,sheepdog和Ceph,基本是够用了。
         目前Glance的最大需求就是多个数据中心的镜像管理,如何复制,不过这个功能已经基本实现。还有就是租户私有的image管理,这些目前功能都已经实现。

    Neutron
         这是网络管理的组件,也是重头戏,Openstack的未来,基本都要靠quantum。网络相关的内容,都会交给Quantum。不过Quantum的开发进度不是太如人意。Flosom规划实现功能,到Grizzly才实现。未来nova network的代码清理,估计到H版本都不见得可以实现。Quantum 后端可以是商业产品或者开源。开源产品支持Openvswitch,和linux bridge。网络设备厂商都在积极参与,让他们的产品支持Quantum。
         网络组件nova-network的发展经历了nova-network->Quantum->Neutron,Openstack在2010年正式发布它的第一个版本Austin的时候,nova-network作为它的核心组件被包含其中,网络由nova-network来承担,后来逐渐分离出来,改名为Quantum. Quantum是随Openstack的Folsom版本正式发布的,其实它已经作为试用组件包含在之前的Essex版本中。在Grizzly里功能得到了增强。
    Neutron
         因为商标侵权原因,Openstack在Havana版本将Quantum更名为Neutron,所以Neutron并不是什么新东西。在Havana版里,Neutron也只增加和增强了少数功能

    Cinder
         这是存储管理的组件。Cinder存储管理主要是指虚拟机的存储管理

    Swift
         这是对象存储的组件。对于大部分用户来说,swift不是必须的。你只有存储数量到一定级别,而且是非结构化数据才有这样的需求。很多人都问一个相同的问题:是否可以把虚拟机的存储放在swift上。简单回答:不行。你需要搞明白对象存储是干啥,擅长那些地方,那些是不行的。
    swift是Openstack所有组件了最成熟的,可以在线升级版本,各种版本可以混合在一起,也就是说,1.75版本的swift可以和1.48的在一个群集里.这个是很难得的.

    Ceilometer
         提供用量统计服务,通过它可以方便地实现 OpenStack 计费功能。
    Heat
         整合了 OpenStack 中的众多组件,类似 AWS 的 CloudFormation,让用户能够通过模板来管理资源
    耿磊

    展开全文
  • openstack官方文档

    2020-07-24 23:33:56
    基于openstack构建私有云实践。官方安装文档。 博客地址http://blog.csdn.net/sdksdk0/article/details/54835490。
  • openstack简介

    千次阅读 2019-08-24 21:20:48
    OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集。其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。 ...
  • 初学Openstack必要了解的基础理论

    千次阅读 2020-03-10 17:23:47
    初学Openstack必要了解的基础理论 前言: Openstack是一个云平台管理的项目,不是一个软件,是由几个主要的组件组合起来完成一些具体的工作。Openstack是一个旨在为公共及私有云的建设与管理提供软件的开源项目 。 ...
  • openstack环境搭建

    万次阅读 2019-07-09 08:41:45
    openstack ** 什么是openstack openstack是由NASA(美国国家航空航天局)和Rackspace合作研发并发起的项目 openstack是一个由一套iaas解决方案 openstack是一个开源的云计算管理平台 什么是云计算 基于互联网的...
  • 查看Openstack版本信息

    万次阅读 2017-12-21 12:05:00
    openstack 版本 查看
  • 如何使用Devstack进行OpenStack开发

    万人学习 2019-06-24 11:57:20
    本课程主要帮助,想成为一名OpenStack Developer却又不知道从何开始的同学们,掌握使用Devstack搭建OpenStack,以及相应的调试方法、IDE介绍等。
  • Openstack命令

    千次阅读 2016-10-31 09:04:21
    整理了Openstack命令: openstack aggregate add host openstack aggregate create openstack aggregate delete openstack aggregate list openstack aggregate remove host openstack aggregate set ...
  • 深入浅出OpenStack教程 OpenStack入门到精通视频教程

    万次阅读 热门讨论 2013-11-20 11:12:59
    《深入浅出OpenStack云计算平台管理(nova-compute/network)》 课程讲师:明义(robby) 课程分类:Java 涉及项目:openstack quantum 用到技术:openstack overview、nova-compute/network 其他特性:glance工作...
  • openstack导出image镜像的方法

    万次阅读 2019-03-23 21:18:56
    openstack中创建测虚拟机做了快照镜像,有时需要导出本地用作其他环境使用,本方法在openstack的kilo版本验证过。 1、查询环境中的镜像 [root@controller httpd]# glance image-list 环境中一个有两个镜像...
  • 重启openstack的服务命令集合

    万次阅读 2019-07-29 20:46:35
    1. 重启dashboardservice httpd restart service memcached restart2. 重启 ceilometer2.1 cinderservice mongod restart2.2 controllerservice openstack-ceilometer-api restart service openstack-ceilometer-
  • Openstack从入门到精通视频培训教程:本课程详细介绍了openstack的安装、原理、openstack部署过程,架构详解、全部为现场搭环境一步步实战操作,部署小技巧等,帮助云计算学员入门openstack,实现生产环境的前期知识...
  • openstack各个版本发布时间

    千次阅读 2016-06-12 16:33:33
    好久没有研究,不经意间看见了,O版本都快要发布了 ,有时间研究下。 http://releases.openstack.org/
  • OpenStack会员介绍

    万次阅读 2017-09-20 10:30:38
     下面看看OpenStack社区的规模: 从上图可以看出来,有来自187个国家的79752个成员参与到OpenStack社区中,有668个公司参与支持OpenStack社区,在OpenStack社区中一共超过来2000万行代码。 OpenStack社区是按照...
  • 云计算及Openstack云平台技术图解

    万次阅读 2018-03-08 20:51:44
    一 什么是虚拟化虚拟化是一种具体技术,指的是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原来的组态更...
  • 在win7上使用vm安装了一个ubuntu14.04的虚拟机。 然后在ubuntu上安装了一个openstack,并在openstack建立了一个实例,
1 2 3 4 5 ... 20
收藏数 62,089
精华内容 24,835
关键字:

openstack