Crea un disco persistente a partir de una fuente de datos

Antes de comenzar

Puedes crear un disco persistente en blanco o crear un disco a partir de una fuente de datos. Puedes usar un disco persistente como disco de arranque para una instancia de máquina virtual (VM) o como un disco de datos que conectas a una VM.

Fuentes de datos

Puedes crear discos persistentes a partir de las siguientes fuentes de datos:

Crea un clon de disco a partir de un disco existente

Puedes crear un clon de un disco persistente nuevo a partir de un disco persistente existente, incluso si el disco existente está conectado a una instancia de VM. Cuando clonas un disco, creas un disco nuevo que contiene todos los datos del disco de origen. Puedes modificar las propiedades en ese clon, como el tamaño. También puedes borrar el disco de origen sin que haya ningún riesgo de borrar el clon.

La capacidad de clonar discos es útil si deseas duplicar los datos de producción para depurar sin interrumpir la producción, duplicar discos mientras escalas horizontalmente tus VM y crear réplicas para la verificación de la copia de seguridad de la base de datos. También puedes clonar discos para transferir datos de discos que no son de arranque a un proyecto nuevo. En los casos en que la protección de los datos se requiere para lograr una resiliencia adicional, como las copias de seguridad y la recuperación ante desastres, recomendamos usar instantáneas en lugar de clones de disco.

Restricciones

  • La zona, la región y el tipo de disco del clon deben coincidir con los del disco de origen.
  • No puedes crear un clon de un disco zonal a partir de un disco regional. No puedes crear un clon de un disco regional a partir un disco zonal.
  • El tamaño del clon debe ser al menos el tamaño del disco de origen. Si creas un clon mediante Google Cloud Console, no puedes especificar un tamaño de disco, y el clon se crea con el mismo tamaño que tiene el disco de origen.
  • Si usas una clave de encriptación proporcionada por el cliente o una clave de encriptación administrada por el cliente para encriptar el disco de origen, debes usar la misma clave a fin de encriptar el clon. Para obtener más información, consulta Crea un clon de un disco de origen encriptado.
  • Puedes crear, como máximo, un clon de un disco de origen determinado cada 30 segundos.
  • Puedes crear, como máximo, 1,000 clones totales de un disco de origen determinado. Si superas este límite, se muestra un internalError.

Si excedes los límites de frecuencia de clonación, la solicitud falla con el siguiente mensaje de error:

RATE LIMIT: ERROR: (gcloud.compute.disks.create) Could not fetch resource:
 - Operation rate exceeded for resource '<removed>'. Too frequent operations from the source resource.

Crea un clon de un disco

Console

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

    Ir a Discos

  2. En la lista de discos persistentes zonales, busca el disco que deseas clonar.

  3. Haz clic en el botón de menú en Acciones (Actions) y selecciona Clonar disco (Clone disk).

Crear disco

  1. En el panel Clonar disco (Clone disk), especifica un nombre para el disco nuevo.
  2. En Propiedades, revisa otros detalles del disco nuevo.
  3. Haz clic en Guardar.

gcloud

En la herramienta de gcloud, usa el comando disks create y especifica el --source-disk. En el siguiente ejemplo, se clona el disco de origen en un disco nuevo dentro de un proyecto diferente.

gcloud compute disks create projects/TARGET_PROJECT_ID/zones/ZONE/disks/TARGET_DISK_NAME \
    --description="cloned disk" \
    --source-disk=projects/SOURCE_PROJECT_ID/zones/ZONE/disks/SOURCE_DISK_NAME

API

En la API, realiza una solicitud POST para el método compute.disks.insert. En el cuerpo de la solicitud, especifica los parámetros name y sourceDisk. El clon hereda todas las propiedades omitidas del disco de origen. En el siguiente ejemplo, se clona el disco de origen en un disco nuevo dentro de un proyecto diferente.

POST https://compute.googleapis.com/compute/v1/projects/TARGET_PROJECT_ID/zones/ZONE/disks

{
  "name": "TARGET_DISK_NAME"
  "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/ZONE/disks/SOURCE_DISK_NAME"
}

Crea un clon de un disco de origen encriptado

Si usas una clave de encriptación proporcionada por el cliente a fin de encriptar el disco de origen, también debes usar la misma clave para encriptar el clon.

Console

Sigue los pasos para crear un clon de disco. Cuando configures las propiedades del disco, proporciona la clave de encriptación del disco de origen en Desencriptación y encriptación.

gcloud

Proporciona la clave de encriptación del disco de origen mediante la marca --csek-key-file cuando crees el clon del disco. Si usas una clave unida con RSA, usa el componente gcloud beta:

gcloud beta compute disks create projects/TARGET_PROJECT_ID/zones/ZONE/disks/TARGET_DISK_NAME \
  --description="cloned disk" \
  --source-disk=projects/SOURCE_PROJECT_ID/zones/ZONE/disks/SOURCE_DISK_NAME \
  --csek-key-file example-key-file.json

API

Proporciona la clave de encriptación del disco de origen con la propiedad diskEncryptionKey.

POST https://compute.googleapis.com/compute/beta/projects/TARGET_PROJECT_ID/zones/ZONE/disks

{
  "name": "TARGET_DISK_NAME"
  "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/ZONE/disks/SOURCE_DISK_NAME"
  "diskEncryptionKey": {
    "rsaEncryptedKey": "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFHz0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoDD6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oeQ5lAbtt7bYAAHf5l+gJWw3sUfs0/Glw5fpdjT8Uggrr+RMZezGrltJEF293rvTIjWOEB3z5OHyHwQkvdrPDFcTqsLfh+8Hr8g+mf+7zVPEC8nEbqpdl3GPv3A7AwpFp7MA=="
  },
}

Si usas una clave de encriptación administrada por el cliente para encriptar tu disco de origen, debes usar la misma clave a fin de encriptar el clon.

Console

Compute Engine encripta de forma automática el clon mediante la clave de encriptación del disco de origen.

gcloud

Proporciona la clave para el disco de origen con la marca --kms-key cuando crees el clon del disco. Si usas una clave unida con RSA, usa el componente gcloud beta:

gcloud beta compute disks create projects/TARGET_PROJECT_ID/zones/ZONE/disks/TARGET_DISK_NAME \
  --description="cloned disk" \
  --source-disk=projects/SOURCE_PROJECT_ID/zones/ZONE/disks/SOURCE_DISK_NAME \
  --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY

API

Proporciona la clave para el disco de origen con la propiedad kmsKeyName cuando crees el clon del disco.

POST https://compute.googleapis.com/compute/beta/projects/TARGET_PROJECT_ID/zones/ZONE/disks

{
  "name": "TARGET_DISK_NAME"
  "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/ZONE/disks/SOURCE_DISK_NAME"
  "diskEncryptionKey": {
    "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY"
  },
}

¿Qué sigue?