Limpiar las etiquetas después de restaurar los discos vinculados a la VM

En esta página se explica cómo evitar posibles pérdidas de datos o errores de restauración al trabajar con discos que se han restaurado a partir de copias de seguridad de discos conectados a máquinas virtuales (VMs).

Al restaurar un disco concreto que estaba conectado a una VM, pueden quedar etiquetas específicas en el recurso de disco restaurado y en su recurso PersistentVolumeClaim (PVC) subyacente. Si no quitas las etiquetas como se indica, puede ocurrir lo siguiente:

  • Errores durante las operaciones de restauración completa de máquinas virtuales posteriores.
  • Modificación o sustitución no intencionada del PVC subyacente del disco restaurado durante una restauración completa posterior de la VM, lo que puede provocar la pérdida de datos en el disco restaurado.

Antes de empezar

Para limpiar las etiquetas después de restaurar un disco conectado a una VM, debes tener lo siguiente:

  • El rol de identidad y acceso necesario. Pide al administrador de gestión de identidades y accesos de tu organización que te conceda el rol Depurador de DBS (dbs-debugger).
  • Acceso a los archivos kubeconfig adecuados de los clústeres que gestionan estos recursos.
  • La herramienta de línea de comandos kubectl instalada y configurada.

Limpiar etiquetas

Debe realizar la limpieza tanto del recurso VirtualMachineDisk como de su recurso PersistentVolumeClaim (PVC) subyacente.

Limpiar las etiquetas de los discos de la VM

Para limpiar las etiquetas de un disco de VM restaurado, sigue estos pasos:

  1. Obtén el archivo kubeconfig del servidor de la API de gestión y define la variable de entorno KUBECONFIG:

    export KUBECONFIG=PATH_TO_MANAGEMENT_API_KUBECONFIG
    

    Sustituye PATH_TO_MANAGEMENT_API_KUBECONFIG por la ruta al archivo kubeconfig. Para obtener más información, consulta los recursos de servidor de la API Zonal Management.

  2. Comprueba que el recurso VirtualMachineDisk restaurado existe en el espacio de nombres especificado:

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

    Haz los cambios siguientes:

    • NAMESPACE: el espacio de nombres del proyecto.
    • RESTORED_VM_DISK_NAME: el nombre completo del disco restaurado, con los valores obtenidos en los requisitos previos. El valor de esta variable se puede obtener de RESTORED_PREFIX-VM_DISK_NAME.
  3. Quita la etiqueta del ámbito de la copia de seguridad del recurso VirtualMachineDisk. El guion final después de la clave de la etiqueta indica que se ha eliminado:

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

    Sustituye VM_NAME por el nombre de la VM restaurada.

  4. Opcional: Para verificar que la etiqueta bpvms/VM_NAME ya no está presente, puedes volver a ejecutar el comando kubectl get correspondiente, ajustándolo al tipo de recurso y al clúster específicos:

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

Limpiar las etiquetas de PVC

Para limpiar las etiquetas del PVC subyacente, sigue estos pasos:

  1. Obtén el archivo kubeconfig del clúster de infraestructura de la organización y define la variable de entorno KUBECONFIG:

    export KUBECONFIG=PATH_TO_ORG_INFRA_KUBECONFIG
    

    Sustituye PATH_TO_ORG_INFRA_KUBECONFIG por la ruta al archivo kubeconfig.

  2. Comprueba que el PVC subyacente del disco restaurado exista en el espacio de nombres especificado:

    kubectl get pvc -n NAMESPACE \
        RESTORED_VM_DISK_NAME
    

    Haz los cambios siguientes:

    • NAMESPACE: el espacio de nombres del proyecto.
    • RESTORED_VM_DISK_NAME: el nombre del disco de la VM restaurada.
  3. Quita la etiqueta del ámbito de la copia de seguridad del PVC. El guion final después de la clave de la etiqueta indica que se ha eliminado:

    kubectl label pvc -n NAMESPACE RESTORED_VM_DISK_NAME bpvms/VM_NAME-
    

    Sustituye VM_NAME por el nombre de la VM restaurada.

  4. Opcional: Para verificar que la etiqueta bpvms/VM_NAME ya no está presente, puedes volver a ejecutar el comando kubectl get correspondiente, ajustándolo al tipo de recurso y al clúster específicos:

    kubectl get pvc -n NAMESPACE \
        VM_NAME