Glance介绍

一 Glance服务介绍
在传统IT环境下,安装一个系统是:要么从安装CD从头安装,要么用Ghost等克隆工具恢复。这两种方式有如下几个问题
1 如果要安装的系统多了效率就很低
2 时间长,工作量大
3 安装完成还要进行手动配置,比如安装其他的软件,设置IP等
4 备份和恢复系统不灵活

二 关于Image
1 云环境下需要更高效的解决方案,这就是Image。Image是一个模板,里面包含了基本的操作系统和其他软件。
2 举例来说,有家公司需要为每个员工配置一套办公用的系统,一般需要一个Win10系统再加MS office软件。OpenStack是这样操作的。
先手动安装好一个虚拟机。
然后对虚拟机执行snapshot,这就得到了一个Image
当有新员工入职需要办公环境时,立马启动一个或多个该Image的instance(虚拟机)就可以了。
3 在这个过程中,第1步跟传统方式类似,需要手动操作和一定时间,但第2、3步非常快,全自动化,一般都是秒级别。
4 而且2、3步可以循环做。比如公司新上了一套OA系统,每个员工的PC上都得有客户端软件。那么可以在某个员工虚拟机上手工安装好OA客户端,然后执行snapshot,得到新的image,以后就直接使用新image创建虚拟机就可以了。
5 另外,snapshot还有备份的作用,能够非常方便地恢复系统。

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

四 Glance的架构图

五 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的大小和类型。

七 多种格式的image支持

八  镜像存储
1 Image的metadata会保存到database中,默认是MySQL
2 Glance自己并不存储image。真正的image是存放在backend中。Glance支持多种backend。包括如下:
A directory on a local file system(这个默认配置)
GridFS
Ceph RBD
Amazon S3
Sheepdog
OpenStack Block Storage(Cinder)
OpenStack Object Storage(Swift)
VMware ESX
3 具体使用哪种backend,是在/etc/glance/glance-api.conf中配置的
一般情况下image存放在控制节点本地目录/vat/lib/glance/images/中