Keystone、Cinder、swift关键技能图解

一 Keystone核心对象之间的关系
注意:两个不同域的角色不是隔离的,而是共享的。其他都是隔离的。

二 Keystone配置文件
1 keystone-dist-paste.ini
应用配置文件。定义keystone启动和运行过程中哪些模块需要加载,请求要经过哪些过滤器进行过滤。
配置文件路径:/usr/share/keystone
2 logging.conf
日志组件配置文件。定义了日志级别、日志格式等参数。
配置文件路径:/etc/keystone
3 policy.json
定义keystone内部模块的访问鉴权配置
修改policy.json的配置参数,不需要重启keystone相关服务
配置文件路径:/etc/keystone

三 Keystone认证流程

四 keystone-idap认证
LDAP:轻量目前访问协议(Lightweight Directory Access Protocol)。按照树状存储信息的模式,适合于进行大量数据的检索。

五 ISCSI(Internet小型计算机系统接口)
1 定义
Internet小型计算机系统接口(ISCSI)。主要透过TCP/IP的技术,将存储设备端透过ISCSI target(ISCSI目标端)功能,做成可以提供磁盘的服务器端,再透过ISCSI initiator(ISCSI初始化用户)功能,做成能够挂载使用的ISISI target用户端。
2 图解

六 认识LVM(逻辑卷管理)
PE(physical Extend):物理拓展
PV(physical volume):物理卷
VG(volume group):卷组
LV(Logical vulume):逻辑卷

七 Cinder架构
1 cinder-api:负责接受和处理Rest请求,并将请求放入RabbitMQ队列。
2 cinder-scheduler:处理任务队列的任务,并根据预定策略选择合适的volume service节点来执行任务。
3 cinder-volume:该服务运行在存储节点上,管理存储空间。每个存储节点都有一个Volume Service,若干个这样的存储节点联合起来可以构成一个存储资源池。
4 volume provier:用来连接不同类型和型号的存储: https://wiki.openstack.org/wiki/CinderSupportMatrix

八 分布式存储
分布式存储特点:数据分散存储在多台独立设备上,每份数据存在多个备份。

九 CAP
1 一致性(Consistency):所有节点上的数据时刻保持同步。
2 可用性(Availability):每个请求都能接受到一个响应,无论响应成功或失败。
3 分区容错性(Partition tolerance):系统应该能持续提供服务,即使系统内部有消息丢失。
任何分布式系统只可同时满足二点,没法三者兼顾
Swift放弃了一致性,采用了最终一致性模型

十 swift数据模型
Account:本身只是一个存储区域,并不代表认证系统里的“账号”,但是通常会让每个Account对应一个用户。
Container:容器代表封装了一组对象,类似文件夹或目录。
Object:对象,由元数据和内容组成,可以简单理解为一个对象就是一个文件。

十一 Swift核心组件
1 代理服务(Proxy Server):代理服务器,负责Swift架构的其余组件间的相互通信。
2 账号服务(Account Server):提供账户元数据和统计信息,并维护所含容器列表的服务,每个账户的信息被存储在一个SQLite数据库中。
3 容器服务(Container Server):提供容器元数据和统计信息,并维护所含对象列表服务,每个容器的信息也是存储在一个SQLite数据库中。
4 对象服务(Object Server):提供对象元数据和内容的服务,每个对象内容以文件的形式存储在文件系统中,元数据会作为文件属性来存储,建议采用支持扩展属性的XFS文件系统。

十二 Swift的环(Ring)
  • 记录存储对象与物理位置见的映射关系
  • Account/Container/Object分别定义了一个Ring
  • 采用一致性哈希算法

十三 Swift-hash算法
1 计算object的hash值key
hash(object1)=1, hash(object2)=2, hash(object3)=3, hash(object4)=4
2 计算key mod N值,N等于节点数量
1 mod 2 = 1
2 mod 2 = 0
3 mod 2 = 1
4 mod 2 = 0
3 object2和object4存放在节点0,object1和object3存放在节点1。

十四 Swift环映射
从object--->node 转变为 object--->virtual node--->node
Partition:维护virtual node与node之间的映射关系
Partition=100*实际的磁盘数

十五 Swift环创建命令解释
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值