一、openstack各大模块

  1.openstack总架构图

  http://3ms.huawei.com/km/blogs/details/2655265

    

  2.nova

    2.0架构图

      

    2.1 nova-conductor

           nova-compute 经常需要更新数据库,比如更新虚机的状态。 出于安全性和伸缩性的考虑,nova-compute 并不会直接访问数据库,而是将这个任务委托给 nova-conductor

      

    2.2 nova-scheduler

       虚机调度服务,负责决定在哪个计算节点上运行虚机

        具体调度配置  https://www.cnblogs.com/CloudMan6/p/5441782.html

        

          

    2.3 nova-compute

      

        

    2.4 novncproxy

      

      

    2.5 Hypervisor
      计算节点上跑的虚拟化管理程序,虚机管理最底层的程序。 不同虚拟化技术提供自己的 Hypervisor。 常用的 Hypervisor 有 KVM,Xen, VMWare 等

   2.6 nova-console

      用户可以通过多种方式访问虚机的控制台:
        nova-novncproxy,基于 Web 浏览器的 VNC 访问 nova-spicehtml5proxy,
        基于 HTML5 浏览器的 SPICE 访问 nova-xvpnvncproxy,
        基于 Java 客户端的 VNC 访问

   2.7 nova-consoleauth

      负责对访问虚机控制台请求提供 Token 认证

    2.8 nova-cert
      提供 x509 证书支持

  4、glance

    4.1含义

      管理 VM 的启动镜像,Nova 创建 VM 时将使用 Glance 提供的镜像。

    4..2glance架构图

      

      

      Image 的 metadata 会保持到 database 中,默认是 MySQL;image 是存放在 backend

    4.3操作glance

      4.3.1添加镜像

         ui方式  https://www.cnblogs.com/CloudMan6/p/5393376.html

              cli方式  glance image-create --name cirros --file /tmp/cirros-0.3.4-x86_64-disk.img --disk-format qcow2 --container-format bare --progress

      4.3.2删除镜像

        ui方式 https://www.cnblogs.com/CloudMan6/p/5402490.html

        cli方式  glance image-delete  image-id名

        4.3.3查询

        glance image-list        

   5、cinder

    5.1含义

      为云平台提供统一接口,按需分配的,持久化的块存储服务(类似于Amazon EBS服务)
        通过驱动的方式接入不同种类的后端存储(本地存储,网络存储,FCSAN,IPSAN)

    5.2 cinder架构图  

           

      参考:https://www.cnblogs.com/CloudMan6/p/5573159.html

      cinder-api
        接收 API 请求,调用 cinder-volume 执行操作。

      cinder-volume
        管理 volume 的服务,与 volume provider 协调工作,管理 volume 的生命周期。运行 cinder-volume 服务的节点被称作为存储节点。

        cinder-volume 会定期向 Cinder 报告。cinder-volume 就会报告当前存储节点的资源使用情况

      cinder-scheduler
        scheduler 通过调度算法选择最合适的存储节点创建 volume。

        参考:https://www.cnblogs.com/CloudMan6/p/5589707.html

      volume provider(LVS,NFS等)
        数据的存储设备,为 volume 提供物理存储空间。 cinder-volume 支持多种 volume provider,每种 volume provider 通过自己的 driver 与cinder-volume 协调工作。

      Message Queue
        Cinder 各个子服务通过消息队列实现进程间通信和相互协作。因为有了消息队列,子服务之间实现了解耦,这种松散的结构也是分布式系统的重要特征。

      Database

         Cinder 有一些数据需要存放到数据库中,一般使用 MySQL。数据库是安装在控制节点上的,比如在我们的实验环境中,可以访问名称为“cinder”的数据库。

    Driver 框架

        存储节点支持多种 volume provider,包括 LVM, NFS, Ceph, GlusterFS,以及 EMC, IBM 等商业存储系统。

        

         cinder-volume 为这些 volume provider 定义了统一的 driver 接口,volume provider 只需要实现这些接口

        参考:https://www.cnblogs.com/CloudMan6/p/5578673.html

      5.3 存储节点上本地的 LV 如何挂载到计算节点的 instance 上呢?通常情况存储节点和计算节点是不同的物理节点

        

        Cinder 的存储节点 cinder-volume 默认使用 tgt 软件来管理和监控 iSCSI target,在计算节点 nova-compute 使用 iscsiadm 执行 initiator 相关操作。

        参考:https://www.cnblogs.com/CloudMan6/p/5624930.html 

      5.4 extend volume增加容量

        参考:https://www.cnblogs.com/CloudMan6/p/5645305.html

       5.5 snapshot 

        参考:https://www.cnblogs.com/CloudMan6/p/5657744.html

       5.6 backup volume 

        参考:https://www.cnblogs.com/CloudMan6/p/5662236.html

     5.7 restore volume

        参考:https://www.cnblogs.com/CloudMan6/p/5668872.html

      5.8 boot from volume

        参考: https://www.cnblogs.com/CloudMan6/p/5679384.html

     5.9 NFS volume 

        参考: https://www.cnblogs.com/CloudMan6/p/5683352.html

            https://www.cnblogs.com/CloudMan6/p/5693771.html

  6、swift对象存储

    6.1含义   

      提供对象存储服务。VM 可以通过 RESTful API 存放对象数据。作为可选的方案,Glance 可以将镜像存放在 Swift 中;Cinder 也可以将 Volume 备份到 Swift 中。

     6.2优点

      数据在整个系统中均匀分布
      没有中央数据库
      Account/Container/Object三级存储结构均无需文件系统,且均有N(>=3)份拷贝

    6.3swift架构

      

   7、keystone鉴权管理

    7.1keystone架构图

         

    user:一个使用openstack云服务的人、系统或者服务。
    project:项目,一组资源集合,包括虚拟资源如网络、虚拟机、卷等资源关联。
    role:用户角色,和policy配合使用。
    token:一个通过keystone验证的用户标识,它的范围与user+project或者user+domain关联,根据获取的token的方式来区分。
    service:compute,image,identity,volume,network。
    endpoint:service的网络接入地址,具有region属性。
    group:用户的集合,便于给用户整体授予和取消权限
    domain:类似命名空间,含有用户、角色、Group、Project等。
    policy:对于服务的操作规则,和角色相关,可以定义哪个角色可以进行哪些操作(v3版本只增加了crud操作,没有逻辑实现替代policy.json的功能)
    trust:一个用户可以通过trust将自己的role和个人信息转交给另一个用户使用

  8Ceilometer

    8.1含义

      OpenStack中Ceilometer能把I层内部发生的事情和系统的运行情况收集起来,产生计量数据。FS OpenStack中Ceilometer主要为上层运维组件提供监控与告警数据,公有云下可用于计费

     8.2ceilometer框架

        

  9、heat云编排

    9.1heat架构图

      

    模板是openstack资源的集合(虚拟机、网络、存储、告警、浮动IP、安全组、伸缩组、嵌套stack等),通过定义模板,可以将需要创建的资源在模板中描述,用此模板可以多次创建需要的资源。
    由heat-api服务将这些模板由MQ实现的RPC方法发送至heat-engine服务处理,该服务将负责按照heat的规则解析这些模板,并最终将按照模板中定义的资源转换为对不同组件API的调用,实现应用的部署与安装。

openstack详细笔记-nova-glance-swift-cinder-keystone等的更多相关文章

  1. openstack 部署笔记--nova

    控制节点 配置用户与服务 $ . admin-openrc $ openstack user create --domain default --password-prompt nova $ open ...

  2. linux云计算(keystone swift cinder配置)

    独立安装openstack组件 准备服务器,为安装openstack的服务器加3块额外硬盘 qemu-img create -f qcow2 rh71.img 20G qemu-img create ...

  3. openstack 部署笔记--glance

    控制节点 创建用户及服务 $ . admin-openrc $ openstack user create --domain default --password-prompt glance $ op ...

  4. Openstack实验笔记

    Openstack实验笔记 制作人:全心全意 Openstack:提供可靠的云部署方案及良好的扩展性 Openstack简单的说就是云操作系统,或者说是云管理平台,自身并不提供云服务,只是提供部署和管 ...

  5. 探索 OpenStack 之(13):研究 Keystone

    Keystone 是 OpenStack Identity Service 的项目名称.本文就试着尽可能深入地研究 Keystone. 1. Keystone 的功能 做为 OpenStack 云系统 ...

  6. OpenStack实践系列⑨云硬盘服务Cinder

    OpenStack实践系列⑨云硬盘服务Cinder八.cinder8.1存储的三大分类 块存储:硬盘,磁盘阵列DAS,SAN存储 文件存储:nfs,GluserFS,Ceph(PB级分布式文件系统), ...

  7. openstack学习笔记一 虚拟机启动过程代码跟踪

    openstack学习笔记一 虚拟机启动过程代码跟踪 本文主要通过对虚拟机创建过程的代码跟踪.观察虚拟机启动任务状态的变化,来透彻理解openstack各组件之间的作用过程. 当从horizon界面发 ...

  8. Openstack(十七)部署快存储cinder

    官方部署文档:https://docs.openstack.org/ocata/zh_CN/install-guide-rdo/cinder.html OpenStack的存储组件—Cinder和Sw ...

  9. CentOS7和OpenStack的笔记(一)

    CentOS7和OpenStack的笔记(一) 最近搞CentOS7系统和OpenStack框架,整了近一个星期,系统装了好几次,框架搭了又从搭.虽然最后的实例没能启动成功,但是在这专研的一个星期里, ...

随机推荐

  1. 解决HTML5提出的新的元素不被IE6-8识别的解决办法

    解决HTML5提出的新的元素不被IE6-8识别的解决办法 <!--[if lt IE 9]> <script type="text/javascript" src ...

  2. CH#46 磁力块 分块

    正解:分块+bfs 解题报告: 先放个传送门,然后瞎扯淡下QAQ 突然感觉不停课大概是正确的选择QAQ 大概实在是没有天赋?明明都知道正解是分块甚至还听了下解法感觉理解了,再看一次依然没想到解法,,, ...

  3. rimraf 跨平台删除文件

    利用npm script 来删除文件, "scripts": { "clear": "rm -rf dist" } 但存在一个问题,remo ...

  4. linux 进程间通信——内存共享映射mmap和munmap

    IPC三种通信机制是指:信号量.共享内存.消息队列,   信号量:通过操作系统中的PV操作来实现: 共享内存:申请一块内存,进程A往共享内存中写,其他的进程就可以通过读出共享内存中的内容来获取进程A所 ...

  5. asp.net机制理解(Javaweb同理)

    1.页面运行先后顺序 先执行aspx中的代码,然后再合并到HTML中,最后一起送到浏览器执行,HTML是从上到下执行的,而HTML中的Windows.onload()最后执行.而由于aspx中的代码是 ...

  6. IDEA eclipse转maven

    在pom.xml 文件上右键 Add as Maven Project

  7. 转换编码utf-8

    用这个enca -x utf-8 * 或者是 filename,还有别的方法,参见:https://blog.csdn.net/a280606790/article/details/8504133 我 ...

  8. STM32的型号的命名规则

    每种STM32的产品都由16个字母或数字构成的编号标示,用户向ST订货时必须使用这个编号指定需要的产品.这16个字符分为8个部分,下面通过一个例子说明它们的意义: STM32 F C T xxx ST ...

  9. 使用java进行 AES 加密 解密?

    百度百科是这样定义的: 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标 ...

  10. 使用sp_addlinkedserver、sp_dropserver 、sp_addlinkedsrvlogin和sp_droplinkedsrvlogin 远程查询数据

    一.sp_addlinkedserver  创建链接服务器. 链接服务器让用户可以对 OLE DB 数据源进行分布式异类查询. 在使用 sp_addlinkedserver 创建链接服务器后,可对该服 ...