Glance服务

1.Glance服务简介

Glance镜像服务可实现发现、注册、获取虚拟机镜像和镜像元数据的功能,镜像数据支持存储多种存储系统,可以是简单文件系统、对象存储系统、Cinder块存储等。
Glance镜像服务首次出现在OpenStack的Bexar版本中。依赖OpenStack组件中Keystone服务。

2.Glance架构

Glance镜像服务是典型C/S架构,Glance架构包括Glance Client、Glance和Glance Store。Glance主要包括REST API、数据库抽象层(DAL)、域控制器(Glance Domain Controller)和注册层(Register Layer),Glance使用集中数据库(Glance DB)在Glance各组件间直接共享数据。
所有的镜像文件操作都通过Glance Store库完成,Glance Store库提供了通用接口,对接后端外部的不同存储。

Glance服务包括如下组件:

Glance-Client

使用Glance服务器的任何应用程序,接收请求并调用glance-api

REST API

通过REST接口对外开放Glance功能,接收请求。

Glance Domain Controller

管理Glance内部服务器,Glance Domain Controller分层实现特定任务,如认证、事件通知、策略控制和数据库连接等。

Registry Layer

实现Glance Domain Controller与DAL之间的安全访问。

Database Abstraction Layer (DAL) -数据库抽象层

提供Glance与数据库之间的统一API接口。

Glance DB

Glance DB在所有组件之间共享,存放管理、配置信息等数据。

Glance Store

负责与外部存储后端或本地文件系统的交互,持久化存储镜像文件;Glance Store提供一个统一的接口来访问后端存储,屏蔽不同后端存储的差异。

3. 镜像文件格式

虚拟机镜像需要指定磁盘格式和容器格式。虚拟机的磁盘镜像的基本格式有如下几种:

RAW:

非结构化磁盘镜像格式

QCOW2:

QEMU模拟器支持的可动态扩展、写时复制的磁盘格式,是KVM虚拟机默认使用的磁盘文件格式。

AMI/AKI/ARI:

Amazon EC2最初支持的镜像格式

UEC Tarball:

Ubuntu Enterprise Cloud Tarball是一个经gzip压缩后的tar文件,包含AMI、AKI和ARI三种类型文件。

VHD:

微软虚拟磁盘文件的简称

VDI:

VirtualBOX使用VDI的镜像格式,OpenStack没有提供直接的支持,需要进行格式转换。

VMDK:

虚拟机VMware创建的虚拟机格式。

OVF:

开发虚拟机格式,OVF文件是一种开源的文件规范,可用于虚拟机文件的打包。

容器格式可以理解成是虚拟机镜像添加元数据后重新打包的格式,目前有以下几种容器格式。

BARE:指定没有容器和元数据封装在镜像中,如果Glance和OpenStack的其他服务没有使用容器格式的字符串,为了安全,建议设置BARE。

OVF:

OVF的容器模式。

AKI:

存储在Glance中的是Amazon的内核镜像。

ARI:

存储在Glance中的是Amazon的ramdisk镜像。

AMI:

存储在Glance中的是Amazon的machine镜像。

OVA:

存储在Glance中的是OVA的tar归档文件。

4.镜像、实例和规格的关系:

用户可以从同一个镜像启动任意数量的实例。
每个启动的实例都是基于镜像的一个副本,实例上的任何修改都不会影响到镜像。
启动实例时,必须指定一个规格,实例按照规格使用资源。

5.镜像状态:

由于镜像文件都比较大,镜像从创建到成功上传到Glance文件系统中的过程,是通过异步任务的方式一步步完成的,状态包括Queued(排队)、Saving(保存中)、Active(有效)、Deactivated(无效)、Killed(错误)、Deleted(被删除)和Pending_delete(等待删除)

镜像缓存

在API节点本地存放原始镜像的一个副本,实质上使多个API服务器能够提供相同的镜像。由于提供镜像的服务器数量增加,提升了镜像服务的可伸缩性。
镜像缓存机制对终端用户来说是透明的,也就是说终端用户不会清楚从Glance服务获取的镜像文件的真实来源。

缓存.png

镜像转换

镜像转换.png

Last modification:March 27th, 2020 at 09:41 am
如果觉得我的文章对你有用,请随意赞赏