【Centos7系列】Openstack-glance组件介绍

Iceboundnana 发布于 2023-08-08 1.2k 次阅读


概述

  • glance(OpenStack Image Service)是一个提供发现,注册和下载镜像的服务
  • glance 提供了虚拟机镜像的集中存储
  • 通过 Glance 的 RESTful API,可查询镜像元数据、下载镜像
  • 虚拟机的镜像可以方便的存储在各种地方,从简单的文件系统到对象存储系统(比如 OpenStack Swift)
  • glance 里镜像被当做模板来存储,用于启动新实例
  • glance 可以从正在运行的实例建立快照用于备份虚拟机的状态

主要功能

  • 提供 RESTful API 让用户能够查询和获取镜像的元数据和镜像本身
  • 支持多种方式存储镜像,包括普通的文件系统、Swift、Ceph 等
  • 对实例执行快照创建新的镜像

架构

  • Glance-api:接收REST API的请求,然后通过其他模块(glance-registry及 image store)来完成镜像的查找、获取、上传、删除等操作,默认监听端口 9292
  • Glance 支持两种 RESTful API V1和V2
    • V1只提供了基本的镜像和用户操作功能:镜像创建、删除、下载、列表、详细信息查询、更新,以及镜像租户成员的创建、删除和列表
    • V2除了支持V1的所有功能外,主要增加了以下功能:
    1. 镜像 location 的添加、删除和修改等操作
    2. metadata namespace 操作
    3. 镜像 tag 操作
  • Glance-registry:用于与MariaDB数据库交互,用于存储或获取镜像的元数据(metadata),默认监听端口 9191
  • Store Adapter:通过提供的存储接口来获取镜像。
  • Database:Image 的 metadata 会保持到 database 中,主要使用 MySQL

支持的镜像格式

  • raw
  • 无格式镜像,最简单的一种格式,KVM 和 Xen 管理程序均支持此格式
  • vhd
  • Virtual Hard Disk,经常被 VMware、Xen、Microsoft、VirtualBox等公司使用的格式
  • vhdx
  • vhd格式的增强版,它支持更大的磁盘大小,并在断电时保护数据不受损坏
  • vmdk
  • Virtual Machine Disk,另一种被很多虚拟机监控器使用的格式
  • vdi
  • Virtual Disk Image,被 VirtualBox 虚拟机监视器和 QEMU 仿真器支持的镜像文件
  • iso
  • ISO格式是用只读的 ISO 9660(也称为ECMA-119)文件系统格式化的磁盘镜像,通常用于cd和dvd
  • qcow2
  • QCOW2(QEMU copy-on-write version 2)格式通常与 KVM hypervisor 一起使用,它可以动态扩展,支持写时复制
  • aki
  • 这表示 Glance 中存储的是 Amazon Kernel Image(AKI),它是一个内核文件,hypervisor 最初将加载它来引导映像;对于Linux机器,这将是一个 vmlinuz文件
  • ari
  • 这表明 Glance 中存储的是 Amazon Ramdisk Image (ARI)。它是一个可选的 ramdisk 文件,在引导时挂载;对于Linux机器,这将是一个initrd 文件
  • ami
  • 这表示Glance中存储的是 Amazon Machine Image(AMI),它是原始格式的虚拟机映像

支持的后端存储

  • glance 本身不存储镜像,真正的镜像放在后端存储
  • 用户可通过配置 /etc/glance/glance-api.conf 来设置 glance 的默认存储
  • glance 支持多种后端存储:
  • file:默认配置,在本地文件系统中保存镜像
  • http:可使用 http 服务获取镜像,这种方式只能只读
  • rbd:使用 Ceph 的 RBD 接口存储到 Ceph 集群中
  • swift:OpenStack Object Storage
  • cinder:OpenStack Block Storage
  • vmare

镜像状态

状态图

  • queued
    • 在 Glance registry 里已经通过验证可以开始存储,暂时没有镜像数据被上传到 Glance,镜像大小在上传时设置为0
  • saving
    • 镜像的原始数据目前正在上传到Glance
    • 当一个镜像被 POST /images 调用注册,并且存在一个 x-image-meta-location 时,该镜像将永远不会处于saving 状态(因为镜像数据已经在其他一些位置可用)
  • uploading
    • 表明已经进行了镜像上传
    • 在此状态下,不允许调用 PUT /file 【&】对一个已经在队列中的镜像调用 PUT /files 会使得镜像变成saving状态。当镜像处于 saving 状态时不允许执行 PUT /stage 操作。因此,不能对相同的镜像使用这两种上传方法
  • importing
    • 表示已经进行了导入操作,但镜像还没有准备好使用
  • active
    • 表示在 Glance 里是一个完全可用的镜像
    • 当镜像上传成功后,会切换到这个状态
  • deactivated
    • 表示不允许任何非管理员用户访问镜像数据,禁止下载镜像,也禁止镜像导出和镜像克隆这样可能需要镜像数据的操作
  • killed
    • 表示在上传镜像数据时发生了错误,并且该镜像不可读
  • deleted
    • Glance 保留了有关镜像的信息,但已不再可用
    • 处于这种状态的镜像将在以后被自动删除。
  • pending_delete
    • 类似于删除,但Glance还没有删除镜像数据
    • 处于这种状态的镜像不能恢复

glance 工作流程

基础命令

【Centos7系列】Openstack-glance基础命令 – Nana Sharing Website (iceboundnana.top)

此作者没有提供个人介绍。
最后更新于 2023-08-08