What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Troubleshoot a Kubernetes persistent-volume failure by identifying the stage that is failing—claim binding, provisioning, pod attachment or mount, snapshot, resize, or backend health—before attempting recovery. Start with the PVC, PV, StorageClass, consuming Pod, and their events; protect the underlying data; then follow the recovery procedure for the cluster version, CSI driver, and storage provider.

What to collect before changing a volume

Record the cluster and storage context while the failure is still visible. PVC conditions and events often show whether a claim is waiting for a matching volume, a provisioner, or some other requirement. A PVC marked Bound confirms a claim-to-volume binding; it does not establish that a Pod can attach or mount that volume.

  • Namespace, PVC name, PV name, and consuming Pod name.
  • Pod’s assigned node, if it has one, and the node’s health.
  • StorageClass name and relevant parameters.
  • Kubernetes version, CSI driver version, external-provisioner and other relevant sidecar versions, and storage-backend version.
  • Exact PVC, PV, Pod, and event messages, including when they appeared.

These commands are starting points; adjust names, namespace, access permissions, and scope for your cluster:

kubectl get pvc,pv -A
kubectl describe pvc <claim> -n <namespace>
kubectl describe pv <volume>
kubectl describe pod <pod> -n <namespace>
kubectl get sc
kubectl describe sc <storage-class>
kubectl get events -n <namespace> --sort-by=.lastTimestamp

Also inspect the relevant CSI controller and node components’ status and logs using the names and locations documented for your driver. Preserve the exact error text: a provisioning error, an attach conflict, and a mount-option error point to different parts of the path.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall

Why is the PVC stuck in Pending?

A Pending claim has not completed binding. Use its events and compare what it requests with what the cluster can provide before changing the claim or storage configuration.

No suitable existing PV

Check whether a PV is available and whether its capacity, access mode, and StorageClass match the claim. A mismatch can prevent binding even when a volume exists. Compare the claim’s requested storage and access mode with the PV’s declared properties.

Dynamic provisioning is not completing

For a dynamically provisioned claim, check that the requested StorageClass exists, inspect its provisioner and parameters, and verify that the corresponding CSI provisioner is running and able to reach the storage system. Compare the request with class parameters, topology requirements, and provider capacity. Events and provisioner logs help separate “no matching volume” from a failed request to the backend.

StorageClass defaults and driver behavior affect which class is selected and how a volume is created. Do not assume a missing class, a class default, or a provider-specific parameter without checking the actual cluster configuration.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Why is a Bound PVC failing in the Pod?

Once a claim is Bound, follow the Pod path: scheduling, volume attachment, mount, then container startup. The Pod’s events identify which stage has reported a problem; the node and CSI components involved narrow down where to look next.

Scheduling or node placement

Check whether the Pod is scheduled and which node it targets. If it is not scheduled, examine Pod events and the volume’s topology or access requirements. If the node is unhealthy or the driver is not installed and ready there, the volume may not reach the mount stage.

Attachment failure

Inspect events and CSI controller status or logs for attachment errors. Check the provider’s view of the volume for an existing attachment or other backend restriction, and verify that the volume’s access mode is compatible with how the workload is using it. A Kubernetes object alone may not reveal a backend attachment conflict.

Mount failure

Inspect the CSI node component on the selected node, the Pod events, and the provider’s data-path status. Check mount options in the PV or StorageClass configuration: Kubernetes does not validate mount options, so an invalid option can be accepted in the resource and still cause mounting to fail.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some node failures allow Kubernetes to reattach a volume, but that behavior does not cover every driver, backend, or failure mode. Use the storage provider’s documented recovery procedure for the observed attachment or mount error rather than treating reattachment as a universal repair.

How do you tell whether Kubernetes or the backend is reporting a problem?

Kubernetes may expose CSI volume-health information, but only when the feature gate and the required driver and monitor-sidecar support are present and enabled. The node and controller reports are independent, so inspect both where applicable.

Supported reports can include states such as Inaccessible, DataLoss, Degraded, StorageUnreachable, or StorageDegraded. Treat these as health signals to investigate with the driver and provider, not as automatic recovery instructions: Kubernetes exposes the reports but does not automatically reschedule Pods, fail over volumes, or otherwise remediate based on them.

If health fields are absent, first verify that the driver, sidecar, feature gate, and deployment configuration support reporting. Missing fields do not establish that the backend is healthy. Compare Kubernetes events and CSI logs with the provider’s own status for the volume.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How do you protect data while recovering a claim or snapshot?

Before deleting or recreating a claim, inspect the PV’s persistentVolumeReclaimPolicy. Dynamically provisioned PVs inherit a reclaim policy from their StorageClass. With Delete, deleting the claim can delete the underlying storage asset; with Retain, the volume is preserved for manual recovery. Confirm the actual PV policy rather than inferring it from a class that may have changed.

Recovering a retained PV

When a PVC is deleted and the PV uses Retain, the PV can enter Released. Manual reuse requires reserving the volume for the intended claim with claimRef and verifying the PV/PVC identity before allowing a workload to write. Follow the storage provider’s procedure for the underlying asset as well; a Kubernetes PV object and its backend storage must refer to the same intended data.

Checking snapshot state and deletion behavior

Inspect the VolumeSnapshot and its status before cleanup. Its deletion policy determines whether deleting the Kubernetes snapshot also deletes the underlying snapshot content. PVC source protection can also delay PVC deletion while a snapshot operation is in progress. Check the provider’s snapshot or backup tooling as well as Kubernetes snapshot objects when deciding whether a recoverable copy exists.

For any recovery path, consider data-loss risk and reversibility, whether an existing snapshot or backup can be restored, driver and version support, and the application’s downtime and consistency requirements. The right action depends on those conditions; there is no universal repair command.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

How should you investigate a stalled volume expansion?

Resize failures are distinct from binding and mount failures. Confirm that the StorageClass has allowVolumeExpansion enabled and that the CSI integration and storage system support expansion. Kubernetes volume expansion grows storage; it does not shrink a PVC below its current size.

Inspect the PVC’s status and events to see whether the request is waiting or has been rejected. Retry only with a size the provider can support, using its capacity guidance. Do not treat editing the request as proof that the backend volume or filesystem has finished growing.

What if a PV or storage asset disappeared after deletion?

Record the order in which the PVC, PV, and any related resources were deleted, then check the Kubernetes and CSI external-provisioner versions. Reclaim behavior can depend on their versions and deletion order.

Kubernetes v1.31 release guidance describes a change to CSI PV deletion order and specifies Kubernetes v1.31 with external-provisioner v5.0.1 or later for the newer behavior. This version-specific guidance is not a general fix for other Kubernetes releases, CSI drivers, or provider behavior; verify the release-matched and driver-specific procedure before trying to recover or recreate the asset.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Which recovery path fits the symptom?

Observed symptom First place to investigate Recovery focus
PVC is Pending PVC events, matching PVs, StorageClass, provisioner status and logs Resolve a binding mismatch or follow the provisioner’s documented backend recovery.
PVC is Bound, Pod cannot attach Pod events, node placement and health, CSI controller, provider attachment state Resolve the identified attachment or access restriction using the driver’s and provider’s guidance.
Pod reaches mount but fails there Pod events, CSI node component, mount options, provider data path Correct the specific mount or data-path failure; Kubernetes does not validate mount options.
Volume health indicates degradation or is not reported Driver and monitor support, node and controller reports, provider health Use the health signal to investigate; confirm reporting support when fields are absent.
Snapshot or expansion stalls Snapshot status and deletion policy, PVC status and events, class and CSI support Follow the snapshot or expansion constraints and provider procedure for that operation.
PV or backend asset disappeared after deletion Actual reclaim policy, deletion order, Kubernetes and external-provisioner versions Use release- and driver-matched reclaim guidance; first determine whether the backend data still exists.

After identifying the stage, match the recovery instructions to the installed Kubernetes, CSI driver, sidecar, and backend versions. A successful Kubernetes reconciliation or a healthy-looking resource is not, by itself, confirmation that the storage data is accessible or intact.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.