openstack-理解glance组件和镜像服务
admin
2023-04-09 02:43:23
0

OpenStack镜像服务是IaaS的核心服务。镜像服务主要是由glance组件实现。它接受磁盘镜像或服务器镜像API请求,和来自终端用户或OpenStack计算组件的元数据定义。它也支持包括OpenStack对象存储在内的多种类型仓库上的磁盘镜像或服务器镜像存储。

大量周期性进程运行于OpenStack镜像服务上以支持缓存。同步复制(Replication)服务保证集群中的一致性和可用性。其它周期性进程包括auditors, updaters, 和 reapers。

OpenStack镜像服务包括以下组件:

  • glance-api

  • 接收镜像API的调用,诸如镜像发现、恢复、存储。

  • glance-registry

  • 存储、处理和恢复镜像的元数据,元数据包括项诸如大小和类型。

  • 数据库

  • 存放镜像元数据,用户是可以依据个人喜好选择数据库的,多数的部署使用MySQL或SQLite。

glance组件的具体功能如下:


1)提供REST API,让用户能够查询获取image的元数据和image本身

2)支持多种方式存储image,包括普通的文件系统、SWIFT、Amazon S3 等。

3) 对Instacne执行 Snashot创建新对image.


一、glance的架构

    大致架构如下所示:

openstack-理解glance组件和镜像服务



1.1 glance-api

    glance-api 是系统后台运行的服务进程,对外提供REST API,响应image查询,获取和存储的调用,glance-api不会真正处理请求。

    如果是与image metadata相关的操作,glance-api会把强求转发给glance-registry;如果是与image自身存取的相关操作,glance-api会把请求转发给image的store bakend.

  在控制节点上可以查看glance-api进程。

ps -ef|grep glance-api

openstack-理解glance组件和镜像服务



1.2 glance-registry

glance-registry是系统后台运行的服务进程,负责处理和存取image的metadata,例如image的大小和类型

查看进程

ps -ef|grep glance-registry

openstack-理解glance组件和镜像服务


glance支持多种格式的镜像

openstack-理解glance组件和镜像服务


1.3Database

image的metadata会保持到database中,默认是mysql

在控制节点上查看glance的database信息,如下所示:

openstack-理解glance组件和镜像服务



1.4 Store backend(后端存储)

glance 自己并存储image,真正的image是存放在backend中的。glance支持多种backend,包括:


A directory on local file system (默认配置)

GridFS

Ceph RBD

Amazon S3

Sheepdog

Openstack block storage(cinder)

Openstack object Storage(Switf)

VMware ESX

具体使用哪种backend,实在/etc/glance/glance-api.conf中配置的

openstack-理解glance组件和镜像服务

在packstack allinone中,image存放在控制节点本地目录/var/lib/glance/images/中的

使用命令查看已经存在的image

glance image-list

openstack-理解glance组件和镜像服务

查看保存目录

openstack-理解glance组件和镜像服务

每个image在目录下都对应有有一个文件,文件以image的ID命名


二 、glance的操作

2.1使用web UI

 admin登陆后,点击项目->计算->镜像

openstack-理解glance组件和镜像服务



点击创建镜像,为镜像命名,格式选择qcow2格式,(qemu copy on write,写时复制,快照格式)

openstack-理解glance组件和镜像服务


可以在https://download.cirros-cloud.net/0.3.4/  下载j镜像文件cirros-0.3.4-x86_64-disk.img,这个cirros是一个很小的linux 镜像,适合测试使用



openstack-理解glance组件和镜像服务


如果选择“共有”,该镜像则可以被其他项目使用,如果选择受保护的,则该镜像不能被删除。

上传完毕后,点击创建即可。创建完毕后,可以点击镜像查看属性

openstack-理解glance组件和镜像服务


2.2使用命令

对于较小的镜像,可以使用web ui上传会很快,但是不是适合上传较大的镜像。

比如我们上传一个4G大小的iso文件,我们首先使用文件传输(ftp,sftp)传输到控制节点的指定目录中,例如/root/中,然后再通过openstack的命令去上传的镜像如下所示:(注意: 空格被linux 识别为\)

openstack-理解glance组件和镜像服务

使用如下命令进行创建

glance image-create --name windwosserver2008r2 --file /root/windows\ Server\ 2008.iso --disk-format iso --container-format bare --progress

创建的镜像格式为iso,使用--progress显示上传进度

openstack-理解glance组件和镜像服务

创建完毕后,查看镜像


openstack-理解glance组件和镜像服务

删除镜像,可以使用glance image-delete命令,后面接ID,如

glance image-delete 57e1a4c2-3915-4f13-a0d9-411e777c2082


三、使用openstack cli

每个openstack组件服务都有自己的cli,命令关键字就是组件名称,例如glance命令就是使用glance组件

注意,在使用openstack cli 之前都需要设置环境变量,packstack中方式如下:

source keystonerc_admin

每个命令都有增、删、查、改的操作

CMD --creare [parm1] [parm2].....

CMD --delete [parm1] [parm2].....

CMD --update [parm1] [parm2].....

CMD --list

CMD --show [parm]


对于glance的镜像管理命令举例如下:

glance image-create

glance image-delete

glance image-update

glance image-show


可以使用help查看使用命令方法

openstack-理解glance组件和镜像服务



查看glance help image-create

openstack-理解glance组件和镜像服务


openstack排查问题的方法主要是通过日志,每个组件服务都有自己单独的日志,在packstack中,主要有两个日志,galanceapi.log和glaceregistry.log,保存在/var/log/glance中

api.log记录了REST API调用情况

openstack-理解glance组件和镜像服务

glance.log日志,记录了glace服务处理请求的过程以及数据库操作

openstack-理解glance组件和镜像服务



相关内容

热门资讯

徐巧芯剖析赖清德:最怕自己丢掉... 海峡导报综合报道 大罢免投票一周年纪念活动26日举行,台北市长蒋万安出席并怒轰,民进党一年过后仍没有...
中国红十字会总会紧急向广东调拨... 记者从中国红十字会总会了解到,针对台风“红霞”给广东造成的灾情,中国红十字会总会启动四级应急响应,紧...
这些少年,正被“毒蛋”围猎 李梦抽了几口电子烟,吐出了白色的烟雾,有一股浓烈的水果香味。随后,她看着自己握电子烟的手,跟身边人说...
蒋万安号召“倒阁”,卢秀燕认为... 海峡导报综合报道 台北市长蒋万安27日抛出震撼议题,表示多名民代向他提议推动“倒阁”,要求台行政机构...
特朗普将在白宫会见两位重要客人 俄乌战争仍未结束,美伊冲突又有升级风险。在此背景下,美国总统特朗普将在白宫接见乌克兰和以色列领导人。...
新租客打扫卧室柜子上掉落4万元... 近日,莲前西路某小区内,张倩签下一套房子的租赁合同。当天上午,她带着12岁的大女儿周馨怡和11岁的小...
六部门通告:禁止涉军队退役报废... 关于禁止涉军队退役报废装备销售活动的通告近年来,部分经营者在线上线下公开销售涉及我军退役报废装备(指...
九寨沟景区发生泥石流,部分道路... 7月26日,九寨沟风景名胜区管理局发布泥石流灾害通报:2026年7月26日15时50分,九寨沟景区局...
空调26度不凉是什么原因 从空调内部元器件来说,不凉的原因有可能是温度传感器出现故障了,也有可能是空调压缩机或者铜管出现问题,...
鲸鸿动能携手香港国际机场、鸿蒙...   2026 年 7 月 25 日,十余位鸿蒙车主组成的车队从珠海出发,经港珠澳大桥通关抵达香港国际...