Supprimer les libellés après la restauration des disques associés à la VM

Cette page explique comment éviter les pertes de données potentielles ou les échecs de restauration lorsque vous utilisez des disques restaurés à partir de sauvegardes de disques associés à des machines virtuelles (VM).

La restauration d'un disque individuel associé à une VM peut laisser des libellés spécifiques sur la ressource de disque restaurée et sa ressource PersistentVolumeClaim (PVC) sous-jacente. Si vous ne supprimez pas les étiquettes comme décrit ci-dessus, vous risquez :

  • Échecs lors des opérations de restauration complète de VM suivantes.
  • Modification ou remplacement involontaire du PVC sous-jacent du disque restauré lors d'une restauration complète ultérieure de la VM, pouvant entraîner une perte de données sur le disque restauré.

Avant de commencer

Pour nettoyer les libellés après avoir restauré un disque associé à une VM, vous devez disposer des éléments suivants :

  • Le rôle d'identité et d'accès nécessaire. Demandez à votre administrateur IAM de l'organisation de vous attribuer le rôle DBS Debugger (dbs-debugger).
  • Accès aux fichiers kubeconfig appropriés pour les clusters gérant ces ressources.
  • L'outil de ligne de commande kubectl est installé et configuré.

Nettoyer les libellés

Vous devez effectuer le nettoyage pour la ressource VirtualMachineDisk et sa ressource PersistentVolumeClaim (PVC) sous-jacente.

Nettoyer les libellés de disque de VM

Pour nettoyer les libellés d'un disque de VM restauré, procédez comme suit :

  1. Obtenez le fichier kubeconfig pour le serveur d'API de gestion et définissez la variable d'environnement KUBECONFIG :

    export KUBECONFIG=PATH_TO_MANAGEMENT_API_KUBECONFIG
    

    Remplacez PATH_TO_MANAGEMENT_API_KUBECONFIG par le chemin d'accès au fichier kubeconfig. Pour en savoir plus, consultez Ressources du serveur de l'API Zonal Management.

  2. Vérifiez que la ressource VirtualMachineDisk restaurée existe dans l'espace de noms spécifié :

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

    Remplacez les éléments suivants :

    • NAMESPACE : espace de noms du projet.
    • RESTORED_VM_DISK_NAME : nom complet du disque restauré à l'aide des valeurs collectées dans les prérequis. La valeur de cette variable peut être dérivée de RESTORED_PREFIX-VM_DISK_NAME.
  3. Supprimez le libellé du champ d'application de la sauvegarde de la ressource VirtualMachineDisk. Le tiret de fin après la clé du libellé indique la suppression :

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

    Remplacez VM_NAME par le nom de la VM restaurée.

  4. Facultatif : Pour vérifier que le libellé bpvms/VM_NAME n'est plus présent, vous pouvez exécuter à nouveau la commande kubectl get correspondante, en l'adaptant au type de ressource et au cluster spécifiques :

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

Nettoyer les libellés du PVC

Pour nettoyer les libellés du PVC sous-jacent, procédez comme suit :

  1. Obtenez le fichier kubeconfig pour le cluster d'infrastructure de l'organisation et définissez la variable d'environnement KUBECONFIG :

    export KUBECONFIG=PATH_TO_ORG_INFRA_KUBECONFIG
    

    Remplacez PATH_TO_ORG_INFRA_KUBECONFIG par le chemin d'accès au fichier kubeconfig.

  2. Vérifiez que le PVC sous-jacent du disque restauré existe dans l'espace de noms spécifié :

    kubectl get pvc -n NAMESPACE \
        RESTORED_VM_DISK_NAME
    

    Remplacez les éléments suivants :

    • NAMESPACE : espace de noms du projet.
    • RESTORED_VM_DISK_NAME : nom du disque de VM restauré.
  3. Supprimez le libellé de portée de sauvegarde du PVC. Le tiret de fin après la clé du libellé indique la suppression :

    kubectl label pvc -n NAMESPACE RESTORED_VM_DISK_NAME bpvms/VM_NAME-
    

    Remplacez VM_NAME par le nom de la VM restaurée.

  4. Facultatif : Pour vérifier que le libellé bpvms/VM_NAME n'est plus présent, vous pouvez exécuter à nouveau la commande kubectl get correspondante, en l'adaptant au type de ressource et au cluster spécifiques :

    kubectl get pvc -n NAMESPACE \
        VM_NAME