Glance 提供 Image 服务。
Image Service 的功能是管理 Image,让用户能够发现、获取和保存 Image。在 OpenStack 中,提供 Image Service 的是 Glance,其具体功能如下:
1.提供 REST API 让用户能够查询和获取 image 的元数据和 image 本身
2.支持多种方式存储 image,包括普通的文件系统、Swift、Amazon S3 等
3.对 Instance 执行 Snapshot 创建新的 image

glance架构图

angel架构 glance架构_angel架构

angel架构 glance架构_后台运行_02

angel架构 glance架构_后台运行_03

glance组件:glance-api、glance-registry、Database、Store backend
====================================================================
glance-api
    glance-api 是系统后台运行的服务进程。 对外提供 REST API,响应 image 查询、获取和存储的调用。
    glance-api 不会真正处理请求。 
        如果操作是与 image metadata(元数据)相关,glance-api 会把请求转发给 glance-registry; 
        如果操作是与 image 自身存取相关,glance-api 会把请求转发给该 image 的 store backend。

--------------------------------------------------------------------------------------------
glance-registry
    glance-registry 是系统后台运行的服务进程。 负责处理和存取 image 的 metadata,例如 image 的大小和类型。
    Glance 支持多种格式的 image,包括:Raw/vhd/vmdk/VDI/ISO/QCOW2/aki/ari/ami

Database
    Image 的 metadata 会保持到 database 中,默认是 MySQL。 在控制节点上可以查看 glance 的 database 信息

--------------------------------------------------------------------------------------------
Store backend
    Glance 自己并不存储 image。 真正的 image 是存放在 backend 中的。 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

glance组件:glance-api、glance-registry、Database、Store backend

/etc/glance/glance-api.conf 中配置了具体使用的backend
devstack 环境中,image 存放在控制节点本地目录 /opt/stack/data/glance/images/
RDO环境中,image 存放在控制节点本地目录/var/lib/glance/images/,文件名为image-id

其他 backend 的配置可参考http://docs.openstack.org/liberty/config-reference/content/configuring-image-service-backends.html

 

angel架构 glance架构_后台运行_02

angel架构 glance架构_后台运行_03

白屏黑屏操作images
==============================================================================
既然有更友好的 Web UI 了,干嘛还要用 CLI?
    1.Web UI 的功能没有 CLI 全,有些操作只提供了 CLI。 即便是都有的功能,CLI 可以使用的参数更多
    2.一般来说,CLI 返回结果更快,操作起来更高效
    3.CLI 可放在脚本中进行批处理
    4.有些耗时的操作 CLI 更合适,比如创建镜像(后面将涉及)

------------------------------------------------------------------------------
白屏创建Image:
    详见“创建 Image - 每天5分钟玩转 OpenStack(21)”
黑屏创建Image:
    glance image-create --name cirros --file /root/cirros-0.5.2-aarch64-disk.img --disk-format qcow2 --container-format bare --progress
        --progress 显示文件上传百分比

白屏删除Image:
    略
黑屏删除Image:
    1.查看已经存在的images
        glance image-list
        ls /var/lib/glance/images/
    2.删除Image
        glance image-delete 143a751e-a2e2-460e-87bc-c1c1f399940f

白屏黑屏操作images

 

angel架构 glance架构_后台运行_02

angel架构 glance架构_后台运行_03

glance Troubleshooting故障排查
Glance 主要有两个日志,glance_api.log 和 glance_registry.log,保存在 /opt/stack/logs 目录里。
RDO环境:api.log、registry.log,保存在/var/log/glance/目录里。

配置文件保存在/etc/glance/目录下,有多个配置文件,打开debug选项,才会记录debug日志

glance Troubleshooting故障排查