15.2. 缩减并替换 Red Hat Ceph Storage 节点


在某些情况下,您可能需要缩减 Red Hat Ceph Storage 集群或替换 Red Hat Ceph Storage 节点。在这两种情况下,您必须禁用并重新平衡您要从 overcloud 中删除的 Red Hat Ceph Storage 节点,以防止数据丢失。

重要

如果使用 director 部署的 Red Hat Ceph Storage,了解替换 Controller 节点的影响非常重要。Ceph 监控服务在 Controller 节点上运行,通常是从存储网络分配 IP 地址。这些 Ceph 监控服务 IP 地址与使用 Red Hat Ceph Storage 的虚拟机实例关联。如果在替换 Controller 节点的过程中 Ceph Monitor 服务 IP 地址发生变化,则不会动态更新它们。这可能会导致存储中断,特别是当替换多个 Controller 节点时。每个虚拟机实例都必须迁移、重启或取消封锁,才能解决 IP 地址更改和导致的中断。

重复利用已删除 Ceph Monitor 服务实例的 IP 地址,而不使用新的 IP 地址以避免这种情况。

例如,请参阅 overcloud 置备裸机节点的 第 5 步中的 fixed_ip 配置示例。

在 Controller 节点上使用以下命令查找当前的 Ceph Monitor 服务 IP 地址:

$ sudo cephadm shell -- ceph mon stat
流程

如果 Red Hat Ceph Storage 集群没有丢失 OSD 的容量,请不要继续这个过程。

  1. tripleo-admin 用户身份登录 overcloud Controller 节点。
  2. 使用 sudo cephadm shell 命令启动 Ceph shell。
  3. 使用 ceph osd tree 命令识别服务器要删除的 OSD。

    在以下示例中,我们需要识别 ceph-2 主机的 OSD。

    [ceph: root@oc0-controller-0 /]# ceph osd tree
    ID  CLASS  WEIGHT   TYPE NAME            STATUS  REWEIGHT  PRI-AFF
    -1         0.58557  root default
    -7         0.19519  host ceph-2
     5    hdd  0.04880       osd.5           up      1.00000  1.00000
     7    hdd  0.04880       osd.7           up      1.00000  1.00000
     9    hdd  0.04880       osd.9           up      1.00000  1.00000
    11    hdd  0.04880       osd.11          up      1.00000  1.00000
  4. 退出 cephadm shell
  5. 将 Ceph 集群规格导出到 YAML 文件。

    $ sudo cephadm shell -- ceph orch ls --export > spec.yaml
  6. 编辑上一步中导出的规格文件。从 spec.yaml 文件的 placement:hosts 部分中删除所有缩减的节点。
  7. 保存编辑的文件。
  8. 应用修改后的 Ceph 规格文件。

    $ sudo cephadm shell -m spec.yaml -- ceph orch apply -i /mnt/spec.yaml
    重要

    如果您在删除 OSD 前没有导出和导入 Ceph 规范文件,Ceph 管理器将尝试重新创建 OSD。

  9. 使用 sudo cephadm shell 命令启动 Ceph shell。
  10. 使用 ceph orch osd rm --zap <osd_list&gt; 命令来移除 OSD。

    [ceph: root@oc0-controller-0 /]# ceph orch osd rm --zap 5 7 9 11
    Scheduled OSD(s) for removal
    [ceph: root@oc0-controller-0 /]# ceph orch osd rm status
    OSD_ID HOST   STATE    PG_COUNT REPLACE  FORCE  DRAIN_STARTED_AT
    7      ceph-2 draining 27       False    False  2021-04-23 21:35:51.215361
    9      ceph-2 draining 8        False    False  2021-04-23 21:35:49.111500
    11     ceph-2 draining 14       False    False  2021-04-23 21:35:50.243762
  11. 使用 ceph orch osd status 命令,检查移除 OSD 的状态。

    [ceph: root@oc0-controller-0 /]# ceph orch osd rm status
    OSD_ID HOST   STATE    PG_COUNT REPLACE FORCE DRAIN_STARTED_AT
    7      ceph-2 draining 34       False   False 2021-04-23 21:35:51.215361
    11     ceph-2 draining 14       False   False 2021-04-23 21:35:50.243762
    警告

    在这个命令返回任何结果前,不要继续下一步。

  12. 使用 ceph orch host drain <HOST&gt; 命令来排空任何剩余的守护进程。

    [ceph: root@oc0-controller-0 /]# ceph orch host drain ceph-2
  13. 使用 ceph orch host rm <HOST&gt; 命令来移除主机。

    [ceph: root@oc0-controller-0 /]# ceph orch host rm ceph-2
    注意

    此节点不再由 Ceph 集群使用,但仍然由 director 管理作为裸机节点。

  14. 结束 Ceph shell 会话。

    注意

    如果缩减 Ceph 集群是临时的,并且删除的节点稍后会被恢复,扩展操作在之前设置了 provisioned: false 的节点上增加 count,并设置 provisioned: true如果节点永远不会重复使用,则可以无限期设置 provisioned: false,扩展操作可以指定新的 instances 条目。

    以下文件示例提供了每个实例的一些示例。

    - name: Compute
      count: 2
      instances:
      - hostname: overcloud-compute-0
        name: node10
        # Removed from deployment due to disk failure
        provisioned: false
      - hostname: overcloud-compute-1
        name: node11
      - hostname: overcloud-compute-2
        name: node12
  15. 要从 director 中删除节点,请参阅使用 director 安装和管理 Red Hat OpenStack Platform 中的缩减裸机节点
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部