9.3. 使用本地存储设备删除置备失败或不需要的 Ceph OSD


您可以按照流程中的步骤,使用本地存储设备删除失败或不需要的 Ceph 置备的对象存储设备(OSD)。

重要

只有在红帽支持团队的帮助中才支持缩减集群。

警告
  • 当 Ceph 组件没有处于健康状态时删除 OSD 可能会导致数据丢失。
  • 同时删除两个或多个 OSD 会导致数据丢失。

先决条件

流程

  1. 假如,通过将 OSD 部署中的副本扩展到 0 来标记 OSD 停机。如果 OSD 已因为失败而停机,您可以跳过这一步。

    # oc scale deployment rook-ceph-osd-<osd-id> --replicas=0
    Copy to Clipboard Toggle word wrap
  2. 从集群中移除失败的 OSD。

    # failed_osd_id=<osd_id>
    
    # oc process -n openshift-storage ocs-osd-removal -p FAILED_OSD_IDS=$failed_osd_id | oc create -f -
    Copy to Clipboard Toggle word wrap

    其中,FAILED_OSD_ID 是 pod 名称中紧接在 rook-ceph-osd 前缀后面的整数。

  3. 通过检查日志来验证 OSD 是否已成功移除。

    # oc logs -n openshift-storage ocs-osd-removal-$<failed_osd_id>-<pod-suffix>
    Copy to Clipboard Toggle word wrap
  4. 可选:如果您遇到错误 cephosd:osd.0 is not ok to destroy from the ocs-osd-removal-job pod in OpenShift Container Platform,请参阅在 删除失败或不需要的 Ceph OSD 时对错误 cephosd:osd.0 进行故障排除
  5. 删除与故障 OSD 关联的持久性卷声明(PVC)资源。

    1. 获取与故障 OSD 关联的 PVC

      # oc get -n openshift-storage -o yaml deployment rook-ceph-osd-<osd-id> | grep ceph.rook.io/pvc
      Copy to Clipboard Toggle word wrap
    2. 获取与 PVC 关联的持久性卷 (PV)。

      # oc get -n openshift-storage pvc <pvc-name>
      Copy to Clipboard Toggle word wrap
    3. 获取失败的设备名称。

      # oc get pv <pv-name-from-above-command> -oyaml | grep path
      Copy to Clipboard Toggle word wrap
    4. 获取与故障 OSD 关联的 prepare-pod

      # oc describe -n openshift-storage pvc ocs-deviceset-0-0-nvs68 | grep Mounted
      Copy to Clipboard Toggle word wrap
    5. 在删除关联的 PVC 前,删除 osd-prepare pod

      # oc delete -n openshift-storage pod <osd-prepare-pod-from-above-command>
      Copy to Clipboard Toggle word wrap
    6. 删除与故障 OSD 关联的 PVC

      # oc delete -n openshift-storage pvc <pvc-name-from-step-a>
      Copy to Clipboard Toggle word wrap
  6. LocalVolume 自定义资源 (CR)中删除失败的设备条目。

    1. 使用失败设备登录到节点。

      # oc debug node/<node_with_failed_osd>
      Copy to Clipboard Toggle word wrap
    2. 为失败的设备名称记录 /dev/disk/by-id/<id>。

      # ls -alh /mnt/local-storage/localblock/
      Copy to Clipboard Toggle word wrap
  7. 可选:在以下情况下,Local Storage Operator 用于置备 OSD,使用 {osd-id} 登录机器并删除设备符号链接。

    # oc debug node/<node_with_failed_osd>
    Copy to Clipboard Toggle word wrap
    1. 获取故障设备名称的 OSD 符号链接。

      # ls -alh /mnt/local-storage/localblock
      Copy to Clipboard Toggle word wrap
    2. 删除符号链接。

      # rm /mnt/local-storage/localblock/<failed-device-name>
      Copy to Clipboard Toggle word wrap
  8. 删除与 OSD 关联的 PV。
# oc delete pv <pv-name>
Copy to Clipboard Toggle word wrap

验证步骤

  • 要检查 OSD 是否已成功删除,请运行:

    #oc get pod -n openshift-storage ocs-osd-removal-$<failed_osd_id>-<pod-suffix>
    Copy to Clipboard Toggle word wrap

    这个命令必须将状态返回为 Completed

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat