Please enable JavaScript.
Coggle requires JavaScript to display documents.
(八、OpenStack (提供了一个部署云的操作的平台或工具集)) - Coggle Diagram
八、OpenStack
(提供了一个部署云的操作的平台或工具集)
2、Nova(提供计算服务)
•
就是一个
管理
的角色(管理平台),管理OpenStack云内的实例的生命周期所需的所有活动(
管理云内的所有计算资源
、网络等扩展需求)。
•
是OpenStack云计算
架构的控制器
•注意:Nova并不具备虚拟化能力,使用Lbvirt接口对外提供服务
:
Lbvirt
(独立的软件管理模块)
Nova通过Libvirt提供的标准接口API来实现底层Hypervisor的管理
(来支持与虚拟机管理程序的交互)
用接口统一实现Hypervisor
主要目标:为各种虚拟化工具提供一套标准的编程接口,用一种单一的方式管理多种不同的虚拟化提供方式
:star:
功能:
(1)虚拟机管理:操作虚拟机的各个生命周期
(2)远程机器支持:运行了Livirt Daemon的机器就是远程使用Libirt的所有功能
(3)存储管理:管理不同类型的存储
(4)网络接口管理:管理物理和逻辑网络接口
(5)虚拟NAT和基于路由的网络:管理和创建虚拟网络
RabbitMQ
(Nova的信息交换中枢)
终端用户用Nova Libirt 的API与openstack活动,Nova用RabbitMQ交换
消息队列和数据库
的信息来执行API
:check:目前Nova的各个模块通过RabbitMQ和RPC远程过程调用来实现通信,且各个模块实现
松耦合关联关系
AMQP协议
:check:补充:交换器根据声明周期划分的类型:持久、临时、自动删除交换器
(随着宿主应用程序的中止二自动消亡,可有效释放服务器资源)
:star:
核心要素/关键组件(3个):
消息;交换器;队列
:!:
工作方式
:交换器获取消息后,提取消息的Routing_key触发路由,根据
绑定
规则将消息转发到相应队列,信息消费者最后从队列中获取信息
含义:
应用层协议的信息交换模式,RabbiyMQ是其的一个开源实现
目标:
实现端到端的信息通信,是面向消息的一种应用程序的通信方法/规则/协议
类似与路由交换协议,为面向下系的中间件而设计
应用机制(三种方式对应
三种类型的交换器
)
:star:
三种类型交换器的区别(简答)
绑定:
交换器和(消息)队列之间的一种关系。相当于是
交换器和队列之间的路由表
,相对应。
这样交换器才能明确吧接受到的信息转发到哪个队列。
:check:每个交换器与队列之间有binding_key(绑定规则关键字)与消息的routing_key相比较,来进行消息的转发
1、fanout广播式交换器:不分析routing_key,转发消息到所有绑定的队列
2、
Direct直接式交换器
:精确匹配routing_key与binding_key,把消息发送到特定的队列
3、
Topic主题式交换器
:模式匹配routing_key与binding_key(类似于正则表达式模糊匹配)。
routing_key与binding_key中有通配符:*一个,#0或多个
3、Swift(提供对象存储服务)
:star:重点考。特点+原理:数据一致性模型。
可扩展的对象存储系统
:存储海量数据,用于
永久类型的静态数据长期存储
允许对文件进行存储或者检索。
针对存储数量很大的对象。
分布式、最终一致的虚拟对象存储,类似简单存储服务S3(Amazon的Web服务)
:star:
特性:
高数据
持久性
;完全对称的系统架构,
对称性
( :star:各个节点可以完全对等,
冗余性
);无限的
可扩展性
;无单点故障;简单可依赖性
应用场景:
网盘的存储引擎
:star:
主要组件
:
(1)
Ring 环
(最重要):记录存储对象和物理位置之间的映射关系
(2)Proxy Server代理服务:提供对象服务 Swift API的服务器进程,根据环的信息来负责Swift其余组件的相互通信
(3)Storage Server:磁盘设备上的存储服务
(4)Consistency Servers:查找并解决由数据损坏和硬件故障引起的错误
基本原理
(Swift针对读写比较频繁的场景)
:star:
数据一致性NWR
:采用最终一致性模型,用Quorum仲裁协议来实现。
:check:强一致性:读操作和写操作的副本集合会产生交集,一定可以读到最新版本
:check:和弱一致性:不产生交集,可能读到脏和老数据
最终采取:(1)写操作至少要满足W>N/2,才会进行读操作
(2)再强一致性:W+R>N读操作和写操作的副本集合至少会产生交集
1、背景
(1)
OpenStack两个主要部分
:
Nova
,起初为NASA的计算处理服务而开发;
Swift
,是Rackspace开发的存储服务组件。
(2)
管理计算、存储和网络三部分资源
:star:主要服务/核心组件(3个):
计算服务(Nova)、存储服务(Swift)、镜像服务(Glance)。
其他服务/部件:
身份认证服务keystone;
网络管理服务Quantum(在接口设备之间提供“网络连接即服务”的服务,而这些接口设备主要是由OpenStack的其他服务(如Nova)进行管理的);
存储管理服务Cinder(Swift主要是对象存储管理);
仪表盘Horizon(不会为OpenStack增加一个功能,更多的是为用户提供一个演示)
4、Glance(提供镜像服务)
提供了一个虚拟磁盘镜像的目录和存储仓库,可以提供对虚拟机镜像的存储和检索。这些磁盘镜像广泛应用于Nova组件之中
:star:
可以被配置到3个存储后端的任何一个:
(1)OpenStack对象存储到存储镜像。(2)S3存储直连。(3)S3存储结合对象存储成为中间级的S3访问。
作用:(与Nova和Swif互动)
Glance为Nova提供镜像的查找操作,而Swift又为Glance提供实际的存储服务,Swift可以看成Glacne存储接口的一个具体实现