概述
- glance(OpenStack Image Service)是一个提供发现,注册和下载镜像的服务
- glance 提供了虚拟机镜像的集中存储
- 通过 Glance 的 RESTful API,可查询镜像元数据、下载镜像
- 虚拟机的镜像可以方便的存储在各种地方,从简单的文件系统到对象存储系统(比如 OpenStack Swift)
- glance 里镜像被当做模板来存储,用于启动新实例
- glance 可以从正在运行的实例建立快照用于备份虚拟机的状态
主要功能
- 提供 RESTful API 让用户能够查询和获取镜像的元数据和镜像本身
- 支持多种方式存储镜像,包括普通的文件系统、Swift、Ceph 等
- 对实例执行快照创建新的镜像
架构

Glance-api:接收REST API的请求,然后通过其他模块(glance-registry及 image store)来完成镜像的查找、获取、上传、删除等操作,默认监听端口 9292- Glance 支持两种 RESTful API V1和V2
- V1只提供了基本的镜像和用户操作功能:镜像创建、删除、下载、列表、详细信息查询、更新,以及镜像租户成员的创建、删除和列表
- V2除了支持V1的所有功能外,主要增加了以下功能:
- 镜像 location 的添加、删除和修改等操作
- metadata namespace 操作
- 镜像 tag 操作
Glance-registry:用于与MariaDB数据库交互,用于存储或获取镜像的元数据(metadata),默认监听端口 9191Store Adapter:通过提供的存储接口来获取镜像。Database:Image 的 metadata 会保持到 database 中,主要使用 MySQL
支持的镜像格式
- raw
- 无格式镜像,最简单的一种格式,KVM 和 Xen 管理程序均支持此格式
- vhd
- Virtual Hard Disk,经常被 VMware、Xen、Microsoft、VirtualBox等公司使用的格式
- vhdx
- vhd格式的增强版,它支持更大的磁盘大小,并在断电时保护数据不受损坏
- vmdk
- Virtual Machine Disk,另一种被很多虚拟机监控器使用的格式
- vdi
- Virtual Disk Image,被 VirtualBox 虚拟机监视器和 QEMU 仿真器支持的镜像文件
- iso
- ISO格式是用只读的 ISO 9660(也称为ECMA-119)文件系统格式化的磁盘镜像,通常用于cd和dvd
- qcow2
- QCOW2(QEMU copy-on-write version 2)格式通常与 KVM hypervisor 一起使用,它可以动态扩展,支持写时复制
- aki
- 这表示 Glance 中存储的是 Amazon Kernel Image(AKI),它是一个内核文件,hypervisor 最初将加载它来引导映像;对于Linux机器,这将是一个 vmlinuz文件
- ari
- 这表明 Glance 中存储的是 Amazon Ramdisk Image (ARI)。它是一个可选的 ramdisk 文件,在引导时挂载;对于Linux机器,这将是一个initrd 文件
- ami
- 这表示Glance中存储的是 Amazon Machine Image(AMI),它是原始格式的虚拟机映像
支持的后端存储
- glance 本身不存储镜像,真正的镜像放在后端存储
- 用户可通过配置
/etc/glance/glance-api.conf来设置 glance 的默认存储 - glance 支持多种后端存储:
- file:默认配置,在本地文件系统中保存镜像
- http:可使用 http 服务获取镜像,这种方式只能只读
- rbd:使用 Ceph 的
RBD接口存储到 Ceph 集群中 - swift:OpenStack Object Storage
- cinder:OpenStack Block Storage
- vmare
镜像状态
状态图

- queued
- 在 Glance registry 里已经通过验证可以开始存储,暂时没有镜像数据被上传到 Glance,镜像大小在上传时设置为0
- saving
- 镜像的原始数据目前正在上传到Glance
- 当一个镜像被 POST /images 调用注册,并且存在一个
x-image-meta-location时,该镜像将永远不会处于saving 状态(因为镜像数据已经在其他一些位置可用)
- uploading
- 表明已经进行了镜像上传
- 在此状态下,不允许调用 PUT /file 【&】对一个已经在队列中的镜像调用 PUT /files 会使得镜像变成saving状态。当镜像处于 saving 状态时不允许执行 PUT /stage 操作。因此,不能对相同的镜像使用这两种上传方法
- importing
- 表示已经进行了导入操作,但镜像还没有准备好使用
- active
- 表示在 Glance 里是一个完全可用的镜像
- 当镜像上传成功后,会切换到这个状态
- deactivated
- 表示不允许任何非管理员用户访问镜像数据,禁止下载镜像,也禁止镜像导出和镜像克隆这样可能需要镜像数据的操作
- killed
- 表示在上传镜像数据时发生了错误,并且该镜像不可读
- deleted
- Glance 保留了有关镜像的信息,但已不再可用
- 处于这种状态的镜像将在以后被自动删除。
- pending_delete
- 类似于删除,但Glance还没有删除镜像数据
- 处于这种状态的镜像不能恢复
glance 工作流程

基础命令
【Centos7系列】Openstack-glance基础命令 – Nana Sharing Website (iceboundnana.top)

Comments NOTHING