5.2. IBM Power에서 운영되거나 실패한 스토리지 장치 교체
IBM Power의 로컬 스토리지 장치를 사용하여 배포된 OpenShift Data Foundation의 OSD(오브젝트 스토리지 장치)를 교체할 수 있습니다.
하나 이상의 기본 스토리지 장치를 교체해야 할 수 있습니다.
사전 요구 사항
- 교체 장치는 장치 교체와 유사한 인프라 및 리소스로 구성된 것이 좋습니다.
데이터가 탄력적인지 확인합니다.
-
OpenShift 웹 콘솔에서 스토리지
Data Foundation 을 클릭합니다. -
Storage Systems 탭을 클릭한 다음
ocs-storagecluster-storagesystem을 클릭합니다. - 블록 및 파일 대시보드의 상태 카드 개요 탭에서 Data Resiliency 에 녹색 표시가 있는지 확인합니다.
-
OpenShift 웹 콘솔에서 스토리지
절차
교체해야 하는 OSD와 OSD가 예약된 OpenShift Container Platform 노드를 확인합니다.
oc get -n openshift-storage pods -l app=rook-ceph-osd -o wide
$ oc get -n openshift-storage pods -l app=rook-ceph-osd -o wideCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
rook-ceph-osd-0-86bf8cdc8-4nb5t 0/1 crashLoopBackOff 0 24h 10.129.2.26 worker-0 <none> <none> rook-ceph-osd-1-7c99657cfb-jdzvz 1/1 Running 0 24h 10.128.2.46 worker-1 <none> <none> rook-ceph-osd-2-5f9f6dfb5b-2mnw9 1/1 Running 0 24h 10.131.0.33 worker-2 <none> <none>
rook-ceph-osd-0-86bf8cdc8-4nb5t 0/1 crashLoopBackOff 0 24h 10.129.2.26 worker-0 <none> <none> rook-ceph-osd-1-7c99657cfb-jdzvz 1/1 Running 0 24h 10.128.2.46 worker-1 <none> <none> rook-ceph-osd-2-5f9f6dfb5b-2mnw9 1/1 Running 0 24h 10.131.0.33 worker-2 <none> <none>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서는
rook-ceph-osd-0-86bf8cdc8-4nb5t를 교체해야 하며worker-0은 OSD가 예약된 node입니다.참고교체할 OSD가 정상이면 포드 상태가
Running이 됩니다.OSD를 교체할 OSD 배포를 축소합니다.
osd_id_to_remove=0
$ osd_id_to_remove=0Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc scale -n openshift-storage deployment rook-ceph-osd-${osd_id_to_remove} --replicas=0$ oc scale -n openshift-storage deployment rook-ceph-osd-${osd_id_to_remove} --replicas=0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서
osd_id_to_remove는rook-ceph-osd접두사 직후 Pod 이름의 정수입니다. 이 예제에서 배포 이름은rook-ceph-osd-0입니다.출력 예:
deployment.extensions/rook-ceph-osd-0 scaled
deployment.extensions/rook-ceph-osd-0 scaledCopy to Clipboard Copied! Toggle word wrap Toggle overflow rook-ceph-osdPod가 종료되었는지 확인합니다.oc get -n openshift-storage pods -l ceph-osd-id=${osd_id_to_remove}$ oc get -n openshift-storage pods -l ceph-osd-id=${osd_id_to_remove}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
No resources found in openshift-storage namespace.
No resources found in openshift-storage namespace.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요rook-ceph-osdPod가 몇 분 이상종료중이면force옵션을 사용하여 Pod를 삭제합니다.oc delete -n openshift-storage pod rook-ceph-osd-0-86bf8cdc8-4nb5t --grace-period=0 --force
$ oc delete -n openshift-storage pod rook-ceph-osd-0-86bf8cdc8-4nb5t --grace-period=0 --forceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely. pod "rook-ceph-osd-0-86bf8cdc8-4nb5t" force deleted
warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely. pod "rook-ceph-osd-0-86bf8cdc8-4nb5t" force deletedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 OSD를 추가할 수 있도록 클러스터에서 이전 OSD를 제거합니다.
교체할 OSD와 연결된
DeviceSet을 확인합니다.oc get -n openshift-storage -o yaml deployment rook-ceph-osd-${osd_id_to_remove} | grep ceph.rook.io/pvc$ oc get -n openshift-storage -o yaml deployment rook-ceph-osd-${osd_id_to_remove} | grep ceph.rook.io/pvcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
ceph.rook.io/pvc: ocs-deviceset-localblock-0-data-0-64xjl ceph.rook.io/pvc: ocs-deviceset-localblock-0-data-0-64xjlceph.rook.io/pvc: ocs-deviceset-localblock-0-data-0-64xjl ceph.rook.io/pvc: ocs-deviceset-localblock-0-data-0-64xjlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서 PVC(영구 볼륨 클레임) 이름은
ocs-deviceset-localblock-0-data-0-64xjl입니다.PVC와 연결된 영구 볼륨(PV)을 확인합니다.
oc get -n openshift-storage pvc ocs-deviceset-<x>-<y>-<pvc-suffix>
$ oc get -n openshift-storage pvc ocs-deviceset-<x>-<y>-<pvc-suffix>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서,
x,y,pvc-suffix는 이전 단계에서 식별된DeviceSet의 값입니다.출력 예:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE ocs-deviceset-localblock-0-data-0-64xjl Bound local-pv-8137c873 256Gi RWO localblock 24h
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE ocs-deviceset-localblock-0-data-0-64xjl Bound local-pv-8137c873 256Gi RWO localblock 24hCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서 관련 PV는
local-pv-8137c873입니다.교체할 장치의 이름을 확인합니다.
oc get pv local-pv-<pv-suffix> -o yaml | grep path
$ oc get pv local-pv-<pv-suffix> -o yaml | grep pathCopy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서
pv-suffix는 이전 단계에서 확인된 PV 이름의 값입니다.출력 예:
path: /mnt/local-storage/localblock/vdc
path: /mnt/local-storage/localblock/vdcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서 장치 이름은 ECDHE
입니다.교체할 OSD와 연결된
prepare-pod를 확인합니다.oc describe -n openshift-storage pvc ocs-deviceset-<x>-<y>-<pvc-suffix> | grep Used
$ oc describe -n openshift-storage pvc ocs-deviceset-<x>-<y>-<pvc-suffix> | grep UsedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서,
x,y,pvc-suffix는 이전 단계에서 식별된DeviceSet의 값입니다.출력 예:
Used By: rook-ceph-osd-prepare-ocs-deviceset-localblock-0-data-0-64knzkc
Used By: rook-ceph-osd-prepare-ocs-deviceset-localblock-0-data-0-64knzkcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서
prepare-pod이름은rook-ceph-osd-prepare-ocs-deviceset-localblock-0-data-0-64kkc입니다.이전
ocs-osd-removal작업을 삭제합니다.oc delete -n openshift-storage job ocs-osd-removal-job
$ oc delete -n openshift-storage job ocs-osd-removal-jobCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
job.batch "ocs-osd-removal-job" deleted
job.batch "ocs-osd-removal-job" deletedCopy to Clipboard Copied! Toggle word wrap Toggle overflow openshift-storage프로젝트로 변경합니다.oc project openshift-storage
$ oc project openshift-storageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터에서 이전 OSD를 제거합니다.
oc process -n openshift-storage ocs-osd-removal -p FAILED_OSD_IDS=${osd_id_to_remove} -p FORCE_OSD_REMOVAL=false |oc create -n openshift-storage -f -$ oc process -n openshift-storage ocs-osd-removal -p FAILED_OSD_IDS=${osd_id_to_remove} -p FORCE_OSD_REMOVAL=false |oc create -n openshift-storage -f -Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD가 3개뿐인 클러스터에서 FORCE_OSD_REMOVAL 값을 "true"로 변경해야 합니다. OSD를 제거한 후 3개의 데이터 복제본을 모두 복원할 수 있는 공간이 충분하지 않은 클러스터에서는 FORCE_OSD_REMOVAL 값을 "true"로 변경해야 합니다.
주의이 단계에서는 클러스터에서 OSD가 완전히 제거됩니다.
osd_id_to_remove의 올바른 값이 제공되었는지 확인합니다.
ocs-osd-removal-jobPod의 상태를 확인하여 OSD가 성공적으로 제거되었는지 확인합니다.Completed상태로 인해 OSD 제거 작업이 성공했는지 확인합니다.oc get pod -l job-name=ocs-osd-removal-job -n openshift-storage
$ oc get pod -l job-name=ocs-osd-removal-job -n openshift-storageCopy to Clipboard Copied! Toggle word wrap Toggle overflow OSD 제거가 완료되었는지 확인합니다.
oc logs -l job-name=ocs-osd-removal-job -n openshift-storage --tail=-1 | egrep -i 'completed removal'
$ oc logs -l job-name=ocs-osd-removal-job -n openshift-storage --tail=-1 | egrep -i 'completed removal'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
2022-05-10 06:50:04.501511 I | cephosd: completed removal of OSD 0
2022-05-10 06:50:04.501511 I | cephosd: completed removal of OSD 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요ocs-osd-removal-job이 실패하고 Pod가 예상Completed상태가 아닌 경우 Pod 로그를 확인하여 추가 디버깅을 확인합니다.예를 들면 다음과 같습니다.
oc logs -l job-name=ocs-osd-removal-job -n openshift-storage --tail=-1
# oc logs -l job-name=ocs-osd-removal-job -n openshift-storage --tail=-1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 설치 시 암호화를 활성화한 경우 해당 OpenShift Data Foundation 노드에서 제거된 OSD 장치에서
dm-cryptmanageddevice-mapper매핑을 제거합니다.ocs-osd-removal-jobPod 로그에서 교체된 OSD의 PVC 이름을 가져옵니다.oc logs -l job-name=ocs-osd-removal-job -n openshift-storage --tail=-1 |egrep -i ‘pvc|deviceset’
$ oc logs -l job-name=ocs-osd-removal-job -n openshift-storage --tail=-1 |egrep -i ‘pvc|deviceset’Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
2021-05-12 14:31:34.666000 I | cephosd: removing the OSD PVC "ocs-deviceset-xxxx-xxx-xxx-xxx"
2021-05-12 14:31:34.666000 I | cephosd: removing the OSD PVC "ocs-deviceset-xxxx-xxx-xxx-xxx"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전에 식별한 각 노드에 대해 다음을 수행합니다.
스토리지 노드의 호스트에
디버그Pod와chroot를 만듭니다.oc debug node/<node name>
$ oc debug node/<node name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <node name>노드의 이름입니다.
chroot /host
$ chroot /hostCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이전 단계에서 식별한 PVC 이름을 기반으로 관련 장치 이름을 찾습니다.
dmsetup ls| grep <pvc name>
$ dmsetup ls| grep <pvc name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <pvc name>PVC의 이름입니다.
출력 예:
ocs-deviceset-xxx-xxx-xxx-xxx-block-dmcrypt (253:0)
ocs-deviceset-xxx-xxx-xxx-xxx-block-dmcrypt (253:0)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
매핑된 장치를 제거합니다.
cryptsetup luksClose --debug --verbose ocs-deviceset-xxx-xxx-xxx-xxx-block-dmcrypt
$ cryptsetup luksClose --debug --verbose ocs-deviceset-xxx-xxx-xxx-xxx-block-dmcryptCopy to Clipboard Copied! Toggle word wrap Toggle overflow 중요충분하지 않은 권한으로 인해 위의 명령이 정지되면 다음 명령을 실행합니다.
-
CTRL+Z를 눌러 위 명령을 종료합니다. 정지된 프로세스의 PID를 찾습니다.
ps -ef | grep crypt
$ ps -ef | grep cryptCopy to Clipboard Copied! Toggle word wrap Toggle overflow kill명령을 사용하여 프로세스를 종료합니다.kill -9 <PID>
$ kill -9 <PID>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <PID>- 는 프로세스 ID입니다.
장치 이름이 제거되었는지 확인합니다.
dmsetup ls
$ dmsetup lsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
삭제해야 하는 PV를 찾습니다.
oc get pv -L kubernetes.io/hostname | grep localblock | grep Released
$ oc get pv -L kubernetes.io/hostname | grep localblock | grep ReleasedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
local-pv-d6bf175b 1490Gi RWO Delete Released openshift-storage/ocs-deviceset-0-data-0-6c5pw localblock 2d22h compute-1
local-pv-d6bf175b 1490Gi RWO Delete Released openshift-storage/ocs-deviceset-0-data-0-6c5pw localblock 2d22h compute-1Copy to Clipboard Copied! Toggle word wrap Toggle overflow PV를 삭제합니다.
oc delete pv <pv-name>
$ oc delete pv <pv-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <pv-name>- 는 PV의 이름입니다.
이전 장치를 교체하고 새 장치를 사용하여 새 OpenShift Container Platform PV를 생성합니다.
교체할 장치로 OpenShift Container Platform 노드에 로그인합니다. 이 예에서 OpenShift Container Platform 노드는
worker-0입니다.oc debug node/worker-0
$ oc debug node/worker-0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
Starting pod/worker-0-debug ... To use host binaries, run `chroot /host` Pod IP: 192.168.88.21 If you don't see a command prompt, try pressing enter. # chroot /host
Starting pod/worker-0-debug ... To use host binaries, run `chroot /host` Pod IP: 192.168.88.21 If you don't see a command prompt, try pressing enter. # chroot /hostCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이전에 식별된 장치 이름인 ECDHE/disk를 사용하여 교체할
/dev/disk를 기록합니다.ls -alh /mnt/local-storage/localblock
# ls -alh /mnt/local-storage/localblockCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
total 0 drwxr-xr-x. 2 root root 17 Nov 18 15:23 . drwxr-xr-x. 3 root root 24 Nov 18 15:23 .. lrwxrwxrwx. 1 root root 8 Nov 18 15:23 vdc -> /dev/vdc
total 0 drwxr-xr-x. 2 root root 17 Nov 18 15:23 . drwxr-xr-x. 3 root root 24 Nov 18 15:23 .. lrwxrwxrwx. 1 root root 8 Nov 18 15:23 vdc -> /dev/vdcCopy to Clipboard Copied! Toggle word wrap Toggle overflow LocalVolumeCR의 이름을 찾고 교체할/dev/disk장치를 제거하거나 주석 처리합니다.oc get -n openshift-local-storage localvolume
$ oc get -n openshift-local-storage localvolumeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
NAME AGE localblock 25h
NAME AGE localblock 25hCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc edit -n openshift-local-storage localvolume localblock
# oc edit -n openshift-local-storage localvolume localblockCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CR을 편집한 후 변경 사항을 저장해야 합니다.
교체될 장치가 있는 OpenShift Container Platform 노드에 로그인하고 이전
심볼릭링크를 제거합니다.oc debug node/worker-0
$ oc debug node/worker-0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
Starting pod/worker-0-debug ... To use host binaries, run `chroot /host` Pod IP: 192.168.88.21 If you don't see a command prompt, try pressing enter. # chroot /host
Starting pod/worker-0-debug ... To use host binaries, run `chroot /host` Pod IP: 192.168.88.21 If you don't see a command prompt, try pressing enter. # chroot /hostCopy to Clipboard Copied! Toggle word wrap Toggle overflow 교체할 장치 이름의 이전
심볼릭 링크를확인합니다. 이 예에서 장치 이름은 ECDHE입니다.ls -alh /mnt/local-storage/localblock
# ls -alh /mnt/local-storage/localblockCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
total 0 drwxr-xr-x. 2 root root 17 Nov 18 15:23 . drwxr-xr-x. 3 root root 24 Nov 18 15:23 .. lrwxrwxrwx. 1 root root 8 Nov 18 15:23 vdc -> /dev/vdc
total 0 drwxr-xr-x. 2 root root 17 Nov 18 15:23 . drwxr-xr-x. 3 root root 24 Nov 18 15:23 .. lrwxrwxrwx. 1 root root 8 Nov 18 15:23 vdc -> /dev/vdcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 심볼릭링크를 제거합니다.rm /mnt/local-storage/localblock/vdc
# rm /mnt/local-storage/localblock/vdcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 심볼릭 링크가제거되었는지 확인합니다.ls -alh /mnt/local-storage/localblock
# ls -alh /mnt/local-storage/localblockCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
total 0 drwxr-xr-x. 2 root root 6 Nov 18 17:11 . drwxr-xr-x. 3 root root 24 Nov 18 15:23 ..
total 0 drwxr-xr-x. 2 root root 6 Nov 18 17:11 . drwxr-xr-x. 3 root root 24 Nov 18 15:23 ..Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 이전 장치를 새 장치로 교체합니다.
올바른 OpenShift Cotainer Platform 노드에 다시 로그인하고 새 드라이브의 장치 이름을 확인합니다. 동일한 장치를 재설정하지 않는 한 장치 이름을 변경해야 합니다.
lsblk
# lsblkCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서 새 장치 이름은
vdd입니다.새
/dev/disk를 사용할 수 있게 되면 LocalVolume CR에 새 디스크 항목을 추가할 수 있습니다.LocalVolume CR을 편집하고 새
/dev/disk를 추가합니다.이 예에서 새 장치는
/dev/vdd입니다.oc edit -n openshift-local-storage localvolume localblock
# oc edit -n openshift-local-storage localvolume localblockCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CR을 편집한 후 변경 사항을 저장해야 합니다.
새 PV의
Available상태와 올바른 크기가 있는지 확인합니다.oc get pv | grep 256Gi
$ oc get pv | grep 256GiCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
local-pv-1e31f771 256Gi RWO Delete Bound openshift-storage/ocs-deviceset-localblock-2-data-0-6xhkf localblock 24h local-pv-ec7f2b80 256Gi RWO Delete Bound openshift-storage/ocs-deviceset-localblock-1-data-0-hr2fx localblock 24h local-pv-8137c873 256Gi RWO Delete Available localblock 32m
local-pv-1e31f771 256Gi RWO Delete Bound openshift-storage/ocs-deviceset-localblock-2-data-0-6xhkf localblock 24h local-pv-ec7f2b80 256Gi RWO Delete Bound openshift-storage/ocs-deviceset-localblock-1-data-0-hr2fx localblock 24h local-pv-8137c873 256Gi RWO Delete Available localblock 32mCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 장치에 사용할 새 OSD를 만듭니다.
새 OSD를 배포합니다. Operator가 조정하도록
rook-ceph-operator를 다시 시작해야 합니다.rook-ceph-operator의 이름을 확인합니다.oc get -n openshift-storage pod -l app=rook-ceph-operator
$ oc get -n openshift-storage pod -l app=rook-ceph-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
NAME READY STATUS RESTARTS AGE rook-ceph-operator-85f6494db4-sg62v 1/1 Running 0 1d20h
NAME READY STATUS RESTARTS AGE rook-ceph-operator-85f6494db4-sg62v 1/1 Running 0 1d20hCopy to Clipboard Copied! Toggle word wrap Toggle overflow rook-ceph-operator를 삭제합니다.oc delete -n openshift-storage pod rook-ceph-operator-85f6494db4-sg62v
$ oc delete -n openshift-storage pod rook-ceph-operator-85f6494db4-sg62vCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
pod "rook-ceph-operator-85f6494db4-sg62v" deleted
pod "rook-ceph-operator-85f6494db4-sg62v" deletedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서 rook-ceph-operator Pod 이름은
rook-ceph-operator-85f6494db4-sg62v입니다.rook-ceph-operatorPod가 다시 시작되었는지 확인합니다.oc get -n openshift-storage pod -l app=rook-ceph-operator
$ oc get -n openshift-storage pod -l app=rook-ceph-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
NAME READY STATUS RESTARTS AGE rook-ceph-operator-85f6494db4-wx9xx 1/1 Running 0 50s
NAME READY STATUS RESTARTS AGE rook-ceph-operator-85f6494db4-wx9xx 1/1 Running 0 50sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 OSD를 생성하려면 Operator를 다시 시작한 후 몇 분이 걸릴 수 있습니다.
ocs-osd-removal작업을 삭제합니다.oc delete -n openshift-storage job ocs-osd-removal-job
$ oc delete -n openshift-storage job ocs-osd-removal-jobCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
job.batch "ocs-osd-removal-job" deleted
job.batch "ocs-osd-removal-job" deletedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
데이터 암호화와 함께 외부 키 관리 시스템(KMS)을 사용하는 경우 이제 고립된 키가기 때문에 이전 OSD 암호화 키를 Vault 서버에서 제거할 수 있습니다.
검증 단계
실행 중인 새 OSD가 있는지 확인합니다.
oc get -n openshift-storage pods -l app=rook-ceph-osd
$ oc get -n openshift-storage pods -l app=rook-ceph-osdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
rook-ceph-osd-0-76d8fb97f9-mn8qz 1/1 Running 0 23m rook-ceph-osd-1-7c99657cfb-jdzvz 1/1 Running 1 25h rook-ceph-osd-2-5f9f6dfb5b-2mnw9 1/1 Running 0 25h
rook-ceph-osd-0-76d8fb97f9-mn8qz 1/1 Running 0 23m rook-ceph-osd-1-7c99657cfb-jdzvz 1/1 Running 1 25h rook-ceph-osd-2-5f9f6dfb5b-2mnw9 1/1 Running 0 25hCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 PVC가 생성되었는지 확인합니다.
oc get -n openshift-storage pvc | grep localblock
$ oc get -n openshift-storage pvc | grep localblockCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
ocs-deviceset-localblock-0-data-0-q4q6b Bound local-pv-8137c873 256Gi RWO localblock 10m ocs-deviceset-localblock-1-data-0-hr2fx Bound local-pv-ec7f2b80 256Gi RWO localblock 1d20h ocs-deviceset-localblock-2-data-0-6xhkf Bound local-pv-1e31f771 256Gi RWO localblock 1d20h
ocs-deviceset-localblock-0-data-0-q4q6b Bound local-pv-8137c873 256Gi RWO localblock 10m ocs-deviceset-localblock-1-data-0-hr2fx Bound local-pv-ec7f2b80 256Gi RWO localblock 1d20h ocs-deviceset-localblock-2-data-0-6xhkf Bound local-pv-1e31f771 256Gi RWO localblock 1d20hCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 클러스터에서 클러스터 전체 암호화를 사용하는 경우 새 OSD 장치가 암호화되었는지 확인합니다.
새 OSD 포드가 실행 중인 노드를 식별합니다.
oc get -n openshift-storage -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name>
$ oc get -n openshift-storage -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <OSD-pod-name>는 OSD 포드의 이름입니다.
예를 들면 다음과 같습니다.
oc get -n openshift-storage -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
$ oc get -n openshift-storage -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqmCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
NODE compute-1
NODE compute-1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이전에 식별한 각 노드에 대해 다음을 수행합니다.
디버그 Pod를 생성하고 선택한 호스트에 대한 chroot 환경을 엽니다.
oc debug node/<node name>
$ oc debug node/<node name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <node name>노드의 이름입니다.
chroot /host
$ chroot /hostCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ocs-deviceset이름 옆에crypt키워드가 있는지 확인합니다.lsblk
$ lsblkCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- OpenShift 웹 콘솔에 로그인하고 스토리지 섹션에서 OpenShift Data Foundation 대시보드의 상태 카드를 확인합니다.
전체 데이터 복구는 복구되는 데이터 볼륨에 따라 더 오래 걸릴 수 있습니다.