Ceph层次架构分析

Ceph的层次结构可以从逻辑上自下向上分为以下几个层次:

一、基础存储系统RADOS层

  • 功能:RADOS(Reliable Autonomic Distributed Object Store)是Ceph的底层存储系统,提供了分布式存储的核心功能。它是一个完整的对象存储系统,所有存储在Ceph系统中的用户数据最终都是由RADOS层来存储的。Ceph的高可靠、高可扩展、高性能、高自动化等特性也是由RADOS层所提供的。
  • 组件:RADOS层主要由OSD(Object Storage Daemon)和Monitor组成。OSD负责数据的读写操作,而Monitor则负责维护存储集群的当前状态信息,如OSD的故障情况等。
  • 逻辑结构:RADOS集群的逻辑结构包括OSD节点和Monitor节点。OSD节点负责数据的存储和维护,而Monitor节点则负责系统状态的监测和维护。它们之间通过传输节点状态信息来共同得出系统的总体工作状态,并形成一个全局系统状态记录数据结构,即所谓的cluster map。

二、基础库librados层

  • 功能:librados是对RADOS进行抽象和封装的库,它向上层提供API,以便直接基于RADOS(而不是整个Ceph)进行应用开发。由于RADOS是一个对象存储系统,因此librados实现的API也只是针对对象存储功能的。
  • 特性:librados提供的API支持多种编程语言,如C、C++等。应用可以通过调用本机上的librados API,再通过socket与RADOS集群中的节点通信并完成各种操作。

三、高层接口层

  • 功能:高层接口层在librados库的基础上提供了抽象层次更高、更便于应用或客户端使用的上层接口。它包括了RADOS GW、RBD(Reliable Block Device)和Ceph FS(Ceph File System)三个部分。

  • 组件

    • RADOS GW:提供与Amazon S3和Swift兼容的RESTful API,以供相应的对象存储应用开发使用。RADOS GW提供的API抽象层次更高,但功能则不如librados强大。
    • RBD:提供了一个标准的块设备接口,常用于在虚拟化的场景下为虚拟机创建volume。Red Hat已经将RBD驱动集成在KVM/QEMU中,以提高虚拟机访问性能。
    • Ceph FS:是一个POSIX兼容的分布式文件系统。由于还处在开发状态,因此Ceph官网并不推荐将其用于生产环境中。

四、应用层

  • 功能:应用层是不同场景下对于Ceph各个应用接口的各种应用方式。例如,基于librados直接开发的对象存储应用、基于RADOS GW开发的对象存储应用、基于RBD实现的云硬盘等。
  • 特性:应用层的选择取决于用户的需求和应用场景。基于librados的开发可能更适合于在私有Ceph系统上开发专用应用,或者为基于Ceph的公有存储系统开发后台数据管理、处理应用。而RADOS GW则更适合于常见的基于web的对象存储应用开发,例如公有云上的对象存储服务。

综上所述,Ceph的层次结构从逻辑上分为基础存储系统RADOS层、基础库librados层、高层接口层和应用层。每个层次都有其特定的功能和组件,共同构成了Ceph分布式存储系统的强大架构

相关推荐
1990_super8 小时前
虚拟机环境部署Ceph集群的详细指南
ceph
1990_super16 小时前
Ceph对象池详解
ceph
1990_super2 天前
使用ceph-deploy安装和配置RADOS Gateway (RGW)并使用S3访问集群
ceph·gateway
野生技术架构师8 天前
分布式存储 Ceph 的演进经验 · SOSP 2019
分布式·ceph
mixboot10 天前
ceph 14.2.22 nautilus Balancer 数据平衡
ceph·balancer·数据平衡
斯普信专业组13 天前
k8s云原生rook-ceph pvc快照与恢复(下)
ceph·云原生·kubernetes
斯普信专业组13 天前
k8s云原生rook-ceph pvc快照与恢复(上)
ceph·云原生·kubernetes
斯普信专业组13 天前
Ceph、K8s、CSI、PVC、PV 深入详解
ceph·容器·kubernetes
mixboot1 个月前
Ceph OSD.419 故障分析
ceph·osd
赵成ccc1 个月前
离线部署三节点 Ceph 分布式存储
分布式·ceph