注意

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

activate

一旦 scan 完成,并且 OSD 的所有捕获到的元数据已持久化到 /etc/ceph/osd/{id}-{uuid}.json,OSD 现在就可以“激活”了。

此激活过程通过屏蔽所有 ceph-disk systemd 单元来禁用它们,以防止 UDEV/ceph-disk 交互在启动时尝试启动它们。

只有当直接调用 ceph-volume simple activate 时才会禁用 ceph-disk 单元,但在系统启动时被 systemd 调用时则会避免禁用。

激活过程需要同时使用 OSD idOSD uuid 来激活已解析的 OSD

ceph-volume simple activate 0 6cc43680-4f6e-4feb-92ff-9c7ba204120e

上述命令将假定 JSON 配置将在以下位置找到

/etc/ceph/osd/0-6cc43680-4f6e-4feb-92ff-9c7ba204120e.json

或者,也可以直接使用 JSON 文件的路径

ceph-volume simple activate --file /etc/ceph/osd/0-6cc43680-4f6e-4feb-92ff-9c7ba204120e.json

要求 uuid

需要 OSD uuid 作为额外步骤,以确保正在激活正确的 OSD。完全有可能存在一个具有相同 id 的先前 OSD,最终激活了不正确的 OSD。

发现

对于之前由 ceph-volume 扫描的 OSD,将使用 blkidlvm 执行发现过程。目前仅支持具有 GPT 分区和 LVM 逻辑卷的设备。

GPT 分区将具有一个 PARTUUID,可以通过调用 blkid 进行查询;逻辑卷将具有一个 lv_uuid,可以针对 lvs(列出逻辑卷的 LVM 工具)进行查询。

此发现过程确保即使设备被重新用于另一个系统,或者如果它们的名称发生变化(例如 /dev/sda1 这种非持久性名称的情况),也可以正确检测到设备。

用于映射哪些设备对应哪个 OSD 的 JSON 配置文件将协调挂载和符号链接作为激活的一部分。

为确保符号链接始终正确,如果它们存在于 OSD 目录中,符号链接将被重新创建。

systemd 单元将捕获 OSD idOSD uuid 并持久化它。在内部,激活将像下面这样启用它

systemctl enable ceph-volume@simple-$id-$uuid

例如

systemctl enable ceph-volume@simple-0-8715BEB4-15C5-49DE-BA6F-401086EC7B41

将启动 OSD id 为 0 且 UUID 为 8715BEB4-15C5-49DE-BA6F-401086EC7B41 的发现过程。

systemd 过程将调用 activate,传入识别 OSD 及其设备所需的信息,然后将继续执行以下操作

# 将设备挂载到相应位置(按照惯例,这是

/var/lib/ceph/osd/<cluster name>-<osd id>/)

# 确保该 OSD 的所有必需设备都已准备就绪并正确链接。符号链接将始终被重新创建,以确保链接到正确的设备。

# 启动 ceph-osd@0 systemd 单元

由 Ceph 基金会为您呈现

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