Trabaja con instantáneas de discos persistentes

Crea instantáneas para crear copias de seguridad de los datos de tus discos persistentes zonales o discos persistentes regionales de forma periódica.

Puedes crear instantáneas desde discos incluso mientras están conectados a instancias en ejecución. Las instantáneas son recursos globales, por lo que puedes usarlas para restablecer datos en un disco o instancia nuevos dentro del mismo proyecto. También puedes compartir instantáneas entre proyectos.

Antes de comenzar

Crea instantáneas

A fin de prepararte para crear instantáneas de discos persistentes, haz lo siguiente:

Crea una instantánea de un disco persistente zonal

Console

  1. Ve a la página Crear una instantánea en Google Cloud Console.
    Ir a la página Crear una instantánea
  2. Ingresa un Nombre para la instantánea.
  3. De manera opcional, ingresa una Descripción de la instantánea.
  4. Selecciona el Disco de origen en el menú desplegable.
  5. Determina la ubicación de almacenamiento de la instantánea. Puedes usar la ubicación de almacenamiento predeterminada o una ubicación de almacenamiento personalizada.

    1. En Ubicación, selecciona si deseas almacenar la instantánea en una ubicación multirregional o una ubicación regional.
    2. Selecciona la región específica o multirregión que deseas usar. Para usar la región o multirregión más cercana al disco de origen, selecciona En función de la ubicación del disco (predeterminado).
  6. Haz clic en Crear para crear la instantánea.

gcloud

Crea la instantánea en la ubicación de almacenamiento predeterminada o en una ubicación de almacenamiento seleccionada. De manera opcional, puedes especificar un nombre de instantánea con la marca --snapshot-names. El nombre predeterminado de la instantánea es una string alfanumérica aleatoria de 12 caracteres que comienza con una letra.

  • Si quieres crear una instantánea de un disco persistente zonal en la ubicación de almacenamiento predeterminada, usa el comando gcloud compute disks snapshot:

    gcloud compute disks snapshot DISK_NAME
    

    Donde:

    • DISK_NAME es el nombre del disco persistente zonal desde el que quieres crear una instantánea.
  • De lo contrario, si quieres crear una instantánea en una ubicación de almacenamiento personalizada, usa la marca --storage-location a fin de indicar dónde almacenar la instantánea:

    gcloud compute disks snapshot DISK_NAME \
        --storage-location STORAGE_LOCATION
    

    Donde:

    • DISK_NAME es el nombre del disco persistente zonal desde el que quieres crear una instantánea.
    • STORAGE_LOCATION es la multirregión de Cloud Storage o la región de Cloud Storage en la que quieres almacenar la instantánea. Solo puedes especificar una ubicación de almacenamiento.

La herramienta de la línea de comandos de gcloud espera hasta que la operación muestre un estado de READY o FAILED, o hasta que alcance el tiempo de espera máximo y muestre los últimos detalles conocidos de la instantánea.

API

Crea la instantánea en la ubicación de almacenamiento predeterminada o en una ubicación de almacenamiento seleccionada. De manera opcional, puedes especificar un nombre de instantánea con el campo name. El nombre predeterminado de la instantánea es una string alfanumérica aleatoria de 12 caracteres que comienza con una letra.

  • Si quieres crear tu instantánea en la ubicación de almacenamiento predeterminada, realiza una solicitud POST al método disks.createSnapshot:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/createSnapshot
    

    Donde:

    • PROJECT_ID es el ID del proyecto.
    • ZONE es la zona en la que se encuentran la instancia y el disco.
    • DISK_NAME es el nombre del disco persistente zonal desde el que quieres crear una instantánea.
  • De forma alternativa, para crear una instantánea en una ubicación de almacenamiento personalizada, realiza una solicitud POST al método disks.createSnapshot y especifica la ubicación de almacenamiento:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/createSnapshot
    
    {
      "storageLocations": STORAGE_LOCATION
    }
    

    Donde:

    • PROJECT_ID es el ID del proyecto.
    • ZONE es la zona en la que se encuentran la instancia y el disco.
    • DISK_NAME es el nombre del disco persistente zonal desde el que quieres crear una instantánea.
    • STORAGE_LOCATION es la multirregión de Cloud Storage o la región de Cloud Storage en la que quieres almacenar la instantánea. Solo puedes especificar una ubicación de almacenamiento.

Crea una instantánea de un disco persistente regional

Una vez preparado el disco, puedes crear una instantánea. Cuando creas una instantánea de un disco persistente regional, debes indicar la región en la que se encuentra el disco.

Console

  1. Ve a la página Crear una instantánea en Google Cloud Console.
    Ir a la página Crear una instantánea
  2. Ingresa un Nombre para la instantánea.
  3. De manera opcional, ingresa una Descripción de la instantánea.
  4. En Disco de origen, selecciona un disco existente del que deseas crear una instantánea.
  5. De manera opcional, puedes especificar una ubicación de almacenamiento personalizada:

    1. En Ubicación, selecciona si deseas almacenar la instantánea en una ubicación multirregional o una ubicación regional.
    2. Selecciona la región específica o multirregión que deseas usar. Para usar la región o multirregión más cercana al disco de origen, selecciona En función de la ubicación del disco.
  6. Haz clic en Crear para crear la instantánea.

gcloud

Crea la instantánea en la ubicación de almacenamiento predeterminada o una ubicación de almacenamiento seleccionada.

  • Si quieres crear una instantánea de un disco persistente regional en la ubicación de almacenamiento predeterminada, usa el comando gcloud compute disks snapshot:

    gcloud compute disks snapshot DISK_NAME \
        --region REGION
    

    Donde:

    • DISK_NAME es el nombre del disco persistente regional desde el que quieres crear una instantánea.
    • REGION es la región en la que se encuentra el disco persistente regional.
  • De manera opcional, puedes especificar una ubicación de almacenamiento personalizada:

    gcloud compute disks snapshot DISK_NAME --region
        REGION --storage-location STORAGE_LOCATION
    

    En el ejemplo anterior, se ilustra lo siguiente:

    • DISK_NAME es el nombre del disco persistente regional desde el que quieres crear una instantánea.
    • REGION es la región en la que se encuentra el disco persistente regional.
    • STORAGE_LOCATION es la multirregión de Cloud Storage o la región de Cloud Storage en la que quieres almacenar la instantánea. Solo puedes especificar una ubicación de almacenamiento.

    La herramienta de línea de comandos de gcloud espera hasta que la operación muestre un estado de READY o FAILED, o hasta que alcance el tiempo de espera máximo y muestre los últimos detalles conocidos de la instantánea.

API

  • Si quieres crear una instantánea en la ubicación de almacenamiento predeterminada, realiza una solicitud POST al método regionDisk.createSnapshot:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME/createSnapshot
    

    Donde:

    • PROJECT_ID es el ID del proyecto.
    • REGION es la región en la que se encuentra el disco persistente regional.
    • DISK_NAME es el nombre del disco que desea capturar.
  • De forma alternativa, para crear una instantánea en una ubicación de almacenamiento personalizada, realiza una solicitud POST al método regionDisk.createSnapshot y especifica la ubicación de almacenamiento:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/VAR/disks/DISK_NAME/createSnapshot
    {
     "storageLocations": STORAGE_LOCATION
    }
    

    Donde:

    • PROJECT_ID es el ID del proyecto.
    • REGION es la región en la que se encuentra el disco persistente regional.
    • DISK_NAME es el nombre del disco persistente regional desde el que quieres crear una instantánea.
    • STORAGE_LOCATION es la multirregión de Cloud Storage o la región de Cloud Storage en la que quieres almacenar la instantánea. Solo puedes especificar una ubicación de almacenamiento.

Comparte instantáneas entre proyectos

Comparte una instantánea del disco con usuarios de otros proyectos para mover los datos del disco entre proyectos. Por ejemplo, para mover los datos del disco disk-1 en project-a a un disco nuevo disk-2 en project-b, sigue estos pasos. En este ejemplo, disk-1 se encuentra en la zona us-west2-a, y instance-1, en la zona us-west2-b.

gcloud

  1. Crea una instantánea del disk-1:

    gcloud compute disks snapshot disk-1 --project project-a --snapshot-names snapshot-1
    
  2. Crea un disco nuevo en project-b que se base en la instantánea:

    gcloud compute disks create disk-2  --project project-b --source-snapshot projects/project-a/global/snapshots/snapshot-1
    
  3. Adjunta el disco nuevo a la instancia instance-1 en project-b.

    gcloud compute instances attach-disk instance-1 --project project-b --disk disk-2
    
  4. Activa el disco. Consulta los pasos 5 a 7 de Formatea y activa un disco persistente.

API

  1. Crea una instantánea del disk-1 mediante una solicitud POST al método disks.createSnapshot.

    POST https://compute.googleapis.com/compute/v1/projects/project-a/zones/us-west2-a/disks/disk-1/createSnapshot
    
    {
    "name": "snapshot-1"
    }
    
  2. Crea un disco nuevo disk-2 en project-b que se base en la instantánea. Crea una solicitud POST para crear un disco persistente zonal mediante el método disks.insert.

    POST https://compute.googleapis.com/compute/v1/projects/project-b/zones/us-west2-b/disks
    
    {
    "name": "disk-2",
    "type": "zones/us-west2-b/diskTypes/DISK_TYPE"
    "sourceSnapshot": "projects/project-a/global/snapshots/snapshot-1"
    }
    

    Reemplaza lo siguiente:

    • DISK_TYPE: Es el tipo de disco persistente. Puede ser pd-standard, pd-ssd o pd-balanced.
  3. Adjunta el disco nuevo a la instancia instance-1 en project-b. El disco debe estar en la misma zona que la instancia. Crea una solicitud POST para el método instances.attachDisk y, luego, incluye la URL en el disco persistente de la zona que acabas de crear.

    POST https://compute.googleapis.com/compute/v1/projects/project-b/zones/us-west2-b/instances/instance-1/attachDisk
    
    {
    "source": "/compute/v1/projects/project-b/zones/us-west2-b/disks/disk-2"
    }
    
  4. Activa el disco. Consulta los pasos 5 a 7 de Formatea y activa un disco persistente.

Para obtener una lista de las instantáneas disponibles, consulta Enumera instantáneas.

Restablece instantáneas

Para restablecer el contenido de una instantánea en un disco nuevo, tienes las siguientes opciones:

  • Crea un disco persistente nuevo a partir de una instantánea: crea un disco nuevo y selecciona la instantánea como el Origen.

  • Crea una instancia nueva a partir de una instantánea: Cuando creas una instancia nueva, puedes usar instantáneas para crear discos de arranque y discos de datos de esa instancia. En el caso de una interrupción, puedes recuperar tus datos con rapidez si restableces una o más instantáneas en los discos persistentes nuevos en una instancia nueva. Para obtener más información, consulta Crea una instancia a partir de instantáneas.

Crea un disco persistente nuevo a partir de una instantánea

El disco persistente nuevo debe tener, como mínimo, el mismo tamaño que el disco de origen original de la instantánea. Si creas un disco persistente que es más grande que el disco de origen original de la instantánea, debes cambiar el tamaño del sistema de archivos en ese disco persistente para incluir el espacio de disco adicional.

Puedes crear un disco persistente zonal nuevo a partir de una instantánea determinada una vez cada diez minutos. Si deseas generar una ráfaga de solicitudes para crear una instantánea del disco, puedes emitir como máximo 6 solicitudes en 60 minutos. Este límite no se aplica cuando se crean discos persistentes regionales a partir de una instantánea. Para obtener más información, consulta Límites de frecuencia de instantáneas.

Según el sistema operativo y el tipo de sistema de archivos, es posible que debas usar otra herramienta de cambio de tamaño para el sistema de archivos. Para obtener más información, consulta la documentación de tu sistema operativo.

Console

  1. En Google Cloud Console, ve a la página Instantáneas.

    Ir a instantáneas

  2. Busca el nombre de la instantánea que deseas restablecer.

  3. Ir a la página Discos

    Ir a la página Discos

  4. Haz clic en Crear disco nuevo.

  5. Especifica los siguientes parámetros de configuración:

    • Un nombre para el disco
    • Un tipo para el disco
    • De manera opcional, puedes anular la selección de región y zona predeterminadas. Puedes seleccionar cualquier región y zona, independientemente de la ubicación de almacenamiento de la instantánea de origen.
  6. En Tipo de fuente, haz clic en Instantánea.

  7. Selecciona el nombre de la instantánea que deseas restablecer.

  8. Opcional: Selecciona un tamaño en gigabytes, para el disco. Este número debe ser igual o mayor que el disco de origen para la instantánea. Si no especificas este valor, el disco nuevo es del mismo tamaño que el disco de origen de la instantánea.

  9. Haz clic en Crear para crear el disco.

gcloud

  1. Usa el comando gcloud compute snapshots list para encontrar el nombre de la instantánea que deseas restablecer:

    gcloud compute snapshots list
    
  2. Usa el comando gcloud compute snapshots describe para encontrar el tamaño de la instantánea que deseas restablecer:

    gcloud compute snapshots describe SNAPSHOT_NAME
    

    Reemplaza SNAPSHOT_NAME por el nombre de la instantánea que se restablecerá.

  3. Usa el comando gcloud compute disks create para crear un nuevo disco persistente regional ozonal desde tu instantánea. Si necesitas un disco persistente SSD para obtener capacidad de procesamiento o IOPS adicionales, incluye la marca --type y especifica pd-ssd.

    gcloud compute disks create DISK_NAME \
        --size=DISK_SIZE \
        --source-snapshot=SNAPSHOT_NAME \
        --type=DISK_TYPE
    

    Reemplaza lo siguiente:

    • DISK_NAME: Es el nombre del disco nuevo.
    • DISK_SIZE: Es el tamaño, en gigabytes, del disco nuevo. Este número debe ser igual o mayor que el disco de origen para la instantánea.
    • SNAPSHOT_NAME: Es el nombre de la instantánea que se restablecerá.
    • DISK_TYPE: Es el tipo del disco persistente. Por ejemplo, pd-ssd.

API

  1. Crea una solicitud GET a snapshots.list para ver la lista de instantáneas de tu proyecto.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots
    

    Reemplaza PROJECT_ID con el ID del proyecto.

  2. Crea una solicitud POST para crear un disco persistente zonal con el método disks.insert. Incluye las propiedades name, sizeGb y type. Para restablecer un disco con una instantánea, debes incluir la propiedad sourceSnapshot.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks
    
    {
     "name": "DISK_NAME",
     "sizeGb": "DISK_SIZE",
     "type": "zones/ZONE/diskTypes/DISK_TYPE"
     "sourceSnapshot": "SNAPSHOT_NAME"
    }
    

    Reemplaza lo siguiente:

    • PROJECT_ID: el ID de tu proyecto
    • ZONE: Es la zona en la que se encuentran la instancia y el disco nuevo.
    • DISK_NAME: Es el nombre del disco nuevo.
    • DISK_SIZE: Es el tamaño, en gigabytes, del disco nuevo.
    • DISK_TYPE: Es el tipo del disco persistente. Por ejemplo, pd-ssd.
    • SNAPSHOT_NAME es la instantánea de origen del disco que se restablecerá.

De manera opcional, puedes conectar el disco nuevo a una instancia existente.

Console

  1. Ve a la página Instancias de VM.

    Ir a la página Instancias de VM

  2. Haz clic en el nombre de la instancia en la que deseas restablecer el disco que no sea de arranque.
  3. En la parte superior de esta página, haz clic en Editar.
  4. En Discos adicionales, haz clic en Adjuntar disco existente.
  5. Selecciona el nombre del disco nuevo creado a partir de la instantánea.
  6. Haz clic en Listo para conectar el disco.
  7. En la parte inferior de la página de detalles de la instancia, haz clic en Guardar para aplicar los cambios en la instancia.

gcloud

  1. Usa el comando gcloud compute instances attach-disk para conectar el disco persistente a una instancia:

    gcloud compute instances attach-disk INSTANCE_NAME \
        --disk DISK_NAME
    

    Donde:

    • INSTANCE_NAME es el nombre de la instancia.
    • DISK_NAME es el nombre del disco creado a partir de la instantánea.

API

  1. Crea una solicitud POST al método instances.attachDisk y, luego, incluye la URL del disco persistente zonal que acabas de crear a partir de tu instantánea.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk
    
    {
     "source": "/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME"
    }
    

    Donde:

    • PROJECT_ID es el ID del proyecto.
    • ZONE es la zona en la que se encuentran tu instancia y el disco nuevo.
    • INSTANCE_NAME es el nombre de la instancia en la que agregas el disco persistente nuevo.
    • DISK_NAME es el nombre del disco nuevo.

Después de crear y conectar un disco nuevo a una instancia, debes activar el disco para que el sistema operativo pueda usar el espacio de almacenamiento disponible.

Borra una instantánea

Compute Engine usa instantáneas incrementales de modo que cada instantánea contiene solo los datos que cambiaron desde la instantánea anterior. Dado que las instantáneas posteriores pueden requerir información almacenada en una instantánea anterior, ten en cuenta que, si se borra una instantánea, no siempre se borran todos los datos que contiene. Para obtener más información sobre la eliminación de instantáneas, consulta Eliminación de instantáneas.

Para borrar una instantánea, haz lo siguiente:

Console

  1. Ve a la página Instantáneas en Google Cloud Console.

    Ir a la página de instantáneas

  2. Selecciona una o más instantáneas que desees borrar.
  3. En la parte superior de la página Instantáneas, haz clic en Borrar.

gcloud

Para borrar una instantánea, usa el comando gcloud compute snapshots delete:

gcloud compute snapshots delete SNAPSHOT_NAME

En este comando, SNAPSHOT_NAME es el nombre de la instantánea que se borrará.

API

Realiza una solicitud DELETE al método compute.snapshots.delete para borrar instantáneas.

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME

Donde:

  • PROJECT_ID es el nombre de tu proyecto.
  • SNAPSHOT_NAME es el nombre de la instantánea que se borrará.

Borra varias instantáneas según un filtro

Compute Engine usa instantáneas incrementales de modo que cada instantánea contiene solo los datos que cambiaron desde la instantánea anterior. Dado que las instantáneas posteriores pueden requerir información almacenada en una instantánea anterior, si se borra una instantánea, no siempre se borran todos los datos que contiene. Para obtener más información sobre la eliminación de instantáneas, consulta Eliminación de instantáneas.

En las siguientes secciones, se describe cómo borrar una serie de instantáneas según un filtro determinado. Para obtener más información sobre los filtros de la herramienta gcloud, consulta los filtros de temas de la herramienta gcloud.

Para borrar las instantáneas, usa una combinación del comando gcloud compute snapshots list con un filtro determinado y el comando gcloud compute snapshots delete con xargs:

gcloud compute snapshots list --filter="EXPRESSION" --uri |
   xargs gcloud compute snapshots delete

Reemplaza EXPRESSION por un filtro de tema gcloud.

Por ejemplo, --filter="creationTimestamp>'2021-01-01'" borra todas las instantáneas creadas después del 1 de enero de 2021.

Enumera instantáneas

gcloud

Si quieres ver una lista de instantáneas disponibles en un proyecto específico, usa el comando gcloud compute snapshots list.

gcloud compute snapshots list --project PROJECT_ID

En el ejemplo anterior, PROJECT_ID es el ID del proyecto.

API

Si deseas ver una lista de instantáneas disponibles en un proyecto específico, realiza una solicitud GET al método snapshots.list:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots

En el ejemplo anterior, PROJECT_ID es el ID del proyecto.

Visualiza información sobre una instantánea

Si quieres enumerar la información sobre una instantánea en particular, como la hora de creación, el tamaño y el disco de origen, usa el comando gcloud compute snapshots describe:

gcloud compute snapshots describe SNAPSHOT_NAME

En el ejemplo anterior, SNAPSHOT_NAME es el nombre de la instantánea.

¿Qué sigue?