云数据中心软件定义存储与分布式存储

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
client,io写入完成
3.6
Ceph IO算法流程
3.7
Ceph IO算法流程--File
用户需要读写的文件 File->Object映射
ino (File的元数据,File的唯 一id)
ono(File 切 分 产 生 的 某 个 object 的 序 号 , 默 认 以 4M 切 分一个块大小)
传统存储挑战
1.2
软件定义存储
Ceph是一个可靠地、自动重均衡、自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块 对象存储 设备存储 文件系统服务
Ceph相比其它存储的优势点在于它不单单是存储,同时还充分利用了存储节点上的计算能力,在存储 每一个数据时,都会通过计算得出该数据存储的位置,尽量将数据分布均衡,同时由于Ceph的良好设 计,采用了CRUSH算法、HASH环等方法,使得它不存在传统的单点故障的问题,且随着规模的扩大性 能并不会受到影响。
云数据中心软件定义存储与分布式存储
课程目录
1
年度工作概述
ANNUAL WORK SUMMARY
2
工作完成情况
COMPLETION OF WORK
3
成功项目展示
SUCCESSFUL PROJECT
源自文库
4
明年工作计划
NEXT YEAR WORK PLAN
01
PART 01
第一部分
软件定义存储
1.1
价格昂贵 扩展性 基于硬件 不便于开发
3.3
高层应用接口
高层应用接口包括了三个部分: RADOS GW(RADOS Gateway) RBD(Reliable Block Device) Ceph FS(Ceph File System)
作用是在librados库的基础上提供抽象层次更高、更便于应用或客户端使用的上层接口。其中, RADOS GW是一个提供与Amazon S3和Swift兼容的RESTful API的gateway,以供相应的对 象存储应用开发使用。RADOS GW提供的API抽象层次更高,但功能则不如librados强大。 因此,开发者应针对自己的需求选择使用。RBD则提供了一个标准的块设备接口,常用于在 虚拟化的场景下为虚拟机创建volume。目前,Red Hat已经将RBD驱动集成在KVM/QEMU 中,以提高虚拟机访问性能。Ceph FS是一个POSIX兼容的分布式文件系统。由于还处在开发 状态,因而Ceph官网并不推荐将其用于生产环境中。
3.4
Ceph I/O及数据分布
3.5
正常IO流程图
client 创建cluster handler client 读取配置文件 client 连接上monitor,获取集群map信息 client 读写io 根据crshmap 算法请求对应的主
osd数据节点 主osd数据节点同时写入另外两个副本节点数据 等待主节点以及另外两个副本节点写完数据状态 主节点及副本节点写入状态都成功后,返回给
3.2
基础库Librados
librados功能是对RADOS进行抽象和封装,并向上层提供API,以便直接基于RADOS(而不是整个 Ceph)进行应用开 RADOS是一个对象存储系统,librados实现的API也只是针对对象存储功能 RADOS采用C++开发,所提供的原生librados API包括C和C++两种。物理上,librados和基于 其上开发的应用位于同一台机器,因而也被称为本地API。应用调用本机上的librados API,再由 后者通过socket与RADOS集群中的节点通信并完成各种操作
02
PART 02
第二部分
Ceph介绍
2.1
Ceph发展历程
2.2
Ceph基础架构
03
PART 03
第三部分
Ceph存储机制
3.1
Rados
基础存储系统RADOS(Reliable, Autonomic,Distributed Object Store,即可靠的、自动化的、分布 式的对象存储) 是一个完整的对象存储系统,所有存储在Ceph系统中的用户数据事实上最终都是由这一层来存储 Ceph的高可靠、高可扩展、高性能、高自动化等等特性本质上也是由这一层所提供的 理解RADOS是理解Ceph的基础与关键。物理上,RADOS由大量的存储设备节点组层,每个节点 拥有自己的硬件资源(CPU、内存、硬盘、网络),并运行着操作系统和文件系统
3.9
Ceph IO算法流程--PG
PG(Placement Group),用途是对object的存储进 行组织和位置映射,一个PG里面会有很多object。 采用CRUSH算法,将pgid代入其中,然后得到一 组OSD – PG->OSD映射 – CRUSH(pgid)->(osd1,osd2,osd3)
3.10
Ceph RBD IO流程
3.11
Ceph Pool和PG分布
3.12
Ceph 数据扩容PG分布
现状
扩容后
谢谢大家!
oid(object id: ino + ono)
3.8
Ceph IO算法流程--Object
Object是RADOS需要的对象。Ceph指定一个 静态hash函数计算oid的值,将oid映射成一个 近似均匀分布的伪随机值,然后和mask按位 相与,得到pgid Object->PG映射: hash(oid) % PG num-> pgid
相关文档
最新文档