Ceph架构设计

半兽人 发表于: 2023-02-22   最后更新时间: 2024-10-11 14:45:27  
{{totalSubscript}} 订阅, 1,027 游览

Ceph的架构图:

Ceph的架构图

简略图:

Ceph简略架构图

从下到上,逻辑上可以分为四个层次:

基础存储系统 RADOS(Reliable Autonomic Distributed Object Store,可靠、自动、分布式对象存储):

RADOS是ceph存储集群的基础,这一层本身就是一个完整的对象存储系统。Ceph的高可靠、高可扩展、高性能、高自动化等等特性本质上也都是由这一层所提供的,在ceph中,所有数据都以对象的形式存储,并且无论什么数据类型,RADOS对象存储都将负责保存这些对象,确保了数据一致性和可靠性。

RADOS系统主要由两部分组成,分别是OSDMonitor

基础库 LIBRADOS:

LIBRADOS基于RADOS之上,它允许应用程序通过访问该库来与RADOS系统进行交互,支持多种编程语言,比如CC++JavaPython等。

上层接口 RADOSGW、RBD 和 CEPHFS

基于LIBRADOS层开发的三个接口,其作用是在librados库的基础上提供抽象层次更高、更便于应用或客户端使用的上层接口。

  • RGW(RADOS Gateway 简称)提供对象存储服务,是一套基于RESTFUL协议的网关,支持对象存储,兼容S3和Swift

  • RBD(RADOS Block Device 的简称),提供分布式的块存储设备接口,主要面向虚拟机提供虚拟磁盘,可以被映射、格式化,像磁盘一样挂载到服务器使用。

  • CephFS(File System)是一个POSIX兼容的分布式文件系统,依赖MDS来跟踪文件层次结构,基于librados封装原生接口,它跟传统的文件系统如 Ext4 是一个类型的,但区别在于分布式存储提供了并行化的能力,像NFS等也是属于文件系统存储。

注意:两个对象的区分,需要说明下,这里提到两个对象的概念:

一个是RGW中的对象存储;一个是Ceph的后端存储的对象,这两个需要区分:

  • 第一个对象面向用户的,是用户接口能访问到的对象;
  • 第二个对象是ceph服务端操作的对象;

比如:

  • 使用RGW接口,存放一个1G的文件,在用户接口看到的就是存放了一个对象;
  • 在下层,Ceph将这个1G的文件,分片成多个对象后最终存储到磁盘上;
更新于 2024-10-11

查看ceph更多相关的文章或提一个关于ceph的问题,也可以与我们一起分享文章