This page describes storage-related errors you might experience when using Backup for GKE, things to consider when performing the action, and steps on how to troubleshoot the issue.
Error 100010105: Failed to backup PersistentVolumeClaim - Disk referenced by PersistentVolume does not exist
Error 100010105
occurs when an attempt to back up a PersistentVolumeClaim
fails because it references a disk that doesn't exist, resulting in an error
message stating Failed to backup PersistentVolumeClaim - Disk referenced by PersistentVolume does not exist
.
In Google Kubernetes Engine, PersistentVolumeClaims
request storage from
PersistentVolumes
. A PersistentVolume
, in turn, represents a piece of
storage, often an underlying Compute Engine Persistent Disk. An error can occur
when a PersistentVolumeClaim
is bound to a
PersistentVolume
and the PersistentVolume
's configuration specifies a
Compute Engine Persistent Disk. However, the actual disk with the name and
location specified in the PersistentVolume
configuration cannot be found in
your Google Cloud project. Thus, Backup for GKE cannot proceed with backing up
a non-existent disk, and a failure occurs.
To resolve this error, use the following instructions:
Identify the problematic
PersistentVolumeClaim
andPersistentVolume
. The names of both the problematicPersistentVolumeClaim
and its associatedPersistentVolume
are listed in thestate reason
field of your failed Backup for GKE operation. We recommend documenting both thePersistentVolumeClaim
name, its namespace, and the name of thePersistentVolume
.Inspect the
PersistentVolume
. To describe thePersistentVolume
, use thePersistentVolume
name you identified from the state reason field in the following command:kubectl describe pv PERSISTENTVOLUME_NAME
Replace
PERSISTENTVOLUME_NAME
with the name of your PersistentVolume.In the output, examine the
source
section, specifically undercsi
. This section describes theVolumeHandle
that thePersistentVolume
is trying to reference. For example:Source: Type: GCEPersistentDisk (a Persistent Disk resource in Google Compute Engine) PDName: my-non-existent-disk FSType: ext4 Partition: 0 ReadOnly: false In this example, the PD name is my-non-existent-disk. Source: Type: CSI (a Container Storage Interface (CSI) volume) Driver: pd.csi.storage.gke.io VolumeHandle: projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME ...
In this example, the
VolumeHandle
contains the full path to the disk, including its name and location. For example,projects/my-gcp-project/zones/us-central1-a/disks/my-disk-name
.Use the
VolumeHandle
obtained from thePersistentVolume
description to identify the disk name and zone.Verify that the disk exists in your Google Cloud project by using one of the following methods:
Zonal disk
If you're using a zonal disk, use Google Cloud CLI to run the
gcloud compute disks describe
command:gcloud compute disks describe DISK_NAME \ --zone=ZONE_NAME \ --project=PROJECT_ID
Replace the following:
DISK_NAME
: the name of the disk you obtained from thePersistentVolume
description.ZONE_NAME
: the zone of the disk you obtained from thePersistentVolume
description.PROJECT_ID
: your Google Cloud project ID.
Regional disk
If you're using a regional disk, use Google Cloud CLI to run the
gcloud compute disks describe
command:gcloud compute disks describe DISK_NAME \ --region=REGION_NAME \ --project=PROJECT_ID
Replace the following:
DISK_NAME
: the name of the disk you obtained from thePersistentVolume
description.REGION_NAME
: the region of the disk you obtained from thePersistentVolume
description.PROJECT_ID
: your Google Cloud project ID.
If you get a
Resource not found
orThe resource DISK_NAME was not found
error message, the disk doesn't exist. Use one of the following methods to resolve the issue depending on the scenario that best fits your needs:If the disk was accidentally deleted or misnamed and you want to keep the data or
PersistentVolumeClaim
, or thePersistentVolume
was configured with an incorrect disk name, use one of the following methods to resolve the issue:Restore the disk: if you have a backup of the disk, restore it with the exact same name and location that the
PersistentVolume
references.Create a new disk: if restoring the disk isn't an option, create a new disk with the same name and location that's in the
PersistentVolume
configuration.
If the
PersistentVolumeClaim
orPersistentVolume
, their data, or the application are no longer needed, we recommend removing the unneeded entity:- Delete the
PersistentVolumeClaim
: delete thePersistentVolumeClaim
by using thekubectl
command-line tool to run thekubectl delete pvc
command:
kubectl delete pvc PVC_NAME -n NAMESPACE
Replace the following:
PVC_NAME
: the name of thePersistentVolumeClaim
you want to delete.NAMESPACE
: the namespace of thePersistentVolumeClaim
you want to delete.
- Delete the
The
PersistentVolume
is still present after you delete thePersistentVolumeClaim
: if thePersistentVolume
'sPersistentVolumeReclaimPolicy
is set toDelete
, thePersistentVolume
is automatically deleted when thePersistentVolumeClaim
is deleted. If thepersistentVolumeReclaimPolicy
is set toRetain
, you need to manually delete thePersistentVolume
after thePersistentVolumeClaim
is deleted. To delete thePersistentVolume
, use thekubectl
command-line tool to run thekubectl delete pv
command:kubectl delete pv PV_NAME
Replace
PV_NAME
with the name of thePersistentVolume
you want to delete.
If the operation continues to fail, contact Cloud Customer Care for further assistance.