搜索

11.4. 从 Ceph Storage 节点移除 OSD

download PDF

此流程演示了如何从节点中删除 OSD。它假定以下与环境有关:

  • 服务器(ceph-storage0)有一个在 /dev/sde 上运行的 OSD (ceph-osd@4)。
  • Ceph 监控服务(ceph-mon)在 controller0 上运行。
  • 有足够的 OSD 来确保存储集群不达到其 near-full 比率。

有关 Ceph OSD 的更多信息,请参阅 Red Hat Ceph Storage Operations 指南中的 Ceph OSD

流程

  1. SSH 连接到 ceph-storage0,并以 root 身份登录。
  2. 禁用和停止 OSD 服务:

    [root@ceph-storage0 ~]# systemctl disable ceph-osd@4
    [root@ceph-stoarge0 ~]# systemctl stop ceph-osd@4
  3. ceph-storage0 断开连接。
  4. SSH 连接到 controller0,然后以 root 身份登录。
  5. 识别 Ceph 监控容器的名称:

    [root@controller0 ~]# podman ps | grep ceph-mon
    ceph-mon-controller0
    [root@controller0 ~]#
  6. 启用 Ceph 监控容器,将不需要的 OSD 标记为 out

    [root@controller0 ~]# podman exec ceph-mon-controller0 ceph osd out 4
    注意

    此命令会导致 Ceph 重新平衡存储集群,并将数据复制到集群中的其他 OSD。在重新平衡完成前,集群会临时保留 active+clean 状态。

  7. 运行以下命令并等待存储集群状态变为 active+clean

    [root@controller0 ~]# podman exec ceph-mon-controller0 ceph -w
  8. 从 CRUSH map 中删除 OSD,使其不再接收数据:

    [root@controller0 ~]# podman exec ceph-mon-controller0 ceph osd crush remove osd.4
  9. 删除 OSD 身份验证密钥:

    [root@controller0 ~]# podman exec ceph-mon-controller0 ceph auth del osd.4
  10. 删除 OSD:

    [root@controller0 ~]# podman exec ceph-mon-controller0 ceph osd rm 4
  11. controller0 断开连接。
  12. stack 用户身份通过 SSH 连接到 undercloud,再找到您定义 CephAnsibleDisksConfig 参数的 heat 环境文件。
  13. 注意 heat 模板包含四个 OSD:

    parameter_defaults:
      CephAnsibleDisksConfig:
        devices:
          - /dev/sdb
          - /dev/sdc
          - /dev/sdd
          - /dev/sde
        osd_scenario: lvm
        osd_objectstore: bluestore
  14. 修改模板以删除 /dev/sde

    parameter_defaults:
      CephAnsibleDisksConfig:
        devices:
          - /dev/sdb
          - /dev/sdc
          - /dev/sdd
        osd_scenario: lvm
        osd_objectstore: bluestore
  15. 运行 openstack overcloud deploy 以更新 overcloud。

    注意

    在本例中,您将从具有 OSD 的所有主机中删除 /dev/sde 设备。如果您没有从所有节点中删除同一设备,请更新 heat 模板。有关如何使用不同 devices 列表定义主机的详情,请参考 第 5.5 节 “覆盖用于忽略 Ceph Storage 节点的参数”

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.