이 페이지에서는 GKE용 백업을 사용할 때 발생할 수 있는 스토리지 관련 오류, 작업을 실행할 때 고려해야 할 사항, 문제를 해결하는 단계를 설명합니다.
오류 100010105: PersistentVolumeClaim 백업 실패 - PersistentVolume에서 참조하는 디스크가 존재하지 않음
PersistentVolumeClaim
백업 시도가 존재하지 않는 디스크를 참조하여 실패하면 오류 100010105
가 발생하며, 그 결과 Failed to backup PersistentVolumeClaim - Disk referenced by PersistentVolume does not exist
라는 오류 메시지가 표시됩니다.
Google Kubernetes Engine에서 PersistentVolumeClaims
는 PersistentVolumes
에서 스토리지를 요청합니다. PersistentVolume
는 스토리지 조각(일반적으로 기본 Compute Engine 영구 디스크)을 나타냅니다. PersistentVolumeClaim
가 PersistentVolume
에 바인딩되고 PersistentVolume
의 구성이 Compute Engine 영구 디스크를 지정하는 경우 오류가 발생할 수 있습니다. 하지만 PersistentVolume
구성에 지정된 이름과 위치가 있는 실제 디스크를 Google Cloud 프로젝트에서 찾을 수 없습니다. 따라서 Backup for GKE는 존재하지 않는 디스크의 백업을 진행할 수 없으며 오류가 발생합니다.
이 오류를 해결하려면 다음 안내를 따르세요.
문제가 있는
PersistentVolumeClaim
및PersistentVolume
를 식별합니다. 문제가 있는PersistentVolumeClaim
와 연결된PersistentVolume
의 이름이 모두 실패한 Backup for GKE 작업의state reason
필드에 나열됩니다.PersistentVolumeClaim
이름, 네임스페이스,PersistentVolume
이름을 모두 문서화하는 것이 좋습니다.PersistentVolume
을 검사합니다.PersistentVolume
를 설명하려면 다음 명령어의 상태 이유 필드에서 식별한PersistentVolume
이름을 사용하세요.kubectl describe pv PERSISTENTVOLUME_NAME
PERSISTENTVOLUME_NAME
을 PersistentVolume 이름으로 바꿉니다.출력에서
source
섹션, 특히csi
아래를 검사합니다. 이 섹션에서는PersistentVolume
가 참조하려고 하는VolumeHandle
를 설명합니다. 예를 들면 다음과 같습니다.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 ...
이 예에서
VolumeHandle
에는 이름과 위치를 포함한 디스크의 전체 경로가 포함됩니다. 예를 들면projects/my-gcp-project/zones/us-central1-a/disks/my-disk-name
입니다.PersistentVolume
설명에서 가져온VolumeHandle
를 사용하여 디스크 이름과 영역을 식별합니다.다음 방법 중 하나를 사용하여 디스크가 Google Cloud 프로젝트에 있는지 확인합니다.
영역 디스크
영역 디스크를 사용하는 경우 Google Cloud CLI를 사용하여
gcloud compute disks describe
명령어를 실행합니다.gcloud compute disks describe DISK_NAME \ --zone=ZONE_NAME \ --project=PROJECT_ID
다음을 바꿉니다.
DISK_NAME
:PersistentVolume
설명에서 가져온 디스크의 이름입니다.ZONE_NAME
:PersistentVolume
설명에서 가져온 디스크의 영역입니다.PROJECT_ID
: Google Cloud 프로젝트 ID입니다.
리전 디스크
리전 디스크를 사용하는 경우 Google Cloud CLI를 사용하여
gcloud compute disks describe
명령어를 실행합니다.gcloud compute disks describe DISK_NAME \ --region=REGION_NAME \ --project=PROJECT_ID
다음을 바꿉니다.
DISK_NAME
:PersistentVolume
설명에서 가져온 디스크의 이름입니다.REGION_NAME
:PersistentVolume
설명에서 가져온 디스크의 리전입니다.PROJECT_ID
: Google Cloud 프로젝트 ID입니다.
Resource not found
또는The resource DISK_NAME was not found
오류 메시지가 표시되면 디스크가 존재하지 않는 것입니다. 필요에 가장 적합한 시나리오에 따라 다음 방법 중 하나를 사용하여 문제를 해결하세요.디스크가 실수로 삭제되었거나 이름이 잘못 지정되었으며 데이터 또는
PersistentVolumeClaim
를 유지하려는 경우 또는PersistentVolume
가 잘못된 디스크 이름으로 구성된 경우 다음 방법 중 하나를 사용하여 문제를 해결하세요.디스크 복원: 디스크 백업이 있는 경우
PersistentVolume
에서 참조하는 것과 정확히 동일한 이름과 위치로 복원합니다.새 디스크 만들기: 디스크 복원이 옵션이 아닌 경우
PersistentVolume
구성에 있는 것과 동일한 이름과 위치로 새 디스크를 만듭니다.
PersistentVolumeClaim
또는PersistentVolume
, 해당 데이터 또는 애플리케이션이 더 이상 필요하지 않은 경우 불필요한 항목을 삭제하는 것이 좋습니다.PersistentVolumeClaim
삭제:kubectl
명령줄 도구를 사용하여kubectl delete pvc
명령어를 실행하여PersistentVolumeClaim
를 삭제합니다.
kubectl delete pvc PVC_NAME -n NAMESPACE
다음을 바꿉니다.
PVC_NAME
: 삭제할PersistentVolumeClaim
의 이름입니다.NAMESPACE
: 삭제하려는PersistentVolumeClaim
의 네임스페이스입니다.
PersistentVolumeClaim
를 삭제한 후에도PersistentVolume
가 계속 표시됨:PersistentVolume
의PersistentVolumeReclaimPolicy
이Delete
로 설정된 경우PersistentVolumeClaim
가 삭제되면PersistentVolume
가 자동으로 삭제됩니다.persistentVolumeReclaimPolicy
이Retain
로 설정된 경우PersistentVolumeClaim
가 삭제된 후PersistentVolume
를 수동으로 삭제해야 합니다.PersistentVolume
를 삭제하려면kubectl
명령줄 도구를 사용하여kubectl delete pv
명령어를 실행하세요.kubectl delete pv PV_NAME
PV_NAME
을 삭제할PersistentVolume
의 이름으로 바꿉니다.
작업이 계속 실패하면 Cloud Customer Care에 문의하여 추가 지원을 받으세요.