【Ceph】Ceph学习

本文详细介绍了Ceph分布式存储系统,包括其块设备、文件系统和对象存储三种接口,以及Ceph的架构、IO流程、数据分布、心跳机制和通信框架。重点探讨了CRUSH算法在数据分布中的作用,以及如何定制化Ceph RBD的QoS策略。此外,还阐述了Ceph的高可用性和可扩展性特点,以及在实际应用中的使用场景。
摘要由CSDN通过智能技术生成

目录

理解Ceph的三种存储接口:块设备、文件系统、对象存储

干货|非常详细的 Ceph 介绍、原理、架构

1. Ceph架构简介及使用场景介绍

1.1 Ceph简介

1.2 Ceph特点

1.3 Ceph架构

1.4 Ceph核心组件及概念介绍

1.5 三种存储类型-块存储

1.6 三种存储类型-文件存储

1.7 三种存储类型-对象存储

2. Ceph IO流程及数据分布

2.1 正常IO流程图

2.2 新主IO流程图

2.3 Ceph IO算法流程

2.4 Ceph IO伪代码流程

2.5 Ceph RBD IO流程

2.6 Ceph RBD IO框架图

2.7 Ceph Pool和PG分布情况

2.8 Ceph 数据扩容PG分布

3. Ceph心跳机制

3.1 心跳介绍

3.2 Ceph 心跳检测

3.3 Ceph OSD之间相互心跳检测

3.4 Ceph OSD与Mon心跳检测

3.5 Ceph心跳检测总结

4. Ceph通信框架

4.1 Ceph通信框架种类介绍

4.2 Ceph通信框架设计模式

4.3 Ceph通信框架流程图

4.4 Ceph通信框架类图

4.5 Ceph通信数据格式

5. Ceph CRUSH算法

5.1 数据分布算法挑战

5.2 Ceph CRUSH算法说明

5.3 Ceph CRUSH算法原理

5.4 CRUSH算法案例

6. 定制化Ceph RBD QOS

6.1 QOS介绍

6.2 Ceph IO操作类型

6.3 Ceph 官方QOS原理

6.4 定制化QOS原理

Ceph技术栈/学习图谱

CEPH架构图

分层架构

组织架构

 逻辑结构


理解Ceph的三种存储接口:块设备、文件系统、对象存储

https://blog.csdn.net/bandaoyu/article/details/111597408

干货|非常详细的 Ceph 介绍、原理、架构

1. Ceph架构简介及使用场景介绍

1.1 Ceph简介

Ceph是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。

Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区。在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack都可与Ceph整合以支持虚拟机镜像的后端存储。

1.2 Ceph特点

  • 高性能
    a. 摒弃了传统的集中式存储元数据寻址的方案,采用CRUSH算法,数据分布均衡,并行度高。
    b.考虑了容灾域的隔离,能够实现各类负载的副本放置规则,例如跨机房、机架感知等。
    c. 能够支持上千个存储节点的规模,支持TB到PB级的数据。
  • 高可用性
    a. 副本数可以灵活控制。
    b. 支持故障域分隔,数据强一致性。
    c. 多种故障场景自动进行修复自愈。
    d. 没有单点故障,自动管理。
  • 高可扩展性
    a. 去中心化。
    b. 扩展灵活。
    c. 随着节点增加而线性增长。
  • 特性丰富
    a. 支持三种存储接口:块存储、文件存储、对象存储。
    b. 支持自定义接口,支持多种语言驱动。

1.3 Ceph架构

支持三种接口:

  • Object:有原生的API,而且也兼容Swift和S3的API。(对象)
  • Block:支持精简配置、快照、克隆。(块)
  • File:Posix接口,支持快照。(文件)

1.4 Ceph核心组件及概念介绍

  • Monitor
    一个Ceph集群需要多个Monitor组成的小集群,它们通过Paxos同步数据,用来保存OSD的元数据。
  • OSD
    OSD全称Object Storage Device,也就是负责响应客户端请求返回具体数据的进程。一个Ceph集群一般都有很多个OSD。
  • MDS
    MDS全称Ceph Metadata Server,是CephFS服务依赖的元数据服务。
  • Object
    Ceph最底层的存储单元是Object对象,每个Object包含元数据和原始数据。
  • PG
    PG全称Placement Grouops,是一个逻辑的概念,一个PG包含多个OSD。引入PG这一层其实是为了更好的分配数据和定位数据。
  • RADOS
    RADOS全称Reliable Autonomic Distributed Object Store,是Ceph集群的精华,用户实现数据分配、Failover等集群操作。
  • Libradio
    Librados是Rados提供库,因为RADOS是协议很难直接访问,因此上层的RBD、RGW和CephFS都是通过librados访问的,目前提供PHP、Ruby、Java、Python、C和C++支持。
  • CRUSH
    CRUSH是Ceph使用的数据分布算法,类似一致性哈希,让数据分配到预期的地方。
  • RBD
    RBD全称RADOS block device,是Ceph对外提供的块设备服务。
  • RGW
    RGW全称RADOS gateway,是Ceph对外提供的对象存储服务,接口与S3和Swift兼容。
  • CephFS
    CephFS全称Ceph File System,是Ceph对外提供的文件系统服务。

Cephåºç¡ç¥è¯ååºç¡æ¶æè®¤è¯- luohaixian - å客å­

p_w_picpath

https://www.pdl.cmu.edu/PDL-FTP/Storage/ceph-exp-sosp19.pdf

 https://www.pdl.cmu.edu/PDL-FTP/Storage/ceph-exp-sosp19.pdf

1.5 三种存储类型-块存储

典型设备:磁盘阵列,硬盘

主要是将裸磁盘空间映射给主机使用的。

优点

  • 通过Raid与LVM等手段,对数据提供了保护。
  • 多块廉价的硬盘组合起来,提高容量。
  • 多块磁盘组合出来的逻辑盘,提升读写效率。

缺点

  • 采用SAN架构组网时,光纤交换机,造价成本高。
  • 主机之间无法共享数据。

使用场景

  • docker容器、虚拟机磁盘存储分配。
  • 日志存储。
  • 文件存储。

1.6 三种存储类型-文件存储

典型设备:FTP、NFS服务器

为了克服块存储文件无法共享的问题,所以有了文件存储。

在服务器上架设FTP与NFS服务,就是文件存储。

优点

  • 造价低,随便一台机器就可以了。
  • 方便文件共享。

缺点

  • 读写速率低。
  • 传输速率慢。

使用场景

  • 日志存储。
  • 有目录结构的文件存储。

1.7 三种存储类型-对象存储

典型设备:内置大容量硬盘的分布式服务器(swift, s3)

多台服务器内置大容量硬盘,安装上对象存储管理软件,对外提供读写访问功能。

优点

  • 具备块存储的读写高速。
  • 具备文件存储的共享等特性。

使用场景:(适合更新变动较少的数据)

  • 图片存储。
  • 视频存储。

2. Ceph IO流程及数据分布

2.1 正常IO流程图

步骤

1. client 创建cluster handler。

2. client 读取配置文件。

3. client 连接上monitor,获取集群map信息。

4. client 读写io 根据crshmap 算法请求对应的主osd数据节点。

5. 主osd数据节点同时写入另外两个副本节点数据。

6. 等待主节点以及另外两个副本节点写完数据状态。

7. 主节点及副本节点写入状态都成功后,返回给client,io写入完成。

2.2 新主IO流程图

说明

如果新加入的OSD1取代了原有的 OSD4成为 Primary OSD, 由于 OSD1 上未创建 PG , 不存在数据,那么 PG 上的 I/O 无法进行,怎样工作的呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值