【Ceph浅析笔记】Ceph的逻辑结构

Ceph的结构

【Ceph浅析笔记】Ceph是什么.md里面我们介绍了Ceph的基本思想。下面我们先来介绍一下Ceph的基本结构。

image.png
  • 基础存储系统RADOS

    最底层是数据真正存放的地方,物理上由大量的节点所构成,然后在上面加了一个中间层,可以实现Ceph的可靠性、自动化、可扩展等特性,所有我们将之称为RADOS(Reliable,Autonomic,Distributed Object Store)

  • librados
    然后我们希望能对客户透明,也就是用户不需要关心底层如何实现的,只需要直接在Ceph上进行开发。所以又加了一堆库函数librados

    这些库函数与应用一般来说在同一台节点上,所以也被称为本地API

  • Restful API

    由于Ceph是基于C++开发的,那么librados提供的结构也是C或者C++的。

    而且我们也希望Ceph能于Amazon S3和Swift这些分布式系统所兼容,所以可以再在上面加一个中间层,比如RADOS GW, RDD,Ceph FS。

    比如说RADOS GW,本质就是一个网关,也就是可以提供协议的转换,这样对外就可以兼容S3和Swift的了。

    RBD,全称是Reliable Block Device,也就是一个块设备接口,这样上层的操作系统看到的其实就是裸硬盘。

    有了块存储接口,当然也有文件系统接口,Ceph FS就是一个POSIX兼容的分布式文件系统。

那么librados API和RADOS GW有啥区别呢?

抽象程度不一样,也就是对应的场景不同而已。librados更偏底层,允许开发者对存储的对象的状态进行提取,这样用户可以进行深度定制。

而RADOS GW屏蔽了很多细节,它主要是针对于应用开发者的,所以有用户账户、存储数据的容器、数据对象的概念,适合于常见的WEb对象存储应用开发。

RADOS 的逻辑结构

上一章主要介绍了Ceph的分层架构,那么里面最重要最底层的RADOS是我们接下来介绍的重点。

首先我们来介绍一下RADOS里面的几个角色

  • Clients

    顾名思义,就是客户端,它可以是一个程序,也可能是命令行,反正用户必须通过Clients程序与存储节点打交道。

  • OSD(对象存储设备)

    我们把存储数据的节点叫OSD,实际上OSD是一台安装了操作系统和文件系统的Server,一般来说,一个OSD至少包含了单核CPU、内存、一块硬盘、一张网卡等。但是事实上一台这么小的Server几乎找不到,所以我们可以把若干OSD部署在更大的服务器上。

    每个OSD都有一个deamon,它的作用是介绍Client的访问连接,与monitor以及其他的OSD通信,与其他的OSD工程进行数据存储维护等。也就是说deamon完成了OSD的逻辑功能

  • monitor:

    主要用来进行系统状态检测和维护。OSD会与monitor交互节点状态信息,形成全局的元数据,也即Cluster map。使用这个Cluter map就可以得到数据存放的地点。

image.png

对于传统的分布式存储,一般来说会有一个单独的元数据服务器,存放数据块与节点的映射关系,缺点是性能受限于此元数据服务器。而RADOS系统中,Client与OSD以及monitor交互获得Cluster Map,并存放于本地,然后可以在本地进行计算,获得对象存储位置。很显然避开了元数据服务器,不需要再进行查表操作了。

但是Cluster Map不是一成不变的,当OSD出现故障或者说有新的OSD加入的时候,Cluster Map应该进行更新,但是这种事件的频率远远低于Client对数据的访问频率。

image.png

推荐阅读更多精彩内容

  • 系统环境: centos73.10.0-514.26.2.el7.x86_64 机器数量:五台 硬盘:四块一块为系...
    think_lonely阅读 2,827评论 0 5
  • ceph简介 Ceph是一个分布式存储系统,诞生于2004年,是最早致力于开发下一代高性能分布式文件系统的项目。随...
    爱吃土豆的程序猿阅读 3,818评论 0 20
  • 1. 简介 在传统分布式存储架构中,存储节点往往仅作为被动查询对象来使用,随着存储规模的增加,数据一致性的管理会出...
    chnmagnus阅读 4,236评论 3 3
  • RADOS系统主要由两个部分组成:◎ OSD:由数目可变的大规模OSD(Object Storage Device...
    Cindy_lina阅读 695评论 0 6
  • 一、概述 Ceph是一个分布式存储系统,诞生于2004年,最早致力于开发下一代高性能分布式文件系统的项目。随着云计...
    魏镇坪阅读 38,438评论 3 53