Limpar rótulos após restaurar discos anexados à VM
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Esta página mostra como evitar possíveis perdas de dados ou falhas de restauração
ao trabalhar com discos restaurados de backups de discos
conectados a máquinas virtuais (VMs).
A restauração de um disco individual anexado a uma VM pode deixar rótulos específicos no recurso de disco restaurado e no recurso PersistentVolumeClaim (PVC) subjacente. A não remoção dos rótulos conforme descrito pode levar a:
Falhas durante operações de restauração completa de VM subsequentes.
Modificação ou substituição não intencional da PVC subjacente do disco restaurado
durante uma restauração completa subsequente da VM, o que pode levar à perda de dados no
disco restaurado.
Antes de começar
Para limpar os rótulos depois de restaurar um disco anexado a uma VM, você precisa ter o seguinte:
O papel de identidade e acesso necessário. Peça ao administrador do IAM da organização para conceder a você o papel de depurador do DBS (dbs-debugger).
Acesso aos arquivos kubeconfig adequados para os clusters que gerenciam esses recursos.
A ferramenta de linha de comando kubectl instalada e configurada.
Limpar marcadores
É necessário limpar o recurso VirtualMachineDisk e o recurso PersistentVolumeClaim (PVC) subjacente.
Limpar os rótulos de disco da VM
Para limpar os rótulos de um disco de VM restaurado, siga estas etapas:
Consiga o arquivo kubeconfig para o servidor da API de gerenciamento e defina a
variável de ambiente KUBECONFIG:
RESTORED_VM_DISK_NAME: o nome completo do disco restaurado usando os valores coletados nos pré-requisitos. O valor dessa variável pode ser derivado de RESTORED_PREFIX-VM_DISK_NAME.
Remova o rótulo do escopo de backup do recurso VirtualMachineDisk. O hífen à direita após a chave do rótulo significa remoção:
Opcional: para verificar se o rótulo bpvms/VM_NAME não está mais presente, execute novamente o comando kubectl get correspondente, ajustando para o tipo de recurso e cluster específicos:
Opcional: para verificar se o rótulo bpvms/VM_NAME não está mais presente, execute novamente o comando kubectl get correspondente, ajustando para o tipo de recurso e cluster específicos:
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-04 UTC."],[],[],null,["# Clean up labels after restoring VM-attached disks\n\nThis page guides you through how to prevent potential data loss or restore\nfailures when working with disks that were restored from backups of disks\nattached to virtual machines (VMs).\n\nRestoring an individual disk that was attached to a VM can leave behind specific\nlabels on the restored disk resource and its underlying `PersistentVolumeClaim`\n(PVC) resource. Failure to remove the labels as described can lead to:\n\n- Failures during subsequent full VM restore operations.\n- Unintended modification or replacement of the restored disk's underlying PVC during a subsequent full VM restore, potentially leading to data loss on the restored disk.\n\n| **Important:** These steps are mandatory immediately after you restore an individual disk if that disk was originally attached to a VM, especially if you intend to perform full VM backups and restores involving the original VM at a later time.\n\nBefore you begin\n----------------\n\nTo clean up the labels after restoring a VM-attached disk, you must have the following:\n\n- The necessary identity and access role. Ask your Organization IAM Admin to grant you the DBS Debugger (`dbs-debugger`) role.\n- Access to the appropriate kubeconfig files for the clusters managing these resources.\n- The kubectl command-line tool installed and configured.\n\nClean up labels\n---------------\n\nYou must perform the cleanup for both the `VirtualMachineDisk` resource and its underlying `PersistentVolumeClaim` (PVC) resource.\n\n### Clean up the VM disk labels\n\nTo clean up the labels of a restored VM disk, follow these steps:\n\n1. Get the kubeconfig file for the management API server and set the\n `KUBECONFIG` environment variable:\n\n export KUBECONFIG=\u003cvar translate=\"no\"\u003ePATH_TO_MANAGEMENT_API_KUBECONFIG\u003c/var\u003e\n\n Replace \u003cvar translate=\"no\"\u003ePATH_TO_MANAGEMENT_API_KUBECONFIG\u003c/var\u003e with the\n path to the kubeconfig file. For more information, see [Zonal Management API\n server\n resources](/distributed-cloud/hosted/docs/latest/gdch/platform/pa-user/iam/sign-in#zonal-resources-kubeconfig).\n2. Check that the restored `VirtualMachineDisk` resource exists in the specified namespace:\n\n kubectl get virtualmachinedisks.virtualmachine.gdc.goog \\\n -n \u003cvar translate=\"no\"\u003eNAMESPACE\u003c/var\u003e \u003cvar translate=\"no\"\u003eRESTORED_VM_DISK_NAME\u003c/var\u003e\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eNAMESPACE\u003c/var\u003e: the project namespace.\n - \u003cvar translate=\"no\"\u003eRESTORED_VM_DISK_NAME\u003c/var\u003e: the full name of the restored disk using the values gathered in the prerequisites. The value for this variable can be derived from \u003cvar translate=\"no\"\u003eRESTORED_PREFIX\u003c/var\u003e-\u003cvar translate=\"no\"\u003eVM_DISK_NAME\u003c/var\u003e.\n3. Remove the backup scope label from the `VirtualMachineDisk` resource. The trailing hyphen after the label key signifies removal:\n\n kubectl label virtualmachinedisks.virtualmachine.gdc.goog -n \u003cvar translate=\"no\"\u003eNAMESPACE\u003c/var\u003e \\\n \u003cvar translate=\"no\"\u003eRESTORED_VM_DISK_NAME\u003c/var\u003e bpvms/\u003cvar translate=\"no\"\u003eVM_NAME\u003c/var\u003e-\n\n Replace \u003cvar translate=\"no\"\u003eVM_NAME\u003c/var\u003e with the name of the restored VM.\n4. Optional: To verify that the `bpvms/`\u003cvar translate=\"no\"\u003eVM_NAME\u003c/var\u003e label is no longer present, you can re-run the corresponding `kubectl get` command, adjusting for the specific resource type and cluster:\n\n kubectl get virtualmachinedisks.virtualmachine.gdc.goog \\\n -n \u003cvar translate=\"no\"\u003eNAMESPACE\u003c/var\u003e \u003cvar translate=\"no\"\u003eVM_NAME\u003c/var\u003e\n\n### Clean up the PVC labels\n\nTo clean up the labels of the underlying PVC, follow these steps:\n\n1. Get the kubeconfig file for the org infrastructure cluster and set the `KUBECONFIG` environment variable:\n\n export KUBECONFIG=\u003cvar translate=\"no\"\u003ePATH_TO_ORG_INFRA_KUBECONFIG\u003c/var\u003e\n\n Replace \u003cvar translate=\"no\"\u003ePATH_TO_ORG_INFRA_KUBECONFIG\u003c/var\u003e with the path\n to the kubeconfig file.\n2. Check that the underlying PVC for the restored disk exists in the specified namespace:\n\n kubectl get pvc -n \u003cvar translate=\"no\"\u003eNAMESPACE\u003c/var\u003e \\\n \u003cvar translate=\"no\"\u003eRESTORED_VM_DISK_NAME\u003c/var\u003e\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eNAMESPACE\u003c/var\u003e: the project namespace.\n - \u003cvar translate=\"no\"\u003eRESTORED_VM_DISK_NAME\u003c/var\u003e: the name of the restored VM disk.\n3. Remove the backup scope label from the PVC. The trailing hyphen after the label key signifies removal:\n\n kubectl label pvc -n \u003cvar translate=\"no\"\u003eNAMESPACE\u003c/var\u003e \u003cvar translate=\"no\"\u003eRESTORED_VM_DISK_NAME\u003c/var\u003e bpvms/\u003cvar translate=\"no\"\u003eVM_NAME\u003c/var\u003e-\n\n Replace \u003cvar translate=\"no\"\u003eVM_NAME\u003c/var\u003e with the name of the restored VM.\n4. Optional: To verify that the `bpvms/`\u003cvar translate=\"no\"\u003eVM_NAME\u003c/var\u003e label is no longer present, you can re-run the corresponding `kubectl get` command, adjusting for the specific resource type and cluster:\n\n kubectl get pvc -n \u003cvar translate=\"no\"\u003eNAMESPACE\u003c/var\u003e \\\n \u003cvar translate=\"no\"\u003eVM_NAME\u003c/var\u003e"]]