VM 연결 디스크를 복원한 후 라벨 정리

이 페이지에서는 가상 머신 (VM)에 연결된 디스크의 백업에서 복원된 디스크를 사용할 때 발생할 수 있는 데이터 손실을 방지하거나 복원 실패를 해결하는 방법을 안내합니다.

VM에 연결된 개별 디스크를 복원하면 복원된 디스크 리소스와 기본 PersistentVolumeClaim(PVC) 리소스에 특정 라벨이 남을 수 있습니다. 설명된 대로 라벨을 삭제하지 않으면 다음과 같은 결과가 발생할 수 있습니다.

  • 후속 전체 VM 복원 작업 중 오류
  • 후속 전체 VM 복원 중에 복원된 디스크의 기본 PVC가 의도치 않게 수정되거나 교체되어 복원된 디스크의 데이터가 손실될 수 있습니다.

시작하기 전에

VM 연결 디스크를 복원한 후 라벨을 정리하려면 다음이 필요합니다.

  • 필요한 ID 및 액세스 역할입니다. 조직 IAM 관리자에게 DBS 디버거 (dbs-debugger) 역할을 부여해 달라고 요청합니다.
  • 이러한 리소스를 관리하는 클러스터의 적절한 kubeconfig 파일에 대한 액세스 권한
  • kubectl 명령줄 도구가 설치 및 구성되어 있어야 합니다.

라벨 정리

VirtualMachineDisk 리소스와 기본 PersistentVolumeClaim (PVC) 리소스 모두에 대해 정리 작업을 실행해야 합니다.

VM 디스크 라벨 정리

복원된 VM 디스크의 라벨을 정리하려면 다음 단계를 따르세요.

  1. 관리 API 서버의 kubeconfig 파일을 가져와 KUBECONFIG 환경 변수를 설정합니다.

    export KUBECONFIG=PATH_TO_MANAGEMENT_API_KUBECONFIG
    

    PATH_TO_MANAGEMENT_API_KUBECONFIG를 kubeconfig 파일의 경로로 바꿉니다. 자세한 내용은 영역 관리 API 서버 리소스를 참고하세요.

  2. 복원된 VirtualMachineDisk 리소스가 지정된 네임스페이스에 있는지 확인합니다.

    kubectl get virtualmachinedisks.virtualmachine.gdc.goog \
    -n NAMESPACE RESTORED_VM_DISK_NAME
    

    다음을 바꿉니다.

    • NAMESPACE: 프로젝트 네임스페이스입니다.
    • RESTORED_VM_DISK_NAME: 필수 항목에서 수집된 값을 사용하여 복원된 디스크의 전체 이름입니다. 이 변수의 값은 RESTORED_PREFIX~VM_DISK_NAME에서 파생될 수 있습니다.
  3. VirtualMachineDisk 리소스에서 백업 범위 라벨을 삭제합니다. 라벨 키 뒤에 오는 하이픈은 삭제를 의미합니다.

    kubectl label virtualmachinedisks.virtualmachine.gdc.goog -n NAMESPACE \
        RESTORED_VM_DISK_NAME bpvms/VM_NAME-
    

    VM_NAME을 복원된 VM의 이름으로 바꿉니다.

  4. 선택사항: bpvms/VM_NAME 라벨이 더 이상 표시되지 않는지 확인하려면 특정 리소스 유형과 클러스터에 맞게 조정하여 해당 kubectl get 명령어를 다시 실행하면 됩니다.

    kubectl get virtualmachinedisks.virtualmachine.gdc.goog \
    -n NAMESPACE VM_NAME
    

PVC 라벨 정리

기본 PVC의 라벨을 정리하려면 다음 단계를 따르세요.

  1. 조직 인프라 클러스터의 kubeconfig 파일을 가져오고 KUBECONFIG 환경 변수를 설정합니다.

    export KUBECONFIG=PATH_TO_ORG_INFRA_KUBECONFIG
    

    PATH_TO_ORG_INFRA_KUBECONFIG를 kubeconfig 파일의 경로로 바꿉니다.

  2. 복원된 디스크의 기본 PVC가 지정된 네임스페이스에 있는지 확인합니다.

    kubectl get pvc -n NAMESPACE \
        RESTORED_VM_DISK_NAME
    

    다음을 바꿉니다.

    • NAMESPACE: 프로젝트 네임스페이스입니다.
    • RESTORED_VM_DISK_NAME: 복원된 VM 디스크의 이름입니다.
  3. PVC에서 백업 범위 라벨을 삭제합니다. 라벨 키 뒤에 오는 하이픈은 삭제를 의미합니다.

    kubectl label pvc -n NAMESPACE RESTORED_VM_DISK_NAME bpvms/VM_NAME-
    

    VM_NAME을 복원된 VM의 이름으로 바꿉니다.

  4. 선택사항: bpvms/VM_NAME 라벨이 더 이상 표시되지 않는지 확인하려면 특정 리소스 유형과 클러스터에 맞게 조정하여 해당 kubectl get 명령어를 다시 실행하면 됩니다.

    kubectl get pvc -n NAMESPACE \
        VM_NAME