OpenStack — Glance
文章目录GlanceGlance 架构支持的镜像格式rawvhdvhdxvmdkvdiisoqcow2akiariami支持的后端存储镜像状态queuedsavinguploadingimportingactivedeactivatedkilleddeletedpending_deleteGlance工作流程GlanceGlance(OpenStack Image Service)是一个提供发现,
文章目录
Glance
Glance(OpenStack Image Service)是一个提供发现,注册,和下载镜像的服务。Glance 提供了虚拟机镜像的集中存储。通过 Glance 的 RESTful API,可以查询镜像元数据、下载镜像。虚拟机的镜像可以很方便的存储在各种地方,从简单的文件系统到对象存储系统(比如 OpenStack Swift)。
在 Glance 里镜像被当做模板来存储,用于启动新实例。Glance 还可以从正在运行的实例建立快照用于备份虚拟机的状态。
Glance 架构
-
Glance-api:接收REST API的请求,然后通过其他模块(glance-registry及image store)来完成诸如镜像的查找、获取、上传、删除等操作,默认监听端口9292。
Glance 支持两种 RESTful API V1和V2。V1版本的实现,具有 glance-api 和 glance-registry 两个 WSGI 服务,二者都提供 RESTful API,但glance-registry 提供的 RESTful API 是给 glance-api 使用的,并不开放给外部用户。 -
Glance-registry:用于与MariaDB数据库交互,用于存储或获取镜像的元数据(metadata),默认监听端口9191。
V2版本的实现就是将 glance-registry 集成到了 glance-api 内部,这么做的好处是减少了一个中间的处理环节。V1版本在 Newton 中标注被弃用,目前已经被移除。 -
Store 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_store]
来设置glance的默认存储。
Glance支持多种后端存储:
- file:默认配置,在本地的文件系统里进行保存镜像。
- http:可以使用http服务获取镜像。这种方式只能只读。
- rbd:使用Ceph的RBD接口存储到Ceph集群中。
- swift:OpenStack Object Storage
- cinder:OpenStack Block Storage
- vmware
镜像状态
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工作流程
更多推荐
所有评论(0)