OpenStack-Glance(3)
一、 Glance功能
传统 IT 环境下,安装一个系统是要么从CD安装,要么用 Ghost 等克隆工具恢复。有如下几个问题:
- 如果要安装的系统多了效率就很低
- 时间长,工作量大
- 安装完还要进行手工配置,比如安装其他的软件,设置 IP 等
- 备份和恢复系统不灵活
云环境下需要更高效的解决方案,这就是Image。Image是一个模板,里面包含了基本的操作系统和其他的软件。
Glance提供Image Service服务,功能是管理Image,让用户能够发现、获取和保存Image。
- 提供REST API让用户能够查询和获取Image的元数据和Image本身。
- 支持多种方式存储Image,包括普通的文件系统、Swift、Amazon S3等。
- 对Instance执行Snapshot创建新的Image。
二、 Glance架构
1、各组件的含义
A client:任何使用Glance服务器的应用程序。
REST API:Glance提供REST访问的API。
Database Abstraction Layer (DAL):统一Glance和数据库之间的通信的应用程序编程接口(API)。
Glance Domain Controller:域控制器,实现主要的中间件功能,如授权,通知,策略,数据库连接。
Glance Store:用于组织Glance和各种数据存储之间的交互。
Registry Layer:注册表层,用于通过使用单独的服务来组织域和DAL之间的安全通信的可选层。
Database:Image的metadata会保持到database中,默认是 MySQL。在控制节点上可以查看glance的database信息。
Store backend:Glance自己并不存储image。真正的image是存放在backend中的。

图1 Glance的架构

图2 Glance的架构
2、Glance支持多种backend;包括:
- A directory on a local file system(这是默认配置)
- GridFS
- Ceph RBD
- Amazon S3
- Sheepdog
- OpenStack Block Storage (Cinder)
- OpenStack Object Storage (Swift)
- VMware ESX
具体使用哪种backend,是在 /etc/glance/glanceapi.conf中配置的:
[glance_store]
filesystem_store_datadir =
3、镜像磁盘格式
表1 镜像磁盘格式表
|
类型 |
说明 |
|
raw |
This is an unstructured disk image format |
|
vhd |
This is the VHDdisk format, a common disk format used by virtual machine monitors from VMWare. |
|
vmdk |
Another common disk format supported by many common virtual machine monitors |
|
VDI |
A disk format supported by VirtualBox virtual machine monitor and the QEMU emulator |
|
ISO |
An archive format for the data contents of an optical disc(e.g. CDROM) |
|
qcow2 |
A disk format supported by the QEMU emulator that can expand dynamically and supports Copy on Write |
|
aki |
This indicates what is stored in Glance is an Amazon kernel image |
|
ari |
This indicates what is stored in Glance is an Amazon kernel image |
|
armi |
This indicates what is stored in Glance is an Amazon kernel image |
4、镜像文件的访问权限:
Public公共的:可以被所有的Tenant使用。
Private私有的/项目的:只能被Image Owner所在的Tenant使用。
Shared共享的:一个非公共的Image可以共享给指定的Tenant,通过member-*操作来实现。
Protected受保护的:Protected Image不能被删除。
5、Image的状态类型:
Queued:没有上传Image数据,只SQL Database中存有该镜像的元数据(标识该镜像的ID)。
Saving:标识镜像正在上传Image。
Active:正常状态,标识镜像在Glance中完全可用。
Deleted/pending_delete:已删除/等待删除的Image。
Killed:标识镜像上传过程中出错,Image元数据不正确,镜像完全不可用,等待被删除。
6、创建 Images
创建Image的两种方法:Web UI(Horizon)和命令行CLI (推荐),API v1已经在Newton版本中被删除了。
- Web UI的功能没有CLI全,有些操作只提供了CLI。即便是都有的功能,CLI可以使用的参数更多。
- 一般来说,CLI 返回结果更快,操作起来更高效。
- CLI 可放在脚本中进行批处理。
- 有些耗时的操作CLI更合适,比如创建镜像。

图3 Image状态类型
OpenStack-Glance(3)的更多相关文章
- 理解 OpenStack + Ceph (5):OpenStack 与 Ceph 之间的集成 [OpenStack Integration with Ceph]
理解 OpenStack + Ceph 系列文章: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 (5)Ceph 与 OpenS ...
- 探索 OpenStack 之(13):研究 Keystone
Keystone 是 OpenStack Identity Service 的项目名称.本文就试着尽可能深入地研究 Keystone. 1. Keystone 的功能 做为 OpenStack 云系统 ...
- OpenStack 初探(一) -- All-In-One模式部署(初学OpenStack必备)
OpenStack 初探(一) -- All-In-One模式部署(初学OpenStack必备) 一.操作前需了解: 1. OpenStack提供IaaS(基础设施即服务)服务,它是开源的云计 ...
- 探索 OpenStack 之(8):Neutron 深入探索之 OVS + GRE 之 完整网络流程 篇
前两篇博文分别研究了Compute节点和Neutron节点内部的网络架构.本文通过一些典型流程案例来分析具体网络流程过程. 0. 环境 同 学习OpenStack之(7):Neutron 深入学习之 ...
- 学习OpenStack之(6):Neutron 深入学习之 OVS + GRE 之 Compute node 篇
0.环境 硬件环境见上一篇博客:学习OpenStack之(5):在Mac上部署Juno版本OpenStack 四节点环境 OpenStack网络配置:一个tenant, 2个虚机 Type drive ...
- 理解 OpenStack + Ceph (2):Ceph 的物理和逻辑结构 [Ceph Architecture]
本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...
- 学习OpenStack之(5):在Mac上部署Juno版本OpenStack 四节点环境
0. 前沿 经过一段时间的折腾,终于在自己的Mac上装好了Juno版本的四节点环境.这过程中,花了大量的时间,碰到了许多问题,学到不少知识,折腾过不少其实不需要折腾的东西,本文试着来对这过程做个总结. ...
- 探索 OpenStack 之(12):cinder-api Service 处理 HTTP Request 的过程分析
本文是上一篇 探索 OpenStack 之(11):cinder-api Service 启动过程分析 以及 WSGI / Paste deploy / Router 等介绍> 的后续篇. os ...
- 探索 OpenStack 之(9):深入块存储服务Cinder (功能篇)
继研究了Neutron之后,继续Nova的外围研究之旅.本站是研究块存储服务Cinder. 0.验证环境 环境包括: 1.一个controller节点,运行nova-api, nova-schedul ...
- 探索 OpenStack 之(10):深入镜像服务Glance
本篇博文来探讨下镜像服务Glance. 0. 基本概念 0.1 基本功能 Glance提供REST API来支持以下镜像操作: 查询 注册 上传 获取 删除 访问权限管理 0.2 Glance RE ...
随机推荐
- 【转】ASP.NET MVC实现权限控制
这篇分享一下 ASP.NET MVC权限控制.也就是说某一用户登录之后,某一个用户是否有权限访问Controller,Action(操作),视图等 想实现这些功能,需要在数据库创建好几个表:[User ...
- Java开发笔记(五十)几种开放性修饰符
前面介绍子类继承父类的时候,提到了public(公共)和private(私有)两个修饰符,其中public表示它所修饰的实体是允许外部访问的:而private表示它所修饰的实体不允许外部访问,只能在当 ...
- Dynamics 365-如何利用Audit History还原被删除的数据
Audit History,常被用来记录record的日常操作信息,包括创建,更新,删除.这是一个非常实用的功能,想想看,如果数据被误修改了,通过Audit History,可以很容易地找到修改前的数 ...
- 2018年12月8日广州.NET微软技术俱乐部活动总结
吕毅写了一篇活动总结,写得很好!原文地址是:https://blog.walterlv.com/post/december-event-microsoft-technology-salon.html ...
- 环境设置——pyCharm环境下导入MySQLdb遇到的一系列问题
本文转自http://blog.sina.com.cn/s/blog_135031dae0102yc8l.html 安装好pyCharm后想要import MySQL,结果发现了一系列问题,像推到了塔 ...
- linux c ---raise 使用范例的代码
把做工程过程中比较好的代码片段收藏起来,下面代码内容是关于linux c ---raise 使用范例的代码,希望对各位有所用途. #include <sys/types.h> #inclu ...
- Android 中使用 dlib+opencv 实现动态人脸检测
1 概述 完成 Android 相机预览功能以后,在此基础上我使用 dlib 与 opencv 库做了一个关于人脸检测的 demo.该 demo 在相机预览过程中对人脸进行实时检测,并将检测到的人脸用 ...
- Redis压缩列表
此篇文章是主要介绍Redis在数据存储方面的其中一种方式,压缩列表.本文会介绍1. 压缩列表(ziplist)的使用场景 2.如何达到节约内存的效果?3.压缩列表的存储格式 4. 连锁更新的问题 5 ...
- JHipster技术栈定制 - JHipster Registry配置信息加密
本文说明了如何开启和使用JHipster-Registry的加解密功能. 1 整体规划 1.1 名词说明 名词 说明 备注 对称加密 最快速.最简单的一种加密方式,加密(encryption)与解密( ...
- Prometheus Operator - 每天5分钟玩转 Docker 容器技术(177)
前面我们介绍了 Kubernetes 的两种监控方案 Weave Scope 和 Heapster,它们主要的监控对象是 Node 和 Pod.这些数据对 Kubernetes 运维人员是必须的,但还 ...