1. Ceph分布式存储系统简介

一、Ceph简介

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

二、Ceph 与其他存储对比

img

三、Ceph特点

高性能

a. 摒弃了传统的集中式存储元数据寻址的方案,采用 CRUSH 算法,数据分布均衡,并行度高。

b. 考虑了容灾域的隔离,能够实现各类负载的副本放置规则,例如跨机房、机架感知等。

c. 能够支持上千个存储节点的规模,支持 TB 到 PB 级的数据。

高扩展性:可无限扩容

特性丰富:支持三种存储接口:块存储、文件存储、对象存储

支持三种接口Object:有原生的API,而且也兼容Swift和S3的API、Block:支持精简配置、快照、克隆。File:Posix接口,支持快照

四、Ceph架构

在这里插入图片描述

<1> Ceph的最底层是RADOS(分布式对象存储系统),它具有可靠、智能、分布式等特性,实现高可靠、高可拓展、高性能、高自动化等功能,并最终存储用户数据。RADOS系统主要由两部分组成,分别是OSD和Monitor。
<2> RADOS之上是LIBRADOS,LIBRADOS是一个库,它允许应用程序通过访问该库来与RADOS系统进行交互,支持多种编程语言,比如C、C++、Python等。
<3> 基于LIBRADOS层开发的有三种接口,分别是RADOSGW、librbd和MDS。
<4> RADOSGW是一套基于当前流行的RESTFUL协议的网关,支持对象存储,兼容S3和Swift。
<5> librbd提供分布式的块存储设备接口,支持块存储。
<6> MDS提供兼容POSIX的文件系统,支持文件存储。

五、Ceph核心组件

Montior:一个Ceph集群需要多个Monitor组成小集群, 它们通过 Paxos 同步数据,用来保存 OSD 的元数据。

OSD:负责响应客户端请求返回具体数据进程,一个Ceph集群一般都有多个OSD。

Pool、PG和OSD的关系:

  • 一个Pool里有很多PG;
  • 一个PG里包含一堆对象,一个对象只能属于一个PG;
  • PG有主从之分,一个PG分布在不同的OSD上(针对三副本类型)

MDS:是CephFS服务的依赖的元数据服务。

RBD:Ceph对外提供的块设备服务,接口iSCSI兼容。

RGW:Ceph对外提供对象存储服务,接口S3和Swift兼容。

CephFS:Ceph对外提供的文件系统服务。

RADOS:Ceph集群的精华,用户实现数据分配,Failover等集群操作。

Libradio: Librados 是 Rados 提供库,因为 RADOS 是协议很难直接访问,因此上层的 RBD、RGW 和 CephFS 都是通过 librados 访问的,目前提供 PHP、Ruby、Java、Python、C 和 C++支持。

CRUSH:Ceph使用的数据分布算法,类似一致性哈希,让数据分配到预期的地方。

Pool: Pool是存储对象的逻辑分区。

PG:逻辑感念,一个PG包含多个OSD。引入PG这一层其实是为了更好的分配数据和定位数据。

Object:Ceph最底层存储单元是Object对象,每个Object包含元数据和原始数据。

六、Ceph 架构展示

Ceph的功能模块
在这里插入图片描述

ceph资源划分
在这里插入图片描述

七、Ceph三种存储类型

1、 块存储(RBD)

  • 优点:
    • 通过Raid与LVM等手段,对数据提供了保护;
    • 多块廉价的硬盘组合起来,提高容量;
    • 多块磁盘组合出来的逻辑盘,提升读写效率;
  • 缺点:
    • 采用SAN架构组网时,光纤交换机,造价成本高;
    • 主机之间无法共享数据;
  • 使用场景
    • docker容器、虚拟机磁盘存储分配;
    • 日志存储;
    • 文件存储;

2、文件存储(CephFS)

  • 优点:
    • 造价低,随便一台机器就可以了;
    • 方便文件共享;
  • 缺点:
    • 读写速率低;
    • 传输速率慢;
  • 使用场景
    • 日志存储;
    • FTP、NFS;
    • 其它有目录结构的文件存储

3、对象存储(Object)(适合更新变动较少的数据)

  • 优点:
    • 具备块存储的读写高速;
    • 具备文件存储的共享等特性;
  • 使用场景
    • 图片存储;
    • 视频存储;

猜你喜欢

转载自blog.csdn.net/weixin_43357497/article/details/111827958