前言:
本篇博客为OpenStack—glance组件基础理论,之后会持续更新~~
一、Glance简介
- glance 镜像服务允许用户去发现、注册和获取虚拟机镜像。他提供了一个rest api(交互接口),允许查询虚拟机镜像的元数据,并获取一个现存的镜像。
- glance可以将虚拟机镜像存放到各种位置,从简单的文件系统到对象存储系统,如openstack的swift对象存储服务项目,默认是存储在本地文件系统上的。
- 在生产环境中这个模块本身不会存储大量的数据,需要挂载后台存储swift来存放实际的镜像数据
- 在openstack环境中,镜像是用于在计算节点生成虚拟机。脱离了镜像服务,就无法创建虚拟机,所以镜像服务是openstack的一个核心服务
二、Glance主要组件及功能
-
glance-api
glance-api 用于接收镜像API的调用,诸如镜像发现、恢复及存储等,作为一个后台进程,glance-api对外提供rest api接口,响应用户发起的镜像查询,获取和存储的调用
-
glance-registry
glance-registry用于存储、处理和恢复镜像的元数据,元数据包括镜像的大小和类型等属性,registry是一个内部服务接口,不建议暴露给普通用户
-
database
database用于存放镜像的元数据,可以根据需要选择数据库,如MySQL、SQLite等
-
storage repository for image files(镜像储藏库)
一般情况,glance不需要存储任何镜像,而是将镜像存储在后端仓库中。
glacne 支持多种仓库,例如:Swift、cinder、vmware的ESX、vCenter、亚马逊S3、HTTP可用服务器、ceph等等
三、镜像格式
-
Glance支持多种镜像格式,包括磁盘格式和容器格式,常见的格式包括以下几种:
-
① RAW
RAW是一种没有格式或裸格式的磁盘文件类型,RAW对数据不做任何修饰或处理,直接保存最原始的状态,所以在性能方面非常出色。由于RAW格式保存原始数据,因此更容易和其他镜像格式进行转换
-
② QCOW2
QCOW2是QCOW的升级版本,其主要特性是磁盘文件大小可以动态按需增长,并且不会占用所有的实际磁盘空间大小。与RAW相比,使用这种格式可以节省磁盘容量。
-
③ VHD
VHD是微软公司产品使用的磁盘格式。Virtual PC(微软早期虚拟产品)和Hyper-V使用的就是VHD格式。Virtual BOX也提供了对VHD的支持。如需在OpenStack上使用的Htper-V类型的虚拟化,就应上传VHD格式的镜像文件。
-
④ VMDK
VMDK是VMware公司产品使用的磁盘格式。目前也是一个开放的通用格式,除了VMware自家的产品外,QEMU和Virtual BOX也提供了对VMDK格式的支持
-
⑤ VDI
VDI是Oracle公司的Virtual BOX虚拟软件所使用的格式
-
⑥ ISO
是指一种存档数据文件在光盘上的格式
-
⑦ AKI、ARI、AMI
Amazon公司的AWS所使用的镜像格式
四、glance 主要功能与常用命令
4.1 主要功能
- 提供虚拟机镜像的存储,查询和检索功能,为nova进行服务,依赖于存储服务(存储镜像本身)和数据库服务(存储镜像相关的数据)。
4.2 glance 常用管理命令
-
创建镜像
glance image-create --name centos5.8_x86_64 --disk-format=qcow2 --container-format=bare --is-public=True --file=/tmp/centos5.8_x86_64_growroot_1.2_20131231.qcow2
-
上传image
glance add name=“linux 12.04 cloudimg amd64” is_public=true container_format=ovf disk_format=qcow2 < /root/precise-server-cloudimg-amd64-disk1.img
-
查看glance状态
glance image-list
-
列出镜像的详细信息
glance image-show 0c47db9c-5f74-4544-8ada-0894c1d2c20c
-
删除镜像
nova image-delete cirros
-
设置镜像参数
openstack image set --property hw_cpu_cores=8 --property hw_cpu_threads=2 --property hw_cpu_sockets=2 --property hw_disk_bus=ide 0215d732-7da9-444e-a7b5-798d38c769b5
如果无法正常启动可以设置–property hw_disk_bud=ide参数尝试
-
将快照转为镜像
镜像默认存储位置/var/lib/glance/images
glance image-create --name “CentOS 7” --file 228f7bdc-fcf1-4f6a-8a7a-298b86f9e94b --disk-format qcow2 --container-format bare --visibility public --progress
glance image-create --name “cirros-raw” --file cirros-0.3.3-x86_64-disk.img --disk-format raw --container-format bare --visibility public --progress
-
镜像下载命令
glance image-download --file /root/centos7-7.qcow2 c71568de-e37f-49cb-8ab4-01bd0cbbded8
五、小结
-
传输ISO镜像时,不要在web界面传,在后台的控制节点传,登录控制节点再使用命令传
不同的虚拟化产品能到处不同格式的镜像,可以通过glance再把这些镜像导到openstack上,glance的file默认存储在系统中
生产环境,一般用的数据比较大,存储在指定Swift(对象存储)中