9.2. 動的にプロビジョニングされた Red Hat OpenShift Data Foundation で障害が発生した、または不要な Ceph OSD を削除する
動的にプロビジョニングされた Red Hat OpenShift Data Foundation で障害が発生した、または不要な Ceph オブジェクトストレージデバイス (OSD) を削除するには、次の手順に従います。
クラスターのスケールダウンは、Red Hat サポートチームの支援がある場合にのみサポートされます。
- Ceph コンポーネントが正常な状態ではないときに OSD を削除すると、データが失われる可能性があります。
- 2 つ以上の 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はrook-ceph-osd接頭辞の直後の Pod 名の整数です。ログを確認して、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 -
オプション: OpenShift Container Platform の ocs-osd-removal-job Pod から
cephosd:osd.0 is NOT ok to destroyというエラーが発生した場合は、障害が発生した、または不要な Ceph OSD の削除中のエラーcephosd:osd.0 is NOT ok to destroyのトラブルシューティング を参照してください。 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 として返す必要があります。