openstack

AWS模式是什么,有什么优点?

通过Web Service接口开放数据和功能, 一切以服务实现,通过SOA的架构使系统达到松耦合。可以在访问层、通用服务层 、PaaS层和IaaS层为用户提供服务。使用户应用使用IaaS基础IT资 源,将PaaS和通用服务作为应用架构中的组件来构建自己的服务。


IaaS模式核心需求有哪些?

1、云拥有者, 配置和操作基础架构

2、服务的提供者, 注册云服务、 查看服务的使用情况和 查看服务的计费情况

3、服务的使用者, 创建和存储自定义的镜像和启动、监控、终止实例


 Openstack都包含哪些核心项目,作用是什么?


1、计算(Compute):Nova
 根据需求提供相应虚拟的服务器
2、对象存储(Object Storage):Swift  
提供的对象存储服务,支持文件的存储或检索。
3、镜像(Image):Glance
提供了一个虚拟磁盘镜像的目录和存储仓库,可提供对虚拟机镜像的存储和检索。
4、身份(Identity):Keystone   
 为OpenStack上的所有服务提供身份验证和授权。
5、自助门户(Dashboard):Horizon
为OpenStack的所有服务提供一个基于Web的模块化的UI界面。
6、网络(Network):Quantum 
在接口设备之间提供网络连接即服务的服务,这些接口设备主要由OpenStack的其他服务如Nova进行管理。
7、块存储 (Block Storage):Cinder 这是存储管理的组件
为虚拟化的客户机提供持久化的块存储服务。

 镜像和实例有什么区别和联系?



 Nova有哪些核心模块,工作过程是什么?

nova-api是Nova的中心。它为所有外部调用提供服务,除了提供OpenStack本身的API规范外,他还提供了兼容EC2的部分API,所以也可以用EC2的管理工具对nova进行日常管理。

nova-compute负责对虚拟机实例进行创建、终止、迁移、Resize的操作。工作原理可以简单描述为:从队列中接收请求,通过相关的系统命令执行他们,再更新数据库的状态。

nova-volume管理映射到虚拟机实例的卷的创建、附加和取消。

nova-network从队列中接收网络任务,然后执行任务控制虚拟机的网络,比如创建桥接网络或改变iptables的规则。

nova-scheduler 提供调度,来决定在哪台资源空闲的机器上启动新的虚拟机实例

Queue为守护进程传递消息。

nova-database存储云基础架构中的各种数据。包括了虚拟机实例数据,网络数据等。

user dashboard是一个可选的项目。它提供了一个web界面来给普通用户或者管理者来管理、配置他们的计算资源。

每个进程之间通过队列(Queue)和数据库(nova database)来交换信息,执行各种请求。而用户通过nova-api暴露的web service来同其他组件进行进行交互。Glance是相对独立的基础架构,nova通过glance-api来和它交互。

工作过程:nova-api接受用户ComputeAPI的请求,然后将请求放入queue。nova-scheduler 从队列上得到一个虚拟机实例请求并且决定它应该在哪里运行。然后 nova-compute接收队列中的动作,然后执行一系列的系统命令(如启动KVM实例),同时更新数据库中的状态。之后nova-volume负责管理映射到虚拟机实例的卷的创建、附加和取消。 nova-network从队列中接收网络任务,然后执行任务控制虚拟机的网络。nova-database存储了虚拟机实例数据,网络数据最后用户Keystone通过进行身份验证和授权。

Keystone权限控制过程是什么?

 用户通过自己的户名和密码向keystone申请token,keystone认证用户名和密码后,返回token1

然后用户通过token1发送给nova创建虚拟机到请求,nava将token1发送给keystone进行验证。验证成功后,nova向glance发送token1加请求镜像,然后galance向keystone验证token1。验证成功后,glance返回一个镜像。nova向Quantum发送token1和请求网络中到vif插件,然后Quantum向keystone验证token1,验证成功后,Quantum向nova发送token1和验证过的可以访问网络到用户。nova再次进行验证,验证成功后,Quantum向nova返回成功信号。最后nova向用户返回成功响应到信号。


Quantum原理是什么?



Swift的核心概念有哪些?

Object:对象。基本的存储实体,所有数据按照对象进行存储
Container:容器。对象的装载体,组织数据的方式,存储的隔间,类似于文件夹,但不能嵌套,object存储于container中
Account:账户。权限单位,account拥有若干container


Swift的组件有哪些,都有什么作用?

Proxy Server

Proxy Server是提供Swift API的服务器进程,负责Swift其余组件间的相互通信。对于每个客户端的请求,它将在Ring中查询Account、Container或Object的位置,并且相应地转发请求。Proxy提供了Rest-full API,并且符合标准的HTTP协议规范,这使得开发者可以快捷构建定制的Client与Swift交互。

Storage Server

Storage Server提供了磁盘设备上的存储服务。在Swift中有三类存储服务器:Account、Container和Object。其中Container服务器负责处理Object的列表,Container服务器并不知道对象存放位置,只知道指定Container里存的哪些Object。这些Object信息以sqlite数据库文件的形式存储。Container服务器也做一些跟踪统计,例如Object的总数、Container的使用情况。

Consistency Servers

在磁盘上存储数据并向外提供Rest-ful API并不是难以解决的问题,最主要的问题在于故障处理。Swift的Consistency Servers的目的是查找并解决由数据损坏和硬件故障引起的错误。主要存在三个Server:Auditor、Updater和Replicator。 Auditor运行在每个Swift服务器的后台持续地扫描磁盘来检测对象、Container和账号的完整性。如果发现数据损坏,Auditor就会将该文件移动到隔离区域,然后由Replicator负责用一个完好的拷贝来替代该数据。图2给出了隔离对象的处理流图。 在系统高负荷或者发生故障的情况下,Container或账号中的数据不会被立即更新。如果更新失败,该次更新在本地文件系统上会被加入队列,然后Updaters会继续处理这些失败了的更新工作,其中由Account Updater和Container Updater分别负责Account和Object列表的更新。 Replicator的功能是处理数据的存放位置是否正确并且保持数据的合理拷贝数,它的设计目的是Swift服务器在面临如网络中断或者驱动器故障等临时性故障情况时可以保持系统的一致性。

Ring

Ring是Swift最重要的组件,用于记录存储对象与物理位置间的映射关系。在涉及查询Account、Container、Object信息时,就需要查询集群的Ring信息。 Ring使用Zone、Device、Partition和Replica来维护这些映射信息。Ring中每个Partition在集群中都(默认)有3个Replica。每个Partition的位置由Ring来维护,并存储在映射中。Ring文件在系统初始化时创建,之后每次增减存储节点时,需要重新平衡一下Ring文件中的项目,以保证增减节点时,系统因此而发生迁移的文件数量最少。



 Ring算法思想是什么?

一致性哈希算法

Swift利用一致性哈希算法构建了一个冗余的可扩展的分布式对象存储集群。Swift采用一致性哈希的主要目的是在改变集群的Node数量时,能够尽可能少地改变已存在Key和Node的映射关系。 该算法的思路分为以下三个步骤。 首先计算每个节点的哈希值,并将其分配到一个0~232的圆环区间上。其次使用相同方法计算存储对象的哈希值,也将其分配到这个圆环上。随后从数据映射到的位置开始顺时针查找,将数据保存到找到的第一个节点上。如果超过232仍然找不到节点,就会保存到第一个节点上。 假设在这个环形哈希空间中存在4台Node,若增加一台Node5,根据算法得出Node5被映射在Node3和Node4之间,那么受影响的将仅是沿Node5逆时针遍历到Node3之间的对象(它们本来映射到Node4上)。其分布如图3所示。

http://www.programmer.com.cn/12403/


Quorum协议的内容是什么?

NWR(Quorum协议)是一种在分布式存储系统中用于控制一致性级别的策略。在Amazon的Dynamo云存储系统中,使用了NWR来控制一致性。其中,N代表同一份数据的Replica的份数,W是更新一个数据对象时需要确保成功更新的份数;R代表读取一个数据需要读取的Replica的份数。 公式W+R>N,保证某个数据不被两个不同的事务同时读和写;公式W>N/2保证两个事务不能并发写某一个数据。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值