注意

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

RBD 导出与导入

这是 RBD 镜像或快照的文件格式。它是完整镜像的稀疏格式。文件中包含三个记录部分。

  1. 头文件。

  2. 元数据。

  3. 差异。

元数据记录

每条记录都有一个字节的“标签”来标识记录类型,后面跟着数据长度,然后再跟着一些其他数据。

元数据记录位于镜像的第一部分。顺序并不重要,只要所有元数据记录都在数据记录之前即可。

在 v2 中,每个部分都有以下元数据:(1 字节)标签。(8 字节)长度。(n 字节)数据。

通过这种方式,我们可以跳过无法识别的标签。

镜像顺序

  • u8: ‘O’

  • le64: 追加数据长度 (8)

  • le64: 镜像顺序

镜像格式

  • u8: ‘F’

  • le64: 追加数据长度 (8)

  • le64: 镜像格式

镜像特性

  • u8: ‘T’

  • le64: 追加数据长度 (8)

  • le64: 镜像特性

镜像条带单元

  • u8: ‘U’

  • le64: 追加数据长度 (8)

  • le64: 镜像条带单元

镜像条带计数

  • u8: ‘C’

  • le64: 追加数据长度 (8)

  • le64: 镜像条带计数

ImageMeta 键和值

  • u8: ‘M’

  • le64: 追加数据长度(键长度 + 值长度 + 4 * 2)

  • string: image-meta key

  • string: image-meta value

最终记录

结束

  • u8: ‘E’

差异记录

记录此部分中的所有快照和 HEAD。

快照保护状态

如果 --export-format=2,则记录快照的保护状态。 - u8: ‘p’ - le64: 追加数据长度 (8) - u8: 快照保护状态(0 为 false,1 为 true)

其他

  • le64: 差异数量

  • 差异 ...

详细信息请参考 rbd-diff.rst

由 Ceph 基金会为您呈现

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