ceph架构简介

ceph架构简介

在测试OpenStack的后端存储时,看到了ceph作为后端存储时的各种优势 ,于是查询资料,总结了这篇ceph架构的博客,介绍了ceph的架构和ceph的核心组件。ceph整体十分庞大,本文只是介绍了整体架构和概念,想要详细查看ceph请看博文:Ceph介绍及原理架构分享

1.1 Ceph简介

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

1.2 Ceph架构

支持三种接口:

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

1.2.1 架构介绍

1、ceph架构最底层是RADOS对象存储系统(Ceph最底层的存储单元是Object对象),外部想要访问该系统需要librados库。

2、ceph对外提供四种存储:应用直接访问RADOS、对象存储接口、块存储接口、文件系统接口;分别对应:代码直接访问、radosgw(rgw)、librbd(rbd)、元数据服务器(MDS)

1.3 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 Groups,是一个逻辑的概念,一个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对外提供的文件系统服务。

posted @ 2019-12-05 16:31  胖墩哥  阅读(1146)  评论(0编辑  收藏  举报