1. Ceph 架构#

 

1.1 Ceph 接口

Ceph 支持三种接口:

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

1.2 Ceph 核心组件及概念介绍

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

Ceph架构


Ceph生态系统可以大致划分为四部分:
1.客户端(数据用户)
2.元数据服务器(缓存和同步分布式元数据)
3.对象存储集群(将数据和元数据作为对象存储,执行其他关键职能)
4.集群监视器(执行监视功能)。


Ceph设计
•在server端,提供一个存储集群Ceph Storage Cluster。–核心组件RADOS (Reliable, AutonomicDistributed Object Store)
•在client端,ceph提供三种存储方式:1.Ceph Filesystem    2.Ceph Block Device  3.Ceph Object Storage

RADOS
ceph存储集群的基础。所有服务都从其中读取和写入数据。
包括两类守护进程:1.对象存储守护进程(OSD)存储为对象   2.监视器(Monitor)维护着集群运行Map的主拷贝。
注:一个集群可包含数千个存储节点,至少需要二个OSD才能数据复制。

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐