# 02 Ceph

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

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

## Ceph 体系结构

![体系结构](/files/IC2E0qXaORBo3yRfyoIp)

* 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 核心组件

![核心组件](/files/3dh51Ogmk6eF3OHzFNzA)

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

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://chanshiyu.gitbook.io/blog/zhi-han/02-ceph.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
