搜索

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

download PDF

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

流程

如果 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. 将 Ceph 集群规格导出到 YAML 文件。

    [ceph: root@oc0-controller-0 /]# ceph orch ls --export > spec.yml
  5. 编辑导出的规格文件,以便适用的主机从 service-type: osd hosts 列表中移除,且适用的主机将移除 placement: hosts 值。
  6. 保存编辑的文件。
  7. 应用修改后的 Ceph 规格文件。

    [ceph: root@oc0-controller-0 /]# ceph orch apply -i spec.yml
    重要

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

  8. 使用 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
  9. 使用 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
    警告

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

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

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

    [ceph: root@oc0-controller-0 /]# ceph orch host rm ceph-2
  12. 结束 Ceph shell 会话。
  13. tripleo-admin 帐户注销。
  14. stack 用户身份登录 undercloud 节点。
  15. 使用以下方法修改 ~/overcloud-baremetal-deploy.yaml

    • 减少角色中的 count 属性,以缩减。
    • 为被取消置备的每个节点添加一个 instances 条目。每个条目都必须包含以下内容:

      • baremetal 节点的名称
      • 分配给该节点的主机名
      • provisioned: false 值。

        以下示例将删除 overcloud-compute-1 节点。

        - name: Compute
          count: 1
          instances:
          - hostname: overcloud-compute-0
            name: node10
            # Removed from deployment due to disk failure
            provisioned: false
          - hostname: overcloud-compute-1
            name: node11
  16. 使用 openstack overcloud node delete 命令删除该节点。

    openstack overcloud node delete \
    --stack overcloud \
    --baremetal-deployment ~/overcloud-baremetal-deploy.yaml
    注意

    在删除节点前,将提供一个确认提示要删除的节点列表。

注意

如果缩减 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
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.