一、理解Image & Image service

1、Image 是一个模板,里面包含了基本的操作系统和其他的软件。

2、Image Service 的功能是管理 Image,让用户能够发现、获取和保存 Image。

在 OpenStack 中,提供 Image Service 的是 Glance,其具体功能如下:

    • 提供 REST API 让用户能够查询和获取 image 的元数据和 image 本身

    • 支持多种方式存储 image,包括普通的文件系统、Swift、Amazon S3 等

    • 对 Instance 执行 Snapshot 创建新的 image

        

3、Glance 支持多种格式的 image

openstack组件之glance_第1张图片

二、galance架构

openstack组件之glance_第2张图片

1、glance-api

    glance-api 是系统后台运行的服务进程。 对外提供 REST API,响应 image 查询、获取和存储的调用。

    glance-api 不会真正处理请求。 

    • 如果是与 image metadata(元数据)相关的操作,glance-api 会把请求转发给 glance-registry; 

    • 如果是与 image 自身存取相关的操作,glance-api 会把请求转发给该 image 的 store backend。

2、glance-registry

    glance-registry 是系统后台运行的服务进程。 负责处理和存取 image 的 metadata,例如 image 的大小和类型。

3、Database

    Image 的 metadata 会保持到 database 中,默认是 MySQL。具体数据库的连接信息,是在glance-api.conf配置文件里面配置的;

4、Store backend

    Glance 自己并不存储 image。 真正的 image 是存放在 backend 中的。具体使用的是哪种backend,是在glance-api.conf配置文件里面配置的;


附:Glance 支持多种 backend

  1. A directory on a local file system(这是默认配置)

  2. GridFS

  3. Ceph RBD

  4. Amazon S3

  5. Sheepdog

  6. OpenStack Block Storage (Cinder)

  7. OpenStack Object Storage (Swift)

  8. VMware ESX