4.9. Ceph 文件系统快照注意事项


作为存储管理员,您可以了解管理 Ceph 文件系统(CephFS)快照的数据结构、系统组件和注意事项。

快照在创建时会创建文件系统的不可变视图。您可以在任何目录中创建快照,并且覆盖该目录下文件系统中的所有数据。

4.9.1. 为 Ceph 文件系统存储快照元数据

快照目录条目的存储及其内节点位于快照时位于的目录的一部分。所有目录条目都包括其有效的第一个和最后一个 snapid

4.9.2. Ceph 文件系统快照写入

Ceph 快照依赖于客户端,以帮助确定哪些操作应用到快照,并将快照数据和元数据返回至 OSD 和 MDS 集群。处理快照回写的过程是涉及的过程,因为快照适用于文件层次结构的子树,并且可以随时创建快照。

属于同一组快照的文件层次结构部分由单个 SnapRealm 指代。每个快照都适用于嵌套在目录下的子目录,并将文件层次结构分成多个"realms",其中 realm 包含的所有文件共享同一组快照。

Ceph 元数据服务器(MDS)通过为每个内节点提供功能(cap)来控制对内节点元数据和文件数据的客户端访问。在快照创建过程中,客户端在内节点上获取脏元数据,它们有能力描述该文件在该时间的状态。当客户端收到 ClientSnap 消息时,它会更新本地 SnapRealm 及其到特定内节点的链接,并为内节点生成 CapSnap。功能回写出 CapSnap ,如果脏数据存在,则 CapSnap 用于在快照清除 OSD 前阻止新数据写入。

MDS 生成快照存在的目录条目,作为清除它们的日常进程的一部分。MDS 将目录条目保留在内存中固定有未完成的 CapSnap 数据,直到写回进程清除它们。

其它资源

4.9.4. 为 Ceph 文件系统更新快照

更新快照的过程与删除快照的过程类似。

如果您从其父 SnapRealm 中删除内节点,如果 SnapRealm 不存在,Ceph 会为重命名的内节点生成一个新的 SnapRealm。Ceph 将原始父 SnapRealm 上有效的快照 ID 保存到新 SnapRealmpast_parent_snaps 数据结构,然后遵循与创建快照类似的进程。

其它资源

4.9.5. Ceph 文件系统快照和多个文件系统

快照已知无法与多个文件系统正常工作。

如果您有多个文件系统与命名空间共享一个 Ceph 池,则快照将冲突,并删除一个快照会导致共享同一 Ceph 池的其他快照缺少文件数据。

4.9.6. Ceph 文件系统快照数据结构

Ceph 文件系统(CephFS)使用以下快照数据结构来有效地存储数据:

SnapRealm
每当您在文件层次结构中的新点创建快照时,都会创建一个 SnapRealm,或者在将快照的索引节点移出其父快照快照时创建。单个 SnapRealm 代表文件层次结构的部分,它们属于同一组快照。SnapRealm 包括了一个作为快照一部分的 sr_t_srnodeinodes_with_caps
sr_t
sr_t 是磁盘快照元数据。它包含序列计数器、时间戳以及关联的快照 ID 列表和 past_parent_snaps
SnapServer
SnapServer 管理快照 ID 分配、快照删除,以及维护文件系统中累积快照的列表。文件系统只有一个 SnapServer 实例。
SnapContext

SnapContext 由快照序列 ID(snapid)和当前为对象定义的所有快照 ID 组成。发生写入操作时,Ceph 客户端会提供 SnapContext,以指定对象存在的快照集合。为生成 SnapContext 列表,Ceph 会将与 SnapRealm 关联的 snapids 和 past_parent_snaps 数据结构中的所有有效的 snapids 合并。

文件数据通过 RADOS 自我管理的快照存储。在自我管理的快照中,客户端必须为每个写入提供当前的 SnapContext。在向 Ceph OSD 写入文件数据时,客户端要小心地使用正确的 SnapContext

SnapClient 缓存有效快照过滤掉过时的 snapids。

SnapClient
SnapClient 用于与 SnapServer 和缓存累积快照在本地通信。每个元数据服务器(MDS)等级都有一个 SnapClient 实例。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.