《OpenStack高可用集群(上册):原理与架构》—2.2.2 镜像服务Glance
2.2.2 镜像服务Glance
Glance主要负责Image的注册和查询传送服务,Glance中的镜像可以是用户制作并上传的镜像,也可以是对当前实例进行快照形式copy后的镜像副本,两种类型的镜像都可以快速用于实例部署。通过Glance提供的标准RESTful API接口,Glance存储的镜像可以供OpenStack用户和管理员的多台服务器进行并行查询和访问,默认情况下,Glance将用户上传的镜像存储在部署Glance服务的主机目录上(/var/lib/glance/images)。Glance API服务可以通过配置缓存机制来提高镜像服务的响应速度,Glance支持多种后端存储服务,例如本地文件系统作为存储介质、Swift(OpenStack Object Storage)作为存储介质或者AWS S3兼容的API作为存储介质以及分布式存储集群Ceph等。
Glance作为OpenStack的一个核心系统项目,其架构是基于组件设计的,Glance具有高可用、可容错及故障恢复、标准高度开放和兼容性强等特点。在Glance中需要理解的两个术语是镜像格式(Formats)和容器格式(Containers)。虚拟机镜像格式是底层的磁盘镜像格式,虚拟化供应商利用不同的磁盘镜像格式来存储虚拟机镜像数据,目前Glance支持的镜像格式包括:
aki镜像格式。aki是AWS的Kernel镜像格式。
ari镜像格式。ari是AWS的Ramdisk镜像格式。
ami镜像格式。ami是AWS的虚拟机镜像格式。
raw镜像格式。raw是一种非结构化的镜像格式,一个没有扩展过的镜像文件通常就是raw格式镜像。
vhd镜像格式。vhd是一种通用的虚拟机磁盘格式,可用于Vmware、Xen、Micro-soft Hyper-V、VirtualBox等虚拟化引擎中。
vmdk镜像格式。vmdk是Vmware的虚拟机磁盘格式,支持多种Hypervisor。
vdi镜像格式。vdi是VirtualBox、QEMU等支持的虚拟机磁盘格式。
iso镜像格式。iso是光驱数据的存档格式,如CD-ROM。
qcow2镜像格式。qcow2是一种支持QEMU并且支持动态磁盘镜像扩展和写时复制(Copy on Write)的磁盘格式。
容器格式主要用于表明虚拟机镜像文件是否包含实际虚拟机的元数据信息,容器类似一个文件夹,文件夹中可能包含磁盘镜像和实际虚机的元数据信息也可能只有镜像文件而没有元数据信息。目前使用较多的镜像容器格式有如下几种:
docker格式。一种docker容器格式。
ovf格式。一种开发式虚拟机磁盘格式,最初由Vmware发起,目前已被多种虚拟化设备支持。
bare格式。裸格式,这表示镜像没有Container或者没有包含元数据信息。
aki格式。Amazon Kernel镜像。
ari格式。Amazon Ramdisk镜像。
ami格式。Amazon虚拟机镜像。
当前OpenStack的镜像服务和其他项目还不支持容器格式,因此,在不确定的情况下,最好将镜像的容器设置为bare格式。
OpenStack的镜像服务主要由Glance-api和Glance-registry两个服务构成。Glance的API提供V1和V2两个版本,V1版本的API只提供了基本的Image和Member操作功能,包括镜像创建、删除、下载、列表、详细信息查询、更新,以及镜像Tenant成员的创建、删除和列表,而V2版本的API还提供了镜像Location的添加、删除和修改等操作,以及Metadata的命名空间和Image tag等操作。目前Glance中的镜像数据分为两部分存放,Image的元数据通过Glance-registry存放在数据库中,而Image的Chunk数据则通过Glance-store存放在各种Backend Store(后端存储)中,并从中获取。Glance的客户端主要是镜像的查询和使用者,包括Horizon、Nova和Glance的命令行,而后端存储的可选用范围也比较广泛,包括块存储Cinder、本地文件系统、对象存储Swift和分布式存储Ceph等,图2-10是Glance的原理架构图。
图2-10 Glance原理架构图
- 点赞
- 收藏
- 关注作者
评论(0)