目录

Glance 安装列表

Openstack组建部署 — Glance Install

Glance Image service

Image service项目代号Glance,是Openstack的镜像服务组件。Glance主要提供了一个虚拟机镜像文件的存储、查询和检索服务,通过提供一个虚拟磁盘映像目录和存储库,为Nova的虚拟机提供镜像服务。现在Glance具有V1和V2(Openstack-F发布)两个版本。

Image service 的组件

Glance-Api

glance-api:是一个对外的API接口,能够接受外部的API镜像请求。主要用于分析、分发、响应各种镜像管理的REST Request,然后通过其他模块(EG. glance-registry、Store Backend后端存储接口)完成镜像的发现、获取、存储等操作。默认绑定端口是9292

Glance-Registry

glance-registry:用于存储、处理、获取Image Metadata。通过响应从glance-api发送过来的Image Metadata REST Request,然后与MySQL进行交互,实现Image Metadate的存储、处理、获取。默认绑定的端口是9191

Glance-db

glance-db:在Openstack中使用MySQL来支撑,用于存放Image Metadate

Image Metadate(镜像元数据):指通过glance-registry来保存在MySQL Database中的镜像文件相关信息。

Image Store(Store Backend)

Image Store:用于存储镜像文件。通过Store Backend后端存储接口来与glance-api联系。通过这个接口,glance可以从Image Store获取镜像文件再交由Nova用于创建虚拟机。

Glance 通过Store Adapter(存储适配器)支持多种Imange Store方案

Glance允许上传私有或共有的不同格式镜像

  • Raw
  • Machine (kernel/ramdisk outside of image, a.k.a. AMI)
  • VHD (Hyper-V)
  • VDI (VirtualBox)
  • qcow2 (Qemu/KVM)
  • VMDK (VMWare)
  • OVF (VMWare, others)

Image

Image(镜像文件)的访问权限分为

  • Public 公共的:可以被所有的Tenant使用。
  • Private 私有的/项目的:只能被Image Owner所在的Tenant使用。
  • Shared 共享的:一个非公共的Image可以共享给指定的Tenant,通过member-*操作来实现。
  • Protected 受保护的:Protected Image不能被删除。

Image的状态类型

  • Queued:没有上传Image数据,只SQL Database中存有该镜像的元数据。
  • Saving:正在上传Image。
  • Active:正常状态。
  • Deleted/pending_delete: 已删除/等待删除的Image。
  • Killed:Image元数据不正确,等待被删除。

Image状态类型转换

  • ‘queued’ => (‘saving’, ‘active’, ‘deleted’)
  • ‘saving’ => (‘active’, ‘killed’, ‘deleted’, ‘queued’)
  • ‘active’ => (‘queued’, ‘pending_delete’, ‘deleted’)
  • ‘killed’ => (‘deleted’)
  • ‘pending_delete’ => (‘deleted’)
  • ‘deleted’ => ()

Glance 架构

Glance Restful API — V1

V1的功能:提供了基本的ImageMember操作

1. 镜像文件的创建、删除、查询、更改

2. 镜像Tenant成员的创建、删除和查询

V1包含有glance-apiglance-registry两个WSGI service,都提供了REST API接口来接收虚拟机镜像管理的请求。

两者的区别在于glance-api的REST API能够对外开放而glance-registry的REST API只能够被glance-api调用。

V1的架构

需要注意的是glance-api 不会真正去处理REST Request,可以将glance-api再分为两部分:

  • 一部分是中间件,主要用于对REST Request的分析、分发工作(EG. 分析出版本号)
  • 另一部分来提供实际的服务(EG. 与Store Backend后端存储接口交互,实现镜像上传、下载)

所以若glance-api接收到涉及SQL Database的操作请求时,会调用registry-clinet并生成HTTP指令,然后转发给glance-registry API进行处理。

Glance Restful API — V2

V2的功能:除了拥有V1的功能之外,还能够:

1. 镜像Location的添加、删除和修改

2. Metadata、Namespace、Image tag操作

V2架构图

V2在实现上,把glance-registryglance-api合并到了一起,减少了一个中间环节。

Openstack组件实现原理 — Glance架构(V1/V2)的更多相关文章

  1. Openstack组件实现原理 — Nova 体系结构

    目录 目录 前文列表 Nova体系结构 虚拟机实例化流程 前文列表 Openstack组件部署 - Overview和前期环境准备 Openstack组建部署 - Environment of Con ...

  2. Openstack组件实现原理 — OpenVswitch/Gre/vlan

    目录 目录 前文提要 Neutron 管理的网络相关实体 OpenVswitchOVS OVS 的架构 VLan GRE 隧道 Compute Node 中的 Instance 通过 GRE 访问 P ...

  3. Openstack组件实现原理 — Keystone认证功能

    目录 目录 前言 Keystone安装列表 Keystone架构 Keystone的管理对象 一个理解Keystone管理对象功能的例子 Keystone管理对象之间的关系 Keystone V3的新 ...

  4. openstack学习心得:glance 架构、概念、后端存储配置方式

    glance 架构 glance 服务概述 Image 服务 使得用户可以发现.注册.检索虚拟机镜像.它对外提供REST API使得你能够查询虚拟机镜像元数据和检索一个真实的镜像.你可以通过镜像服务将 ...

  5. Openstack组件部署 — Networking service_Compute Node

    目录 目录 前文列表 安装组件 配置通用组件 配置自服务网络选项 配置Linux 桥接代理 配置Nova使用网络 完成安装 验证操作Execute following commands on Cont ...

  6. Openstack组件部署 — Networking service_安装并配置Controller Node

    目录 目录 前文列表 前提条件 网络环境 完成下面的步骤以创建数据库 创建service credentials服务凭证 创建Neutron的API Endpoints 配置自服务网络 安装网络组件 ...

  7. Openstack组件部署 — Netwotking service组件介绍与网络基本概念

    目录 目录 前文列表 Openstack Networking serivce 基本的Neutron概念 Neutron的抽象对象 网络networks 子网subnets 路由器routers 端口 ...

  8. Openstack组件部署 — Nova_Install and configure a compute node

    目录 目录 前文列表 Prerequisites 先决条件 Install and configure a compute node Install the packages Edit the etc ...

  9. Openstack组件部署 — Nova_安装和配置Controller Node

    目录 目录 前文列表 Prerequisites 先决条件 To create the databases To create the service credentials Create the C ...

随机推荐

  1. map-DBA-comands

  2. 57、saleforce学习笔记(四)

    List类 List在这里就是一个类 List<String> lists = new String[]{'1','3'}; List<String> list1 = new ...

  3. 【网络是怎么连接的】一、浏览器与HTTP协议

    浏览器: 1.生成HTTP消息: 1).网址结构: http://user:password@www.glasscom.com:80/dir/file1.htm 2).HTTP服务基本思路: a).请 ...

  4. js实现图片预览、压缩、上传

    先看几个对象:Blob.ArrayBuffer.File.fileReader.formData 详细解释请参考:https://www.cnblogs.com/youhong/p/10875190. ...

  5. 嵌入式C语言4.2 C语言内存空间的使用-指针与修饰符:const,volatile,typedef

    const:变量,只读[不能变] 内存属性: 1. 内存操作的大小 2.内存的变化性,可写可读 char *p; const char *p;     描述字符串,p指向的内容是只读的,不可再次修改 ...

  6. 将excle表中得数据生成insert语句插入到数据库中

    第一步:输入公式 第二步:拽住右下角得+往下拖拽

  7. Node.js、vue.js的使用

    Vue.js的使用 1.下载Node.js 2.打开cmd 3.执行命令 npm i 4.输入命令 npm run serve 5.浏览器打开  http://localhost:8080

  8. 28-python基础-python3-列表多重赋值

    1-列表多重赋值常规方法 >>> cat = ['fat', 'black', 'loud'] >>> size = cat[0] >>> col ...

  9. [轉]关于CR0.WP

    关于CR0.WP 我们知道CR0的WP位可以关闭内核写保护.他和页表的R/W位有关.Intel手册中的描述绕来绕去似乎一直没有说到重点. When the processor is in superv ...

  10. 我的scoi2018

    高一,很尴尬,凉~ -------- 大家好,我是分界线,我弱弱的说本次采用倒序的写作手法 -------- 故事是这样讲的: Day0: 刚刚去那个电科搞的集训,早上才考了一波模拟赛,下午就过来住酒 ...