Site icon techbeatly

How to Fix a Failed PV in OpenShift Cluster

Image :ย https://premierevanlines.com

There are several cases a PV (PersistentVolume) appear as Failed in OpenShift or Kubernetes cluster. Once of the reason is wrong ClaimRef by which PV will mark as claimed but actually not in use. Letโ€™s see one example.

# oc get pv |grep lv-1g-110
lv-1g-110 1Gi RWO,ROX,RWX Recycle Failed newproject/postgresql-test-dep 26d

From above snippet we can understand that, the PV lv-1g-110 is claimed by a PVC (PersistentVolumeClaim) named postgresql-test-dep and this is under projectย newproject. So let us check that PVC details.

# oc get pvc -n newproject | grep postgresql-test-dep
# oc get pvc -n newproject | grep lv-1g-110
#

Aah ! now we got confused; there is no such PVC called postgresql-test-dep or anything with lv-1g-110. Means, lv-1g-110 is stuck with some wrong claim. Let us see what is holding inside PV config.

# oc describe pv lv-1g-110 |grep Claim
Claim: newproject/postgresql-test-de

No wonder, we can see the PV got a ClaimRef for a PVC which doesnโ€™t exist at all ! Letโ€™s remove this.

Method 1 : Using oc edit

oc edit and remove those ClaimRef lines.

# oc edit pv lv-1g-110

Then remove below lines and save it.

claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: postgresql-test-de
namespace: newproject
resourceVersion: "569221692"
uid: 44aa4a1a-e3fd-11e8-83ad-65efe91e200

Method 2 : Using oc patch

# oc patch pv/lv-1g-110 --type json -p '[{ "op": "remove", "path": "/spec/claimRef" }]'

Now we check the pv status.

# oc get pv |grep lv-5g-293
lv-1g-110 1Gi RWO,ROX,RWX Recycle Available 8

Thatโ€™s all; our pv is Available for next claim.

Exit mobile version