注意

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

Ceph 对象类 SDK

Ceph 可以通过创建名为 Ceph 对象类 的共享对象类来扩展。用于构建这些对象类的现有框架依赖于 Ceph 的内部功能,这限制了用户只能在树内构建对象类。该项目的目标是创建一个独立的对象类接口,可用于在 Ceph 树外部构建对象类。这使我们能够拥有两种类型的对象类:1)具有树内依赖项并位于树内的对象类,以及 2)可以利用 Ceph 对象类 SDK 框架 并且可以在 Ceph 树外部构建的对象类,因为它们不依赖于 Ceph 的任何内部实现。该项目将对象类开发与 Ceph 解耦,并鼓励将对象类创建和分发为包。

为了演示此框架的使用,我们提供了一个名为 cls_sdk 的示例,它是一个非常简单的对象类,利用了 SDK 框架。该对象类位于 src/cls 目录中。

安装 objclass.h

使对象类能够在树外开发的接口位于 src/include/rados/ 中,并随 Ceph 安装一起安装。运行 make install 后,您应该能够在 <prefix>/include/rados 中看到它。

ls /usr/local/include/rados

使用 SDK 示例

cls_sdk 对象类位于 src/cls/sdk/ 中。它通过 Ceph 构建过程构建并加载到 Ceph 中。您可以运行位于 src/test/cls_sdk/ 中的 ceph_test_cls_sdk 单元测试来测试此类。

由 Ceph 基金会为您呈现

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