全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
NOVA GLANCE SWIFT三者之间的关系总的来说,nova的各个组件是以数据库和队列为中心进行通信的,下面对其中的几个组件做一个简单的介绍:Queue,也就是消息队列,它就像是网络上的一个hub,nova各个组件之间的通信几乎都是靠它进行的,当前的Queue是用RabbitMQ实现的,它和database一起为各个守护进程之间传递消息。database存储云基础架构中的绝大多数状态。这包括了可用的实例类型,在用的实例,可用的网络和项目。当前广泛使用的数据库是sqlite3(仅适合测试和开发工作)、MySQL和PostgreSQL。nova-compute负责决定创造虚拟机和撤销虚拟机,通过运行一系列系统命令(例如发起一个KVM实例,)并把这些状态更新到nova-database中去,其过程相当复杂,但是基本原理很简单。nova-schedule负责从queue里取得虚拟机请求并决定把虚拟机分配到哪个服务器上去。schedule的算法可以自己定义,目前有Simple(最少加载主机),chancd(随机主机分配),zone(可用区域内的随机节点)等算法。nova-volume负责记录每一个计算实例,相当于一个计算请求吧,并负责创建,分配或撤销持久层容器(Amazon的,iSCSI,AoE等等)给这些compute instances。nova -netwok负责处理队列里的网络任务。nova-api守护进程是OpenStack Compute的中心。它为所有API查询提供一个入口,并且同时支持OpenStack API和Amazon EC2 API。为了看看nova是如何工作的,我们可以以启动一个实例为例来进行说明,因为启动一个新的instance涉及到很多openstack nova里面的组件共同协作。其中:API:处理客户端的请求,并且转发到Queue和Database中。Scheduler:选择一个host去执行命令nova-compute:启动和停止实例,附加和删除卷等操作nova-network:管理网络资源,分配固定IP。接下来就是真正的过程了,先从API开始:API例如我们输入一个命令:euca-run-instances-k test -t m1.tiny ami-tiny它会执行以下操作:查看这种类型的instance是否达到最大值给scheduler发送一个消息(实际上是发送到Queue中)去运行这个实例。Schedule调度器接收到了消息队列Queue中API发来的消息,然后根据事先设定好的调度规则,选择好一个host,之后,这个instance会在这个host上创建。Compute真正去创建一个instance的操作是由Compute完成的,而这个过程中compute组件与Glance密不可分,如图所示:接下来,需要了解一下Glance在OpenStack里面所起的作用了。我觉得看图是最直观的了,所以要弄明白Glance在整个OpenStack项目中的角色,就再来看一张图。可以看出,通过Glance,Opentack的3个模块被链接成了一个整体,Glance为Nova提供镜像的查找操作,而Swift又为Glance提供实际的存储服务,Swift可以看作是Glacne存储接口的一个具体实现。以我个人的理解来看,Glance的功能类似虚拟文件系统VFS,Glance提供给用户,或者说是Nova,一个统一的操作接口,而至于具体存储的是在Swift上还是在Amazon S3上,使用者不必关心。知道了Glance所起到的作用之后,再来看compute调用Glance的那张图,详细会更好理解。glance-api主要是用来接受各种api调用请求,并提供相应的操作。glacne-registry用来和MySQL数据库进行交互,存储或者获取镜像的元数据,注意,刚才在Swift中提到,Swift在自己的Storage Server中是不保存元数据的,这儿的元数据是指保存在MySQL数据库中的关于镜像的一些信息,这个元数据是属于Glance的。image store也就是图中的”Swift of S3,是一个存储接口,通过接口,glance可以获取镜像,image不仅仅支持OpenStack自己的Swift格式的镜像,也同时支持Amazon S3等其他的镜像。以上就是我对OpenStack三大组件的一些理解,这些内容有的直接来源于网络,有的是我看完资料后的总结,由于看了很多资料,而且没有保存链接,没法一一列举了-Glance项目提供虚拟机镜像的查找,注册和重现,使用RESTful接口接受虚拟机镜像管理的查询请求。在程辉的一篇博客中,有Glance的架构介绍,其中有上面的图。作者将Glance-API和Glance-Registry解释为调用关系是不正确的。这两个服务是独立运行的服务,在sbin目录下,看过glance部署文章的同学知道,glance部署的最后一步就是启动glance-api和glance-registry这两个服务。这两个服务作为WSGI,会分别响应来自用户的RESTful请求,而不是图上所暗示的glance-api响应请求,然后调用glance-registry进行image元数据在数据库的注册。Glance对外服务的入口主要有2个1、Glance-API:主要负责接收响应镜像管理命令的Restful请求,分析消息请求信息并分发其所带的命令(如新增,删除,更新等)。默认绑定端口是9292。2、Glance-Registry:主要负责接收响应镜像元数据命令的Restful请求。分析消息请求信息并分发其所带的命令(如获取元数据,更新元数据等)。默认绑定的端口是9191。在/etc/glance目录下有两个文件glance-api-paste.ini和glance-registry-paste.ini,两个入口服务启动后,会用配置文件分析模块读取这两个文件,执行其文件中标注的需要执行的WSGIapp和middleware。简述paste文件中的概念:app:实际处理REST API请求的python类。filter:一种装饰器,为app提供一层封装,在app处理请求之前会先调用filter的对象。pipeline:所对应的对象是对filter和app的的封装,他将多个filter和某个app绑在一起,在app处理请求之前要先通过pipline指定的在app之前的filter的处理。-OpenStack虚拟机创建过程中镜像格式的的变化过程Glance用来作为独立的大规模镜像查找服务,当它与Nova和Swift配合使用时,就为OpenStack提供了虚拟机镜像的查找服务,像所有的OpenStack项目一样,遵循以下设计思想: 基于组件的架构 -便于快速增加新特性 高可用性 -支持大负荷 容错性 -独立的进程地址空间,避免串行错误 开放标准 -对社区驱动的API提供参考实现1. Glancle架构 Glance主要由三个部分构成:glance-api、glance-registry以及image store。 (1) Glance-api接收REST API的请求,类似nova-api;Glance-api在功能上与nova-api十分类似,都是接收REST API请求,然后通过其他模块(glance-registry及image store)来完成诸如镜像的查找、获取、上传、删除等操作,i默认监听端口9292。 (2) glance-registry用于与MySQL数据库交互,用于存储或获取镜像的元数据(metadata);Glance-registry用于提供镜像元数据相关的REST接口,通过glance-registry,可以向数据库中写入或获取镜像的各种数据,glance-registry监听端口9191。Glance的数据库中有两张表,一张是image表,另一张是image property表。Image表保存了镜像格式、大小等信息;image property表则主要保存镜像的定制化信息。 (3) image store是一个存储的接口层,通过这个接口,glance可以获取镜像,image store支持的存储有Amazon的S3、OpenStack本身的Swift,还有诸如ceph,sheepdog,GlusterFS等分布式存储。 Image store是镜像保存与获取的接口,它仅仅是一个接口层,具体的实现需要外部的存储支持,目前,支持的接口有Amazon S3、GlusterFS、Swift,sheepdog,ceph等。 Glance体系结构如下图所示,通过glance,OpenStac
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农林单位员工培训与发展方向
- 2026-2031中国夹链自封袋吹膜机行业市场研究及投资战略预测报告
- 六安护理行业职业技能培训计划与面试指导
- 2025年社区网格员招录考试真题库(附答案)
- 2025年依法服兵役考试题及答案
- 成都银行笔试题库及答案
- 安全生产新测试题及答案解析
- 2024年资阳市安岳县走进高校引进和专业人才考试真题
- 浏阳市法院书记员招聘笔试真题2025
- 农业循环经济中特色微生物资源的潜力评估
- JT-T-1045-2016道路运输企业车辆技术管理规范
- 国开(甘肃)2024年春《地域文化(专)》形考任务1-4终考答案
- (高清版)JTGT 3331-04-2023 多年冻土地区公路设计与施工技术规范
- 水处理药剂采购投标方案
- 冬季基坑施工方案及措施
- 团员知识培训课件
- 大学生资源循环科学与工程职业生涯规划
- 石油行业安全生产标准化导则与实施规范
- 机械毕业设计-番茄打浆机设计
- 实验室质量管理体系建立与运行课件
- 国家开放大学《小城镇建设》形考任务1-4参考答案
评论
0/150
提交评论