注意

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

主机维护

所有支持 Ceph 守护程序的主机都需要支持维护活动,无论是物理主机还是虚拟主机。这意味着管理工作流应该提供一种简单且一致的方式来支持这一运营需求。本文档定义了可以在 cephadm 和 mgr/cephadm 中实施的维护策略。

高级设计

将主机置于维护状态,采用以下工作流程;

  1. 确认移除主机不会影响数据可用性(以下步骤将假设可以安全进行)

    • orch host ok-to-stop <host>这里将使用

  2. 如果主机有 osd 守护程序,对主机子树应用 noout 以防止在计划的维护时间段内触发数据迁移。

  3. 停止 ceph 目标(所有守护程序停止)

  4. 在该主机上禁用 ceph 目标,以防止重启自动重新启动 ceph 服务)

退出维护,基本上是上述序列的逆操作

管理员交互

ceph orch 命令将扩展以支持维护。

ceph orch host maintenance enter <host> [ --force ]
ceph orch host maintenance exit <host>

Note

此外,主机的状态应更新以反映它是否处于维护状态。

“检查”选项

orch host ok-to-stop 命令专注于 ceph 守护程序(mon、osd、mds),这提供了第一个检查。然而,ceph 集群还使用其他类型的守护程序进行监控、管理和非原生协议支持,这意味着逻辑需要考虑服务影响。 “检查”选项提供了这一附加层来提醒用户服务影响次要 daemons.

以下列表显示了一些这些附加守护程序。

  • mgr(不包括在 ok-to-stop 检查中)

  • prometheus、grafana、alertmanager

  • rgw

  • haproxy

  • iscsi 网关

  • ganesha 网关

通过首先使用 --check 选项,管理员可以选择是否继续。这种工作流程显然是可选的 CLI 用户,但可以集成到 UI 工作流程中,以帮助经验较少的管理员管理集群。

通过采用这种两阶段方法,基于 UI 的工作流程将大致如下。

  1. 用户选择要置于维护状态的主机

    • 协调器检查数据服务影响

  2. 如果显示潜在影响,下一步取决于影响类型

    • 数据可用性: 维护被拒绝,告知用户问题

    • 服务可用性: 用户会收到受影响服务的列表并被要求确认

受影响的组件

实现此功能需要对以下进行更改;

  • cephadm

    • 添加维护子命令,具有以下“动词”:进入、退出、检查

  • mgr/cephadm

    • 为 CephadmOrchestrator 添加进入/退出和检查方法

    • 处于维护状态的主机的数据收集将被跳过

  • mgr/orchestrator

    • 向 OrchestratorCli 添加 CLI 命令,以公开进入/退出和检查交互

未来工作的想法

  1. 当主机被置于维护状态时,事件的时间可以被持久化。这将允许协调器层为任务建立维护窗口,并在维护窗口已超过时发出警报。

  2. 维护过程可以支持插件,以允许在维护过渡期间启动其他集成任务。此插件功能可以支持以下操作;

    • 向第三方监控框架发出警报抑制

    • 服务级别报告,以记录停机窗口

由 Ceph 基金会带给您

Ceph 文档是一个社区资源,由非盈利的 Ceph 基金会资助和托管Ceph Foundation. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.