文章目录

  • 前言:
  • 一、Glance简介
  • 二、Glance主要组件及功能
  • 三、镜像格式
  • 四、glance 主要功能与常用命令
  • 4.1 主要功能
  • 4.2 glance 常用管理命令
  • 五、小结


前言:

本篇博客为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(对象存储)中