注意

本文档适用于 Ceph 的开发版本。

Ceph 文件系统 IO 路径

CephFS 中的所有文件数据都存储为 RADOS 对象。CephFS 客户端可以直接访问 RADOS 来操作文件数据。MDS 只处理元数据操作。

要读取/写入 CephFS 文件,客户端需要拥有对应 inode 的“文件读取/写入”能力(capabilities)。如果客户端没有所需的能力,它会向 MDS 发送一条“能力消息”,告诉 MDS 它想要什么。MDS 在可能的情况下会向客户端颁发能力。一旦客户端拥有“文件读取/写入”能力,它就可以直接访问 RADOS 来读取/写入文件数据。文件数据以 <inode number>.<object index> 的形式存储为 RADOS 对象。有关更多信息,请参阅《架构》中的“数据条带化”部分。如果文件只被一个客户端打开,MDS 还会向该客户端颁发“文件缓存/缓冲区”能力。 “文件缓存”能力意味着文件读取可以通过客户端缓存满足。 “文件缓冲区”能力意味着文件写入可以缓存在客户端缓存中。

由 Ceph 基金会为您呈现

Ceph 文档是由非营利性 Ceph 基金会 资助和托管的社区资源。如果您希望支持这项工作和我们的其他努力,请考虑 立即加入