一 glance在openstack中的位置
二 Glance功能和架构
1 作为独立的大规模镜像查找服务,为openstack提供了虚拟机镜像的查找服务。
2 glance遵循以下设计思想
- 基于组件的架构——便于快速增加新特性
- 高可用性——支持大负载
- 开放标准——对社区驱动的API提供参考实现
3 主要由三部分构成:glance-api,glance-registry和image store
glance-api:接收REST API请求,与其他两个模块配合,完成诸如镜像的查找,获取,上传,删除等操作,默认监听端:9292
glance-registry:用于与数据库交互,存储或获取镜像的元数据(metadate),对应数据库中的两张表:
- image表:保存了镜像格式,大小等信息
- image property表:保存镜像定制化信息,比如 --property hypervisor_type=qemu
image store:存储接口抽象层
- Amazon S3
- GlusterFS
- Swift
- Sheepdog
- Ceph
三 glance架构图
通过glance,openstack的三个模块:计算组件(nova)、镜像管理组件(glance)、存储组件(swift,ceph,sheepdog等)被连接成一个整体,Glance为Nova提供镜像的查找等操作,而存储组件又为Glance提供了实际的存储服务。而Swift,ceph,gluster,sheepdog等又是glance存储接口的一些具体实现,glance的存储接口还能支持S3等第三方商业组件。
四 glance支持的操作(REST API operation)
1 create:创建镜像
glance image-create –name="CirrOS 0.3.1" --disk-format=qcow2 --container-format=bare --visibility=public
2 upload:上传镜像
glance image-upload ${IMG_ID}</root/images/cirros-0.3.1-x86_64-disk.img
3 download:下载镜像
glance image-download ${IMG_ID}>/root/images/${IMG_ID}
4 show:查询镜像详细信息
glance image-show ${IMG_ID}
5 update:更新镜像元数据信息
glance image-update ${IMG_ID} --property hypervisor-type=qemu
6 list:列出当前用户可见的所有镜像
glance image-list
7 delete:删除指定镜像
glance image-delete ${IMG_ID}
8 share:将用户私有镜像共享
五 glance相关问题
1 问题1:packstack搭建环境镜像上传一直queue的问题
解决方法:在/etc/glance/glance-api.conf中修改如下配置项的值:
notifier_strategy=noop
2 问题2:默认加载所有的后端存储驱动,但是我们可能只配一种后端存储,所以在/var/log/glance/api.log中会报很多warning
解决方法:忽略即可。