OpenShift Container Storage is now OpenShift Data Foundation starting with version 4.9.
8.3. 로컬 스토리지 장치를 사용하여 프로비저닝된 Ceph OSD 또는 실패한 Ceph OSD 제거
절차의 단계에 따라 로컬 스토리지 장치를 사용하여 프로비저닝된 실패 또는 원하지 않는 Ceph를 제거할 수 있습니다.
클러스터 축소는 Red Hat 지원 팀을 통해서만 지원됩니다.
- Ceph 구성 요소가 정상 상태가 아닌 경우 OSD를 제거하면 데이터가 손실될 수 있습니다.
- 두 개 이상의 OSD를 동시에 제거하면 데이터가 손실됩니다.
사전 요구 사항
- Ceph가 정상인지 확인합니다. 자세한 내용은 Ceph 클러스터의 정상 확인을 참조하십시오.
- 경고가 실행되지 않거나 다시 빌드 프로세스가 진행 중인지 확인합니다.
절차
강제로 OSD 배포의 복제본을 0으로 확장하여 OSD를 축소합니다. 실패로 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 클러스터에서 실패한 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접두사 직후 포드 이름의 정수입니다.로그를 확인하여 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-jobPod에서 삭제하는 데 cephosd:osd.0이 좋지 않아 오류가 발생하는 경우cephosd:osd.0 오류 문제 해결을 참조하십시오. 실패하거나 원하지 않는 Ceph OSD를제거하는 동안 제거되지 않음을 참조하십시오. 실패한 OSD와 관련된 PVC(영구 볼륨 클레임) 리소스를 삭제합니다.
실패한 OSD와 연결된
PVC를 가져옵니다.oc get -n openshift-storage -o yaml deployment rook-ceph-osd-<osd-id> | grep ceph.rook.io/pvc
# oc get -n openshift-storage -o yaml deployment rook-ceph-osd-<osd-id> | grep ceph.rook.io/pvcCopy to Clipboard Copied! Toggle word wrap Toggle overflow PVC와 연결된 PV(
영구 볼륨)를 가져옵니다.oc get -n openshift-storage pvc <pvc-name>
# oc get -n openshift-storage pvc <pvc-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 실패한 장치 이름을 가져옵니다.
oc get pv <pv-name-from-above-command> -oyaml | grep path
# oc get pv <pv-name-from-above-command> -oyaml | grep pathCopy to Clipboard Copied! Toggle word wrap Toggle overflow 실패한 OSD와
관련된 준비 Pod를 가져옵니다.oc describe -n openshift-storage pvc ocs-deviceset-0-0-nvs68 | grep Mounted
# oc describe -n openshift-storage pvc ocs-deviceset-0-0-nvs68 | grep MountedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 연결된 PVC를 제거하기 전에
osd-prepare Pod를 삭제합니다.oc delete -n openshift-storage pod <osd-prepare-pod-from-above-command>
# oc delete -n openshift-storage pod <osd-prepare-pod-from-above-command>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 실패한 OSD와 연결된
PVC를 삭제합니다.oc delete -n openshift-storage pvc <pvc-name-from-step-a>
# oc delete -n openshift-storage pvc <pvc-name-from-step-a>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
LocalVolume 사용자 정의 리소스(CR)에서 실패한 장치 항목을 제거합니다.실패한 장치를 사용하여 노드에 로그인합니다.
oc debug node/<node_with_failed_osd>
# oc debug node/<node_with_failed_osd>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 실패한 장치 이름에 대해 /dev/disk/by-id/<id>를 기록합니다.
ls -alh /mnt/local-storage/localblock/
# ls -alh /mnt/local-storage/localblock/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
선택 사항: Local Storage Operator가 OSD 프로비저닝에 사용되는 경우 {osd-id}로 머신에 로그인하고 장치 심볼릭 링크를 제거합니다.
oc debug node/<node_with_failed_osd>
# oc debug node/<node_with_failed_osd>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 실패한 장치 이름에 대한 OSD 심볼릭 링크를 가져옵니다.
ls -alh /mnt/local-storage/localblock
# ls -alh /mnt/local-storage/localblockCopy to Clipboard Copied! Toggle word wrap Toggle overflow 심볼릭 링크를 제거합니다.
rm /mnt/local-storage/localblock/<failed-device-name>
# rm /mnt/local-storage/localblock/<failed-device-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- OSD와 연결된 PV를 삭제합니다.
oc delete pv <pv-name>
# oc delete pv <pv-name>
검증 단계
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 로 반환해야 합니다.