このコンテンツは選択した言語では利用できません。
Chapter 5. OpenShift Data Foundation deployed using local storage devices
5.1. Replacing operational or failed storage devices on clusters backed by local storage devices リンクのコピーリンクがクリップボードにコピーされました!
You can replace an object storage device (OSD) in OpenShift Data Foundation deployed using local storage devices on the following infrastructures:
- Bare metal / Agnostic deployment
- VMware
- IBM Z and IBM® LinuxONE
There might be a need to replace one or more underlying storage devices.
Prerequisites
- Red Hat recommends that replacement devices are configured with similar infrastructure and resources to the device being replaced.
Ensure that the data is resilient.
-
In the OpenShift Web Console, click Storage
Data Foundation. -
Click the Storage Systems tab, and then click
ocs-storagecluster. - In the Status card of Block and File dashboard, under the Overview tab, verify that Data Resiliency has a green tick mark.
-
In the OpenShift Web Console, click Storage
Procedure
- Remove the underlying storage device from relevant worker node.
Verify that relevant OSD Pod has moved to CrashLoopBackOff state.
Identify the OSD that needs to be replaced and the OpenShift Container Platform node that has the OSD scheduled on it.
$ oc get -n openshift-storage pods -l app=rook-ceph-osd -o wideExample output:
rook-ceph-osd-0-6d77d6c7c6-m8xj6 0/1 CrashLoopBackOff 0 24h 10.129.0.16 compute-2 <none> <none> rook-ceph-osd-1-85d99fb95f-2svc7 1/1 Running 0 24h 10.128.2.24 compute-0 <none> <none> rook-ceph-osd-2-6c66cdb977-jp542 1/1 Running 0 24h 10.130.0.18 compute-1 <none> <none>In this example,
rook-ceph-osd-0-6d77d6c7c6-m8xj6needs to be replaced andcompute-2is the OpenShift Container platform node on which the OSD is scheduled.Scale down the
rook-ceph-operatordeployment.$ oc -n openshift-storage scale deployment rook-ceph-operator --replicas=0Scale down the OSD deployment for the OSD to be replaced.
$ osd_id_to_remove=0$ oc scale -n openshift-storage deployment rook-ceph-osd-${osd_id_to_remove} --replicas=0where,
osd_id_to_removeis the integer in the pod name immediately after therook-ceph-osdprefix. In this example, the deployment name isrook-ceph-osd-0.Example output:
deployment.extensions/rook-ceph-osd-0 scaledVerify that the
rook-ceph-osdpod is terminated.$ oc get -n openshift-storage pods -l ceph-osd-id=${osd_id_to_remove}Example output:
No resources found in openshift-storage namespace.ImportantIf the
rook-ceph-osdpod is interminatingstate for more than a few minutes, use theforceoption to delete the pod.$ oc delete -n openshift-storage pod rook-ceph-osd-0-6d77d6c7c6-m8xj6 --grace-period=0 --forceExample output:
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-6d77d6c7c6-m8xj6" force deletedRemove the old OSD from the cluster so that you can add a new OSD.
Delete any old
ocs-osd-removaljobs.$ oc delete -n openshift-storage job ocs-osd-removal-jobExample output:
job.batch "ocs-osd-removal-job" deletedNoteThe above command must reach
Completedstate before moving to the next steps. This can take more than ten minutes.Navigate to the
openshift-storageproject.$ oc project openshift-storageRemove the old OSD from the cluster.
$ oc process -n openshift-storage ocs-osd-removal -p FAILED_OSD_IDS=${osd_id_to_remove} FORCE_OSD_REMOVAL=false |oc create -n openshift-storage -f -The FORCE_OSD_REMOVAL value must be changed to “true” in clusters that only have three OSDs, or clusters with insufficient space to restore all three replicas of the data after the OSD is removed.
WarningProceeding will permanently remove the OSD from the cluster and destroy its data. Ensure
osd_id_to_removeis correct. Do not process multiple IDs from the same failure domain at once. Contact Red Hat Technical Support if you need assistance.
Verify that the OSD was removed successfully by checking the status of the
ocs-osd-removal-jobpod.A status of
Completedconfirms that the OSD removal job succeeded.$ oc get pod -l job-name=ocs-osd-removal-job -n openshift-storageEnsure that the OSD removal is completed.
$ oc logs -l job-name=ocs-osd-removal-job -n openshift-storage --tail=-1 | egrep -i 'completed removal'Example output:
2022-05-10 06:50:04.501511 I | cephosd: completed removal of OSD 0ImportantIf the
ocs-osd-removal-jobfails and the pod is not in the expectedCompletedstate, check the pod logs for further debugging.For example:
# oc logs -l job-name=ocs-osd-removal-job -n openshift-storage --tail=-1If encryption was enabled at the time of install, remove
dm-cryptmanageddevice-mappermapping from the OSDs that are removed from the respective OpenShift Data Foundation nodes.Get the Persistent Volume Claim (PVC) names of the replaced OSDs from the logs of
ocs-osd-removal-jobpod.$ oc logs -l job-name=ocs-osd-removal-job -n openshift-storage --tail=-1 |egrep -i 'pvc|deviceset'Example output:
2021-05-12 14:31:34.666000 I | cephosd: removing the OSD PVC "ocs-deviceset-xxxx-xxx-xxx-xxx"For each of the previously identified nodes, do the following:
Create a
debugpod andchrootto the host on the storage node.$ oc debug node/<node name><node name>Is the name of the node.
$ chroot /host
Find the relevant device name based on the PVC names identified in the previous step.
$ dmsetup ls| grep <pvc name><pvc name>Is the name of the PVC.
Example output:
ocs-deviceset-xxx-xxx-xxx-xxx-block-dmcrypt (253:0)
Remove the mapped device.
$ cryptsetup luksClose --debug --verbose <ocs-deviceset-name><ocs-deviceset-name>Is the name of the relevant device based on the PVC names identified in the previous step.
ImportantIf the above command gets stuck due to insufficient privileges, run the following commands:
-
Press
CTRL+Zto exit the above command. Find the PID of the process which was stuck.
$ ps -ef | grep cryptTerminate the process using the
killcommand.$ kill -9 <PID><PID>- Is the process ID.
Verify that the device name is removed.
$ dmsetup ls
-
Press
Find the persistent volume (PV) that need to be deleted.
$ oc get pv -L kubernetes.io/hostname | grep <storageclass-name> | grep ReleasedExample output:
local-pv-d6bf175b 1490Gi RWO Delete Released openshift-storage/ocs-deviceset-0-data-0-6c5pw localblock 2d22h compute-1Delete the PV.
$ oc delete pv <pv_name>- Physically add a new device to the node.
Track the provisioning of PVs for the devices that match the
deviceInclusionSpec. It can take a few minutes to provision the PVs.$ oc -n openshift-local-storage describe localvolumeset <lvs-name>Example output:
[...] Status: Conditions: Last Transition Time: 2020-11-17T05:03:32Z Message: DiskMaker: Available, LocalProvisioner: Available Status: True Type: DaemonSetsAvailable Last Transition Time: 2020-11-17T05:03:34Z Message: Operator reconciled successfully. Status: True Type: Available Observed Generation: 1 Total Provisioned Device Count: 4 Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Discovered 2m30s (x4 localvolumeset- node.example.com - NewDevice over 2m30s) symlink-controller found possible matching disk, waiting 1m to claim Normal FoundMatch 89s (x4 localvolumeset- node.example.com - ingDisk over 89s) symlink-controller symlinking matching diskOnce the PV is provisioned, a new OSD pod is automatically created for the PV.
Delete the
ocs-osd-removaljob(s).$ oc delete -n openshift-storage job ocs-osd-removal-jobExample output:
job.batch "ocs-osd-removal-job" deletedNoteWhen using an external key management system (KMS) with data encryption, the old OSD encryption key can be removed from the Vault server as it is now an orphan key.
Scale up the
rook-ceph-operatordeployment.$ oc -n openshift-storage scale deployment rook-ceph-operator --replicas=1[Optional] Verify the Ceph cluster health and check if there are any crash reports associated with the previous failed OSD which has now been replaced.
List all crash reports:
$ oc exec -it $(oc get pod -n openshift-storage -l app=rook-ceph-operator -o name) -n openshift-storage -- ceph crash ls -c /var/lib/rook/openshift-storage/openshift-storage.configSample output:
ID ENTITY NEW 2025-09-25T07:12:45Z_1234567890 osd.5 * 2025-09-25T08:20:11Z_abcdef1234 mon.a *Filter crashes for the failed OSD from the previous step. For example, if the failed OSD is
osd.5, run:$ oc exec -it $(oc get pod -n openshift-storage -l app=rook-ceph-operator -o name) -n openshift-storage -- ceph crash ls -c /var/lib/rook/openshift-storage/openshift-storage.config | grep osd.5Note the specif crash report from the output.
Archive the specific crash. Use the crash ID from the previous step:
$ oc exec -it $(oc get pod -n openshift-storage -l app=rook-ceph-operator -o name) -n openshift-storage -- ceph crash archive <crash-id> -c /var/lib/rook/openshift-storage/openshift-storage.configReplace
crash-idwith the crash report.Verify the crash has been archived:
$ oc exec -it $(oc get pod -n openshift-storage -l app=rook-ceph-operator -o name) -n openshift-storage -- ceph crash ls -c /var/lib/rook/openshift-storage/openshift-storage.config
Verification steps
Verify that there is a new OSD running.
$ oc get -n openshift-storage pods -l app=rook-ceph-osdExample output:
rook-ceph-osd-0-5f7f4747d4-snshw 1/1 Running 0 4m47s rook-ceph-osd-1-85d99fb95f-2svc7 1/1 Running 0 1d20h rook-ceph-osd-2-6c66cdb977-jp542 1/1 Running 0 1d20hImportantIf the new OSD does not show as
Runningafter a few minutes, restart therook-ceph-operatorpod to force a reconciliation.$ oc delete pod -n openshift-storage -l app=rook-ceph-operatorExample output:
pod "rook-ceph-operator-6f74fb5bff-2d982" deletedVerify that a new PVC is created.
$ oc get -n openshift-storage pvc | grep <lvs-name>Example output:
ocs-deviceset-0-0-c2mqb Bound local-pv-b481410 1490Gi RWO localblock 5m ocs-deviceset-1-0-959rp Bound local-pv-414755e0 1490Gi RWO localblock 1d20h ocs-deviceset-2-0-79j94 Bound local-pv-3e8964d3 1490Gi RWO localblock 1d20hOptional: If cluster-wide encryption is enabled on the cluster, verify that the new OSDs are encrypted.
Identify the nodes where the new OSD pods are running.
$ oc get -n openshift-storage -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name><OSD-pod-name>Is the name of the OSD pod.
For example:
$ oc get -n openshift-storage -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqmExample output:
NODE compute-1
For each of the nodes identified in the previous step, do the following:
Create a debug pod and open a chroot environment for the selected host(s).
$ oc debug node/<node name><node name>Is the name of the node.
$ chroot /host
Check for the
cryptkeyword beside theocs-devicesetname(s).$ lsblk
- Log in to OpenShift Web Console and check the OSD status on the storage dashboard.
A full data recovery may take longer depending on the volume of data being recovered.
5.2. Replacing operational or failed storage devices on IBM Power リンクのコピーリンクがクリップボードにコピーされました!
You can replace an object storage device (OSD) in OpenShift Data Foundation deployed using local storage devices on IBM Power.
There might be a need to replace one or more underlying storage devices.
Prerequisites
- Red Hat recommends that replacement devices are configured with similar infrastructure and resources to the device being replaced.
Ensure that the data is resilient.
-
In the OpenShift Web Console, click Storage
Data Foundation. -
Click the Storage Systems tab, and then click
ocs-storagecluster-storagesystem. - In the Status card of Block and File dashboard, under the Overview tab, verify that Data Resiliency has a green tick mark.
-
In the OpenShift Web Console, click Storage
Procedure
Identify the OSD that needs to be replaced and the OpenShift Container Platform node that has the OSD scheduled on it.
$ oc get -n openshift-storage pods -l app=rook-ceph-osd -o wideExample output:
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>In this example,
rook-ceph-osd-0-86bf8cdc8-4nb5tneeds to be replaced andworker-0is the RHOCP node on which the OSD is scheduled.NoteThe status of the pod is
Runningif the OSD you want to replace is healthy.Scale down the OSD deployment for the OSD to be replaced.
$ osd_id_to_remove=0$ oc scale -n openshift-storage deployment rook-ceph-osd-${osd_id_to_remove} --replicas=0where,
osd_id_to_removeis the integer in the pod name immediately after therook-ceph-osdprefix. In this example, the deployment name isrook-ceph-osd-0.Example output:
deployment.extensions/rook-ceph-osd-0 scaledVerify that the
rook-ceph-osdpod is terminated.$ oc get -n openshift-storage pods -l ceph-osd-id=${osd_id_to_remove}Example output:
No resources found in openshift-storage namespace.ImportantIf the
rook-ceph-osdpod is interminatingstate for more than a few minutes, use theforceoption to delete the pod.$ oc delete -n openshift-storage pod rook-ceph-osd-0-86bf8cdc8-4nb5t --grace-period=0 --forceExample output:
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 deletedRemove the old OSD from the cluster so that you can add a new OSD.
Identify the
DeviceSetassociated with the OSD to be replaced.$ oc get -n openshift-storage -o yaml deployment rook-ceph-osd-${osd_id_to_remove} | grep ceph.rook.io/pvcExample output:
ceph.rook.io/pvc: ocs-deviceset-localblock-0-data-0-64xjl ceph.rook.io/pvc: ocs-deviceset-localblock-0-data-0-64xjlIn this example, the Persistent Volume Claim (PVC) name is
ocs-deviceset-localblock-0-data-0-64xjl.Identify the Persistent Volume (PV) associated with the PVC.
$ oc get -n openshift-storage pvc ocs-deviceset-<x>-<y>-<pvc-suffix>where,
x,y, andpvc-suffixare the values in theDeviceSetidentified in an earlier step.Example output:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE ocs-deviceset-localblock-0-data-0-64xjl Bound local-pv-8137c873 256Gi RWO localblock 24hIn this example, the associated PV is
local-pv-8137c873.Identify the name of the device to be replaced.
$ oc get pv local-pv-<pv-suffix> -o yaml | grep pathwhere,
pv-suffixis the value in the PV name identified in an earlier step.Example output:
path: /mnt/local-storage/localblock/vdcIn this example, the device name is
vdc.Identify the
prepare-podassociated with the OSD to be replaced.$ oc describe -n openshift-storage pvc ocs-deviceset-<x>-<y>-<pvc-suffix> | grep Usedwhere,
x,y, andpvc-suffixare the values in theDeviceSetidentified in an earlier step.Example output:
Used By: rook-ceph-osd-prepare-ocs-deviceset-localblock-0-data-0-64knzkcIn this example, the
prepare-podname isrook-ceph-osd-prepare-ocs-deviceset-localblock-0-data-0-64knzkc.Delete any old
ocs-osd-removaljobs.$ oc delete -n openshift-storage job ocs-osd-removal-jobExample output:
job.batch "ocs-osd-removal-job" deletedNoteThe above command must reach
Completedstate before moving to the next steps. This can take more than ten minutes.Change to the
openshift-storageproject.$ oc project openshift-storageRemove the old OSD from the cluster.
$ oc process -n openshift-storage ocs-osd-removal -p FAILED_OSD_IDS=${osd_id_to_remove} FORCE_OSD_REMOVAL=false |oc create -n openshift-storage -f -The FORCE_OSD_REMOVAL value must be changed to “true” in clusters that only have three OSDs, or clusters with insufficient space to restore all three replicas of the data after the OSD is removed.
WarningProceeding will permanently remove the OSD from the cluster and destroy its data. Ensure
osd_id_to_removeis correct. Do not process multiple IDs from the same failure domain at once. Contact Red Hat Technical Support if you need assistance.
Verify that the OSD was removed successfully by checking the status of the
ocs-osd-removal-jobpod.A status of
Completedconfirms that the OSD removal job succeeded.$ oc get pod -l job-name=ocs-osd-removal-job -n openshift-storageEnsure that the OSD removal is completed.
$ oc logs -l job-name=ocs-osd-removal-job -n openshift-storage --tail=-1 | egrep -i 'completed removal'Example output:
2022-05-10 06:50:04.501511 I | cephosd: completed removal of OSD 0ImportantIf the
ocs-osd-removal-jobfails and the pod is not in the expectedCompletedstate, check the pod logs for further debugging.For example:
# oc logs -l job-name=ocs-osd-removal-job -n openshift-storage --tail=-1If encryption was enabled at the time of install, remove
dm-cryptmanageddevice-mappermapping from the OSDs that are removed from the respective OpenShift Data Foundation nodes.Get the PVC name(s) of the replaced OSD(s) from the logs of
ocs-osd-removal-jobpod.$ oc logs -l job-name=ocs-osd-removal-job -n openshift-storage --tail=-1 |egrep -i ‘pvc|deviceset’Example output:
2021-05-12 14:31:34.666000 I | cephosd: removing the OSD PVC "ocs-deviceset-xxxx-xxx-xxx-xxx"For each of the previously identified nodes, do the following:
Create a
debugpod andchrootto the host on the storage node.$ oc debug node/<node name><node name>Is the name of the node.
$ chroot /host
Find the relevant device name based on the PVC names identified in the previous step.
$ dmsetup ls| grep <pvc name><pvc name>Is the name of the PVC.
Example output:
ocs-deviceset-xxx-xxx-xxx-xxx-block-dmcrypt (253:0)
Remove the mapped device.
$ cryptsetup luksClose --debug --verbose ocs-deviceset-xxx-xxx-xxx-xxx-block-dmcryptImportantIf the above command gets stuck due to insufficient privileges, run the following commands:
-
Press
CTRL+Zto exit the above command. Find the PID of the process which was stuck.
$ ps -ef | grep cryptTerminate the process using the
killcommand.$ kill -9 <PID><PID>- Is the process ID.
Verify that the device name is removed.
$ dmsetup ls
-
Press
Find the PV that need to be deleted.
$ oc get pv -L kubernetes.io/hostname | grep localblock | grep ReleasedExample output:
local-pv-d6bf175b 1490Gi RWO Delete Released openshift-storage/ocs-deviceset-0-data-0-6c5pw localblock 2d22h compute-1Delete the PV.
$ oc delete pv <pv-name><pv-name>- Is the name of the PV.
Replace the old device and use the new device to create a new OpenShift Container Platform PV.
Log in to the OpenShift Container Platform node with the device to be replaced. In this example, the OpenShift Container Platform node is
worker-0.$ oc debug node/worker-0Example output:
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 /hostRecord the
/dev/diskthat is to be replaced using the device name,vdc, identified earlier.# ls -alh /mnt/local-storage/localblockExample output:
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/vdcFind the name of the
LocalVolumeCR, and remove or comment out the device/dev/diskthat is to be replaced.$ oc get -n openshift-local-storage localvolumeExample output:
NAME AGE localblock 25h# oc edit -n openshift-local-storage localvolume localblockExample output:
[...] storageClassDevices: - devicePaths: # - /dev/vdc storageClassName: localblock volumeMode: Block [...]Make sure to save the changes after editing the CR.
Log in to the OpenShift Container Platform node with the device to be replaced and remove the old
symlink.$ oc debug node/worker-0Example output:
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 /hostIdentify the old
symlinkfor the device name to be replaced. In this example, the device name isvdc.# ls -alh /mnt/local-storage/localblockExample output:
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/vdcRemove the
symlink.# rm /mnt/local-storage/localblock/vdcVerify that the
symlinkis removed.# ls -alh /mnt/local-storage/localblockExample output:
total 0 drwxr-xr-x. 2 root root 6 Nov 18 17:11 . drwxr-xr-x. 3 root root 24 Nov 18 15:23 ..
- Replace the old device with the new device.
Log back into the correct OpenShift Container Platform node and identify the device name for the new drive. The device name must change unless you are resetting the same device.
# lsblkExample output:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 252:0 0 40G 0 disk |-vda1 252:1 0 4M 0 part |-vda2 252:2 0 384M 0 part /boot `-vda4 252:4 0 39.6G 0 part `-coreos-luks-root-nocrypt 253:0 0 39.6G 0 dm /sysroot vdb 252:16 0 512B 1 disk vdd 252:32 0 256G 0 diskIn this example, the new device name is
vdd.After the new
/dev/diskis available, you can add a new disk entry to the LocalVolume CR.Edit the LocalVolume CR and add the new
/dev/disk.In this example, the new device is
/dev/vdd.# oc edit -n openshift-local-storage localvolume localblockExample output:
[...] storageClassDevices: - devicePaths: # - /dev/vdc - /dev/vdd storageClassName: localblock volumeMode: Block [...]Make sure to save the changes after editing the CR.
Verify that there is a new PV in
Availablestate and of the correct size.$ oc get pv | grep 256GiExample output:
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 32mCreate a new OSD for the new device.
Deploy the new OSD. You need to restart the
rook-ceph-operatorto force operator reconciliation.Identify the name of the
rook-ceph-operator.$ oc get -n openshift-storage pod -l app=rook-ceph-operatorExample output:
NAME READY STATUS RESTARTS AGE rook-ceph-operator-85f6494db4-sg62v 1/1 Running 0 1d20hDelete the
rook-ceph-operator.$ oc delete -n openshift-storage pod rook-ceph-operator-85f6494db4-sg62vExample output:
pod "rook-ceph-operator-85f6494db4-sg62v" deletedIn this example, the rook-ceph-operator pod name is
rook-ceph-operator-85f6494db4-sg62v.Verify that the
rook-ceph-operatorpod is restarted.$ oc get -n openshift-storage pod -l app=rook-ceph-operatorExample output:
NAME READY STATUS RESTARTS AGE rook-ceph-operator-85f6494db4-wx9xx 1/1 Running 0 50sCreation of the new OSD may take several minutes after the operator restarts.
Delete the
ocs-osd-removaljob(s).$ oc delete -n openshift-storage job ocs-osd-removal-jobExample output:
job.batch "ocs-osd-removal-job" deleted
When using an external key management system (KMS) with data encryption, the old OSD encryption key can be removed from the Vault server as it is now an orphan key.
Verfication steps
Verify that there is a new OSD running.
$ oc get -n openshift-storage pods -l app=rook-ceph-osdExample output:
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 25hVerify that a new PVC is created.
$ oc get -n openshift-storage pvc | grep localblockExample output:
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 1d20hOptional: If cluster-wide encryption is enabled on the cluster, verify that the new OSD devices are encrypted.
Identify the nodes where the new OSD pods are running.
$ oc get -n openshift-storage -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name><OSD-pod-name>Is the name of the OSD pod.
For example:
$ oc get -n openshift-storage -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqmExample output:
NODE compute-1
For each of the previously identified nodes, do the following:
Create a debug pod and open a chroot environment for the selected host(s).
$ oc debug node/<node name><node name>Is the name of the node.
$ chroot /host
Check for the
cryptkeyword beside theocs-devicesetname(s).$ lsblk
- Log in to OpenShift Web Console and check the status card in the OpenShift Data Foundation dashboard under Storage section.
A full data recovery may take longer depending on the volume of data being recovered.