02 Ceph

Ceph 的官方定义为:一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式的存储系统。

统一表示 Ceph 可以同时提供对象存储、块存储和文件系统存储三种功能;分布式表示系统无中心结构,系统规模可以扩展。

Ceph 体系结构

  • RADOS:对象存储系统,可靠的、自组织的、可自动修复、自我管理的分布式对象存储系统

  • LIBRADOS:访问 RADOS 对象存储系统的库,可支持 C、C++、Java、Python 等多种语言

  • RADOSGW:对象存储网关,RGW 为应用程序提供了一个 RESTful S3/Swift 兼容的接口,用于在 Ceph 集群中以对象的形式存储数据。

  • RBD:块存储设备,RBD 通过 Linux 内核客户端和 QEMU/KVM 驱动来提供一个分布式的块设备。它可以为虚拟机提供虚拟磁盘,或者通过内核映射为物理主机提供磁盘空间。

  • CephFS:一个支持 POSFIX 接口的文件系统。

RADOS 对象存储系统是 Ceph 的基石。RADOS 完成了一个存储系统的核心功能,包括:OSD 用于实现数据的存储和维护;Monitor 模块为整个存储集群提供全局的配置和系统信息;通过 CRUSH 算法实现对象的寻址过程;完成对象的读写以及其他数据功能;提供了数据均衡功能;通过 Peering 过程完成一个 PG 内存达成数据一致性的过程;提供数据自动恢复的功能;提供克隆和快照功能;实现了对象分层存储的功能;实现了数据一致性检查工具 Scrub。

Ceph 核心组件

Ceph 的核心组件包括 Monitors、 Managers、OSD 和 MDS。

  • Monitors:监视器维护集群状态的映射,包括监视器映射、管理器映射、OSD 映射、MDS 映射和 CRUSH 映射。这些映射是 Ceph 守护进程相互协调所需的关键集群状态。监视器还负责管理守护进程和客户端之间的身份验证。

  • Managers:管理器守护进程负责跟踪运行时指标和 Ceph 集群的当前状态,包括存储利用率、当前性能指标和系统负载。

  • OSD:负责存储数据,处理数据复制、恢复、重新平衡,并通过检查其他 OSD 守护进程的心跳来向 Ceph 监视器和管理器提供一些监控信息。

  • MDS:元数据服务器,主要保存的文件系统服务的元数据,对象存储和块存储设备不需要使用该服务。

最后更新于