注意
本文档适用于 Ceph 开发版本。
systemd
作为激活过程的一部分(无论是使用activate或activate),systemd 单元将被启用,它们将使用 OSD id 和 uuid 作为其名称的一部分。这些单元将在系统启动时运行,并通过它们的子命令实现来激活其对应的卷。
激活的 API 略微宽松,它只需要两部分:要使用的子命令和任何用破折号分隔的额外元信息。这种约定使得单元看起来像:
ceph-volume@{command}-{extra metadata}
The 额外元数据可以是子命令实现处理时需要的任何内容。在lvm和简单的情况下,两者都试图消耗OSD id和OSD uuid,但这不是一个硬性要求,它只是子命令的实现方式。
命令和额外元信息由 systemd 作为单元的“实例名称”的一部分进行持久化。例如,对于具有 ID 0 的 OSD 和lvm
子命令,看起来像:
systemctl enable ceph-volume@lvm-0-0A3E1ED2-DA8A-4F0E-AA95-61DEC71768D6
启用的单元是一个systemd oneshot服务,旨在在本地文件系统准备好使用后启动。
失败和重试
在系统上线时出现失败是很常见的。设备有时不完全可用,这种不可预测的行为可能导致 OSD 无法准备好使用。
有两个可配置的环境变量用于设置重试行为:
CEPH_VOLUME_SYSTEMD_TRIES
:默认值为 30CEPH_VOLUME_SYSTEMD_INTERVAL
: Defaults to 5
The “tries” is a number that sets the maximum number of times the unit will attempt to activate an OSD before giving up.
The “interval” is a value in seconds that determines the waiting time before initiating another try at activating the OSD.
由 Ceph 基金会带给您
Ceph 文档是一个社区资源,由非盈利的 Ceph 基金会资助和托管Ceph Foundation. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.