一.glance
1.概述
- glance:镜像服务(Openstack中的项目)
- 镜像:一系列文件,磁盘驱动器精确副本(复用)
- 镜像文件:类似于压缩包,按照格式制作成单一文件
- 镜像功能:创建操作系统
- 资源的集合,副本,提供单一的文件格式(镜像格式)给用户使用
2.镜像服务
1)概述
镜像服务:管理镜像的,发现、获取和保存镜像 发现:看到和识别 获取:能识别,有控制和使用权限
2)主要功能
1.查询和获取镜像元数据和镜像本身 2.注册和上传虚拟机镜像 3.维护镜像信息(元数据和镜像本身) 4.支持多种方式存储镜像(普通文件系统,swift,Amazon s3) 5.对虚拟机实例创建快照命令来创建新的镜像,备份虚拟机的状态(对于镜像的管理)
3)Images API版本
glance提供的RESTful APl目前有两个版本
v1:只提供基础镜像和成员的操作功能 v2:在v1的基础上增加了镜像位置的添加、删除、元数据的名称空间操作
3.镜像格式
虚拟机镜像文件磁盘格式
raw:无结构的磁盘格式 磁盘镜像实列,二进制形存储的方式
- 优点:访问速度非常块
- 缺点:不支持动态扩容,前期消耗多
qcow2:由Qemu仿真支持,可动态扩展,支持写时复制的磁盘格式 QEMU:虚拟化的重要组件之一。
4.镜像文件容器格式
bare:没有容器或元素据"信封"的镜像
Docker:在glance中存储的的容器文件系统的Dockerd的tar档案
如果不能确定选择哪种容器格式,那么简单地容器格式指定为bare
5.镜像的状态
状态1
- 1.初始化状态(queued):镜像文件刚被创建,glance数据库中只有元数据
镜像数据还没有上传到数据库中。 - 2.正在上传镜像(saving):原数据在上传到数据库中的一种过度状态
- 3.uploading:已经进行导入数据提交调用
- 4.importing:已经完成调用,还没有准备好使用
状态2
- active:镜像数据成功上传完毕
- deactivated:只有管理原可以操作(维护)
- killed:镜像上传过程中发生错误,镜像不可读
- deleted:镜像将在不久后被自动删除,该镜像不可再用,glance仍然保存相关数据和原始数据
- pending_delete:与deletce类似,状态不可以恢复
6.权限访问
- public公共的:可以被所有项目的访问
- private私有的:只有内部可以使用
- shared共享:可由内部成员使用
- protected受保护的:这种镜像不能被删除
二.架构
- 1.user:相对于glance的外部,请求体
- 2.api:核心服务的交互的接口,接受请求,响应镜像查询,获取和存储的调用
- 3.glance-registry:私有仓库,glance注册服务进程,处理原数据相关的请求
包括元数据镜像大小
架构图:glance的DB模块,存储的是镜像的元数据, 镜像的元数据通过glance-registry存放在数据库中 镜像本身(chunk数据)是通过glance存储驱动存放到各种存储后端中
存储后端:store Backend:支持本地存储、对象存储、RBD块设备、 sheepdong分布式存储、cinder块存储、VMware数据存储
1.glance工作流程
流程:
Openstack操作要经过keystone进行身份认证,glance是一个c/s架构,提供REST API
用户通过REST API 来执行镜像各种操作,glance是一个主要的中间件,相当于调度器
1.client:到keystone 进行认证,keystone提供API 认证入口
2.keystone认证的URL:http//ct:5000/v3
3.keystone 返回给令牌, 持有令牌,返回到glance的API上
4.再次向keystone进行认证一次
5.确认后,处理请求,把任务交给glance Domain Controller(默认控制器)进行处理
6.glance Domain Controller(默认控制器)把任务操作分发给各个功能层
工作流程总结:
client客户端自己认证一个权限,获取令牌,获取glance后端位置
镜像请求,API向keystone进行认证,成功之后,交给controller处理
controller根据规则,把任务分别交给对应的组件进行处理
镜像本身的数据交给 glance store drivers 元数据信息交给registry layer来处理
他们会执行自己的职能,调取元数据,调取镜像本身, 通过controller返回给API,最后API返回请求给客户端
操作流程
1.创建数据库,授权 2.修改配置文件 对接mysql 对接keystone 初始化数据库 3.创建用户、授权、创建service、创建url(让open stack可以识别、管理内部组件)
其他的配置,都是该组件的一些功能性配置。
三.glance组件部署
- 配置接:keystone部署之后keysone部署
为openstack安装glance的组件,全部在控制节点上操作
CT VM:192.168.10.155 NAT:192.168.10.154
1.创建数据库实例和数据库用户
|