8.2. 在动态置备的 Red Hat OpenShift Data Foundation 中删除失败的或不需要的 Ceph OSD
按照流程中的步骤,在动态置备的 Red Hat OpenShift Data Foundation 中删除失败或不需要的 Ceph OSD。
重要
只有红帽支持团队才支持缩减集群。
警告
- 当 Ceph 组件没有处于健康状态时,删除 OSD 可能会导致数据丢失。
- 同时删除两个或多个 OSD 会导致数据丢失。
先决条件
- 检查 Ceph 是否健康。如需更多信息,请参阅验证 Ceph 集群是否健康。
- 确保没有触发警报,或者所有重建过程都在进行中。
流程
缩减 OSD 部署。
oc scale deployment rook-ceph-osd-<osd-id> --replicas=0
# oc scale deployment rook-ceph-osd-<osd-id> --replicas=0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 获取要删除的 Ceph OSD 的
osd-preparepod。oc get deployment rook-ceph-osd-<osd-id> -oyaml | grep ceph.rook.io/pvc
# oc get deployment rook-ceph-osd-<osd-id> -oyaml | grep ceph.rook.io/pvcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 删除
osd-preparepod。oc delete -n openshift-storage pod rook-ceph-osd-prepare-<pvc-from-above-command>-<pod-suffix>
# oc delete -n openshift-storage pod rook-ceph-osd-prepare-<pvc-from-above-command>-<pod-suffix>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从集群移除出现故障的 OSD。
failed_osd_id=<osd-id> oc process -n openshift-storage ocs-osd-removal -p FAILED_OSD_IDS=$<failed_osd_id> | oc create -f -
# 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 Copied! Toggle word wrap Toggle overflow 其中,
FAILED_OSD_ID是 pod 名称中紧接在rook-ceph-osd前缀后面的整数。通过检查日志来验证 OSD 是否已成功移除。
oc logs -n openshift-storage ocs-osd-removal-$<failed_osd_id>-<pod-suffix>
# oc logs -n openshift-storage ocs-osd-removal-$<failed_osd_id>-<pod-suffix>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
可选:如果您遇到
cephosd:osd.0 is not ok to destroy to destroy to destroyfrom the ocs-osd-removal-job pod in OpenShift Container Platform 的错误,请参阅 对cephosd:osd.0错误进行故障排除,同时删除失败或不需要的 Ceph OSD。 删除 OSD 部署。
oc delete deployment rook-ceph-osd-<osd-id>
# oc delete deployment rook-ceph-osd-<osd-id>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证步骤
要检查 OSD 是否已成功删除,请运行:
oc get pod -n openshift-storage ocs-osd-removal-$<failed_osd_id>-<pod-suffix>
# oc get pod -n openshift-storage ocs-osd-removal-$<failed_osd_id>-<pod-suffix>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令必须将状态返回为 Completed。