Openstack组件实现原理 — Glance架构(V1/V2)
2016-06-24 22:59
681 查看
目录
目录Glance 安装列表
Glance Image service
Image service 的组件
Glance-Api
Glance-Registry
Glance-db
Image StoreStore Backend
Image
Glance 架构
Glance Restful API V1
Glance Restful API V2
Glance 安装列表
Openstack组建部署 — Glance InstallGlance Image service
Image service项目代号Glance,是Openstack的镜像服务组件。Glance主要提供了一个虚拟机镜像文件的存储、查询和检索服务,通过提供一个虚拟磁盘映像目录和存储库,为Nova的虚拟机提供镜像服务。现在Glance具有V1和V2(Openstack-F发布)两个版本。Image service 的组件
Glance-Api
glance-api:是一个对外的API接口,能够接受外部的API镜像请求。主要用于分析、分发、响应各种镜像管理的REST Request,然后通过其他模块(EG. glance-registry、Store Backend后端存储接口)完成镜像的发现、获取、存储等操作。默认绑定端口是9292。
Glance-Registry
glance-registry:用于存储、处理、获取Image Metadata。通过响应从
glance-api发送过来的
Image Metadata REST Request,然后与MySQL进行交互,实现
Image Metadate的存储、处理、获取。默认绑定的端口是9191。
Glance-db
glance-db:在Openstack中使用MySQL来支撑,用于存放Image Metadate。
Image Metadate(镜像元数据):指通过
glance-registry来保存在MySQL Database中的镜像文件相关信息。
Image Store(Store Backend)
Image Store:用于存储镜像文件。通过Store Backend后端存储接口来与glance-api联系。通过这个接口,glance可以从Image Store获取镜像文件再交由Nova用于创建虚拟机。
Glance 通过Store Adapter(存储适配器)支持多种Imange Store方案:
Glance允许上传私有或共有的不同格式镜像:
Raw
Machine (kernel/ramdisk outside of image, a.k.a. AMI)
VHD (Hyper-V)
VDI (VirtualBox)
qcow2 (Qemu/KVM)
VMDK (VMWare)
OVF (VMWare, others)
Image
Image(镜像文件)的访问权限分为:Public 公共的:可以被所有的Tenant使用。
Private 私有的/项目的:只能被Image Owner所在的Tenant使用。
Shared 共享的:一个非公共的Image可以共享给指定的Tenant,通过
member-*操作来实现。
Protected 受保护的:Protected Image不能被删除。
Image的状态类型:
Queued:没有上传Image数据,只SQL Database中存有该镜像的元数据。
Saving:正在上传Image。
Active:正常状态。
Deleted/pending_delete: 已删除/等待删除的Image。
Killed:Image元数据不正确,等待被删除。
Image状态类型转换:
‘queued’ => (‘saving’, ‘active’, ‘deleted’)
‘saving’ => (‘active’, ‘killed’, ‘deleted’, ‘queued’)
‘active’ => (‘queued’, ‘pending_delete’, ‘deleted’)
‘killed’ => (‘deleted’)
‘pending_delete’ => (‘deleted’)
‘deleted’ => ()
Glance 架构
Glance Restful API — V1
V1的功能:提供了基本的Image和
Member操作
1. 镜像文件的创建、删除、查询、更改
2. 镜像Tenant成员的创建、删除和查询
V1包含有
glance-api和
glance-registry两个WSGI service,都提供了
REST API接口来接收虚拟机镜像管理的请求。
两者的区别在于:
glance-api的REST API能够对外开放而
glance-registry的REST API只能够被
glance-api调用。
V1的架构:
需要注意的是:
glance-api不会真正去处理
REST Request,可以将
glance-api再分为两部分:
一部分是中间件,主要用于对
REST Request的分析、分发工作(EG. 分析出版本号)
另一部分来提供实际的服务(EG. 与Store Backend后端存储接口交互,实现镜像上传、下载)
所以若
glance-api接收到涉及SQL Database的操作请求时,会调用
registry-clinet并生成
HTTP指令,然后转发给
glance-registryAPI进行处理。
Glance Restful API — V2
V2的功能:除了拥有V1的功能之外,还能够:1. 镜像Location的添加、删除和修改
2. Metadata、Namespace、Image tag操作
V2架构图:
V2在实现上,把
glance-registry和
glance-api合并到了一起,减少了一个中间环节。
相关文章推荐
- 高可用集群之heartbeat v2--基于CRM进行资源管理
- 大型网站架构不得不考虑的10个问题
- 大型网站架构不得不考虑的10个问题
- Ext.Net学习网站
- Ext.Net学习网站
- 高性能网站开发
- 商城架构演变
- WebRTC音视频引擎研究(1)--整体架构分析
- 分层架构中的服务层
- 一些颜色工具网站
- 高性能网站开发
- 对三层架构的理解
- DedeCMS访问网站首页会自动在域名后面多出index.html的解决方法
- ReactJS学习系列课程附加(Flux应用架构)
- vs2015将网站发布到mircosoft azure上
- 好的网站运营,就该给用户想要的!关键是怎么给
- codesmith 三层架构代码生成
- 一些IT技术网站收藏
- ZooKeeper架构学习(一)
- 国外较好的IT网站