Pulire le etichette dopo il ripristino dei dischi collegati alla VM
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Questa pagina ti guida su come evitare potenziali perdite di dati o errori di ripristino quando lavori con dischi ripristinati da backup di dischi collegati a macchine virtuali (VM).
Il ripristino di un singolo disco collegato a una VM può lasciare etichette specifiche
nella risorsa disco ripristinata e nella relativa risorsa PersistentVolumeClaim
(PVC) sottostante. La mancata rimozione delle etichette come descritto può comportare:
Errori durante le successive operazioni di ripristino completo della VM.
Modifica o sostituzione involontaria del PVC sottostante del disco ripristinato
durante un successivo ripristino completo della VM, con conseguente potenziale perdita di dati sul
disco ripristinato.
Prima di iniziare
Per pulire le etichette dopo il ripristino di un disco collegato a una VM, devi disporre di quanto segue:
Il ruolo di identità e accesso necessario. Chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Debugger DBS (dbs-debugger).
Accesso ai file kubeconfig appropriati per i cluster che gestiscono queste risorse.
Lo strumento a riga di comando kubectl installato e configurato.
Organizzare le etichette
Devi eseguire la pulizia sia della risorsa VirtualMachineDisk sia della risorsa PersistentVolumeClaim (PVC) sottostante.
Pulisci le etichette dei dischi VM
Per pulire le etichette di un disco VM ripristinato:
Recupera il file kubeconfig per il server API di gestione e imposta la variabile di ambiente
KUBECONFIG:
RESTORED_VM_DISK_NAME: il nome completo del disco ripristinato utilizzando i valori raccolti nei prerequisiti. Il valore di questa
variabile può essere derivato da
RESTORED_PREFIX-VM_DISK_NAME.
Rimuovi l'etichetta dell'ambito di backup dalla risorsa VirtualMachineDisk. Il trattino finale dopo la chiave dell'etichetta indica la rimozione:
Sostituisci VM_NAME con il nome della VM ripristinata.
(Facoltativo) Per verificare che l'etichetta bpvms/VM_NAME non sia più presente, puoi eseguire di nuovo il comando kubectl get corrispondente, modificandolo in base al tipo di risorsa e al cluster specifici:
Sostituisci VM_NAME con il nome della VM ripristinata.
(Facoltativo) Per verificare che l'etichetta bpvms/VM_NAME non sia più presente, puoi eseguire di nuovo il comando kubectl get corrispondente, modificandolo in base al tipo di risorsa e al cluster specifici:
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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"]]