02 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 的核心组件包括 Monitors、 Managers、OSD 和 MDS。
Monitors:监视器维护集群状态的映射,包括监视器映射、管理器映射、OSD 映射、MDS 映射和 CRUSH 映射。这些映射是 Ceph 守护进程相互协调所需的关键集群状态。监视器还负责管理守护进程和客户端之间的身份验证。
Managers:管理器守护进程负责跟踪运行时指标和 Ceph 集群的当前状态,包括存储利用率、当前性能指标和系统负载。
OSD:负责存储数据,处理数据复制、恢复、重新平衡,并通过检查其他 OSD 守护进程的心跳来向 Ceph 监视器和管理器提供一些监控信息。
MDS:元数据服务器,主要保存的文件系统服务的元数据,对象存储和块存储设备不需要使用该服务。