文章目录
- 一、概述
- 二、Glance架构、工作流程
- 三、glance的主要组件
- 四、Glance管理命令
- 五、OpenStack生产环境的镜像制作
一、概述
- 在openstack环境中,镜像是用于在计算节点生成虚拟机,脱离了镜像服务,就无法创建虚拟机,所以镜像服务是openstack的核心服务
- 镜像服务允许用户发现、注册和获取虚拟机镜像。他提供了一个REST API,允许查询虚拟机镜像的元数据,并获取一个现存的镜像
- 虚拟机的镜像可以很方便的存储在各种地方,从简单的文件系统到对象存储系统(比如 OpenStack Swift)。
二、Glance架构、工作流程
三、glance的主要组件
glance-api
- glance-api 是系统后台运行的服务进程。 对外提供 RESTful API,响应镜像查询、获取和存储的调用。glance-api不会真正处理请求。
- 如果是与镜像 metadata(元数据)相关的操作,glance-api 会把请求转发给 glance-registry;
- 如果是与镜像自身存取相关的操作,glance-api 会把请求转发给该 image 的存储后端。
glance-registry
- glance-registry 是系统后台运行的服务进程。 负责处理和存取镜像的 metadata,例如镜像的大小和类型。
- V2版本的实现就是将 glance-registry 集成到了 glance-api内部,这么做的好处是减少了一个中间的处理环节。V1版本在 Newton 中标注被弃用,目前已经被移除。
database
- database用于存放镜像的元数据,可以根据需要选择数据库,如 MySQL、 SQLite等。
storage repository for image files
- 一般情况下, glance并不需要存储任何镜像,而是将镜像存储在后端仓库中。 Glance支持多种 repository。主要包括对象存储Swift、块存储 Cinder、 VMware的ESX/ESXi或者vCenter、亚马逊的S3、HTTP可用服务器、Ceph等
Glance 支持多种格式的镜像,包括:
1、RAW
- RAW是一种没有格式或裸格式的磁盘文件类型,RAW在性能方面非常出色。由于RAW格式保存原始数据,因此更容易和其他镜像格式进行转换
2、QCOW2
- QCOW2主要特性是磁盘文件大小可以动态按需增长,并且不会占用所有的实际磁盘空间大小。与RAW相比,使用这种格式可以节省磁盘容量
3、VHD
- VHD是微软公司产品使用的磁盘格式。 Virtual PC(微软早期虚拟化产品)和 Hyper-V使用的就是VHD格式
VirtualBox也提供了对VHD的支持。如需在 OpenStack上使用 Hyper-V类型的虚拟化,就应上传VHD格式的镜像文件
4、VMDK
- VMDK是 VMware公司产品使用的磁盘格式。目前也是一个开放的通用格式,除了 VMware自家的产品外,QEM和
Virtualbox也提供了对VMDK格式的支持。
5、VDI
- VDI是Oracle公司的 VirtualBox虚拟软件所使用的格式
6、ISO
- ISO是指一种存档数据文件在光盘上的格式。
7、AKI,ARI,AMI
- Amazon公司的AWS所使用的镜像格式。
四、Glance管理命令
上传镜像
glance image-create --name "centos(自己取得名字)" --file centos.img --disk-format raw --container-format bare --progress
查看镜像列表
glance image-list
镜像一般存储在控制节点的 /var/lib/glance/images 下
ls /var/lib/glance/images
删除镜像
glance image-delete <id>
五、OpenStack生产环境的镜像制作
1、利用官方的iso镜像源部署kvm虚拟机,设置虚拟机存储格式为raw
2、安装好kvm虚拟机后进入kvm的存储卷将img格式的文件通过xftp等工具下载到本地
3、再将本地的img格式镜像通过xftp等工具上传到openstack的控制节点
4、在openstack控制节点通过命令行上传镜像
glance image-create --name "centos(自己取得名字)" --file centos.img --disk-format raw --container-format bare --progress