Puedes usar un disco persistente como un disco de arranque para una instancia de máquina virtual (VM) o como un disco de datos que conectes a una VM. Cuando creas un disco persistente, puedes crear un disco persistente en blanco o crear un disco desde un origen para que el disco nuevo contenga datos de ese origen.
Fuente de datos
Puedes crear discos persistentes a partir de las siguientes fuentes de datos:
Discos existentes: Clona un disco persistente existente. Usa esta opción si necesitas una copia que se pueda conectar al instante de un disco persistente que ya existe y que no es de arranque.
Instantáneas: Crea un disco que no sea de arranque a partir de una instantánea estándar o de una instantánea. Usa esta opción para restablecer los datos de un disco persistente del que creaste copias de seguridad con instantáneas.
Imágenes: Crea un disco de arranque a partir de una imagen de origen. Usa esta opción con el fin de crear un disco de arranque para una VM nueva o crear un disco persistente de arranque independiente.
Antes de comenzar
-
Configura la autenticación si aún no lo hiciste.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud.
Para ejecutar un código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.
Selecciona la pestaña para saber cómo planeas usar las muestras en esta página:
Consola
Cuando usas la consola de Google Cloud para acceder a los servicios y las APIs de Google Cloud, no necesitas configurar la autenticación.
gcloud
-
Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:
gcloud init
- Configura una región y una zona predeterminadas.
Terraform
Para usar las muestras de Terraform de esta página desde un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
- Instala Google Cloud CLI.
-
Para inicializar la CLI de gcloud, ejecuta el siguiente comando:
gcloud init
-
Crea credenciales de autenticación locales para tu Cuenta de Google:
gcloud auth application-default login
Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Para usar las muestras de Go de esta página desde un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
- Instala Google Cloud CLI.
-
Para inicializar la CLI de gcloud, ejecuta el siguiente comando:
gcloud init
-
Crea credenciales de autenticación locales para tu Cuenta de Google:
gcloud auth application-default login
Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Para usar las muestras de Java de esta página desde un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
- Instala Google Cloud CLI.
-
Para inicializar la CLI de gcloud, ejecuta el siguiente comando:
gcloud init
-
Crea credenciales de autenticación locales para tu Cuenta de Google:
gcloud auth application-default login
Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para usar las muestras de Python de esta página desde un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
- Instala Google Cloud CLI.
-
Para inicializar la CLI de gcloud, ejecuta el siguiente comando:
gcloud init
-
Crea credenciales de autenticación locales para tu Cuenta de Google:
gcloud auth application-default login
Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:
gcloud init
-
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 donde la protección de datos se requiera para lograr una resiliencia adicional, como las copias de seguridad y la recuperación ante desastres, recomendamos usar instantáneas estándar en lugar de clones de disco.
Si deseas capturar el estado de un disco en intervalos diferentes, pero no necesitas un disco nuevo que se pueda conectar cada vez, considera usar instantáneas.
Aunque no son adecuadas para la recuperación ante desastres, las instantáneas pueden ser más eficientes en cuanto al almacenamiento que crear clonaciones múltiples del mismo disco. Esto se debe a que las instantáneas son copias de seguridad incrementales.
Si necesitas duplicar un disco con rapidez, por ejemplo, para una depuración rápida, usa una clonación de disco.
Obtén más información sobre otras opciones de copia de seguridad de datos en Compute Engine.
Restricciones
- El tipo de disco del clon debe coincidir con el 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 zonal existente en una zona diferente.
- El tamaño del clon debe ser al menos el tamaño del disco de origen. Si creas un clon mediante la consola de Google Cloud, 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, una clonación de un disco de origen determinado o sus clonaciones cada 30 segundos.
- Puedes tener, como máximo, 1,000 clones de disco simultáneos de un disco de origen determinado o sus clonaciones.
Si superas este límite, se muestra un
internalError
. Sin embargo, si creas un clon de un disco y lo borras más tarde, el clon del disco borrado no se incluye en este límite. - Una vez que se clona un disco, las clonaciones posteriores de ese disco o sus clonaciones se cuentan en el límite de 1,000 clonaciones de disco simultáneas para el disco fuente original y se cuentan en el límite de crear como máximo una clonación cada 30 segundos.
Mensajes de error
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 RESOURCE. Too frequent operations from the source resource.
Crea un clon de un disco
Puedes clonar un disco existente en un disco nuevo mediante la consola de Google Cloud, Google Cloud CLI o la API de Compute EngineConsole
En la consola de Google Cloud, ve a la página Discos.
En la lista de discos persistentes zonales, busca el disco que deseas clonar.
Haz clic en el botón de menú en Acciones (Actions) y selecciona Clonar disco (Clone disk).
En el panel Clonar disco (Clone disk), especifica un nombre para el disco nuevo.
En Propiedades, revisa otros detalles del disco nuevo.
Haz clic en Guardar.
gcloud
En la CLI 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
Reemplaza lo siguiente:
TARGET_PROJECT_ID
: Es el ID del proyecto del disco nuevo.ZONE
: Es la zona del disco de origen y nuevo.TARGET_DISK_NAME
: Es el nombre del disco nuevo.SOURCE_PROJECT_ID
: Es el ID del proyecto del disco de origen.SOURCE_DISK_NAME
: Es el nombre del disco de origen.
Terraform
Para crear una clonación de un disco, usa el recurso google_compute_disk
.
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
Go
Go
Antes de probar esta muestra, sigue las instrucciones de configuración de Go en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Go de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Java de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Python de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
REST
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" }
Reemplaza lo siguiente:
TARGET_PROJECT_ID
: Es el ID del proyecto del disco nuevo.ZONE
: Es la zona del disco de origen y nuevo.TARGET_DISK_NAME
: Es el nombre del disco nuevo.SOURCE_PROJECT_ID
: Es el ID del proyecto del disco de origen.SOURCE_DISK_NAME
: Es el nombre del disco de origen.
Crea un clon de un disco regional a partir un disco zonal
Si quieres crear un disco regional nuevo, clona un disco zonal existente. Para migrar un disco zonal a un disco regional, Google recomienda esta opción en lugar de crear una instantánea del disco zonal y restablecer la instantánea a un disco regional nuevo.
Restricciones
+ Para crear un clon del disco regional a partir de un disco zonal de origen, una de las zonas de réplica del clon debe coincidir con la zona del disco de origen.Después de la creación, el clon del disco regional se puede usar en promedio en 3 minutos. Sin embargo, el disco puede tardar decenas de minutos en replicarse por completo y alcanzar un estado en el que el objetivo de punto de recuperación (RPO) se acerque a cero.
La velocidad a la que puedes clonar el espacio en el disco es limitada. Puedes crear, como máximo, 1 TB de disco clonado cada 15 minutos, con un límite de solicitudes de aumento de actividad de 257 TB.
Console
En la consola de Google Cloud, ve a la página Discos.
En la lista de discos persistentes zonales, busca el disco que deseas clonar.
Haz clic en el botón de menú en Acciones (Actions) y selecciona Clonar disco (Clone disk).
En el panel Clonar disco (Clone disk), especifica un nombre para el disco nuevo.
En Ubicación, selecciona Regional y selecciona dos zonas de réplica para el disco regional nuevo.
En Propiedades, revisa otros detalles del disco nuevo.
Haz clic en Guardar.
gcloud
Crea un clon de un disco regional a partir de un disco zonal y proporciona el disco de origen y dos zonas de réplica para el disco regional nuevo mediante el siguiente comando de gcloud
compute disks create
.
En el siguiente ejemplo, se supone que los discos de origen y de destino están en el mismo proyecto.
gcloud compute disks create TARGET_DISK_NAME \ --description="zonal to regional cloned disk" \ --region=REGION_1 \ --source-disk=SOURCE_DISK_NAME \ --source-disk-zone=REGION_1_ZONE_1 \ --replica-zones=REGION_1_ZONE_1,REGION_1_ZONE_2 \ --project=PROJECT_ID
Reemplaza lo siguiente:
TARGET_DISK_NAME
: Es el nombre del disco regional nuevo.REGION_1
: Es la región del disco regional nuevo.SOURCE_DISK_NAME
: Es el nombre del disco zonal que se clonará.REGION_1_ZONE_1
: Es una de las dos zonas de réplica para el disco regional nuevo.REGION_1_ZONE_2
: Es la otra zona de réplica para el disco regional nuevo.PROJECT_ID
: es el ID del proyecto
Terraform
Si quieres crear una clonación de un disco regional a partir de un disco zonal, puedes crear de manera opcional una instantánea del disco zonal y, luego, clonar la instantánea. Para ello, usa los siguientes recursos:
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
Go
Go
Antes de probar esta muestra, sigue las instrucciones de configuración de Go en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Go de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Java de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Python de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
REST
Proporciona el disco de origen y dos zonas de réplica para el disco regional nuevo. En el siguiente ejemplo, se supone que los discos de origen y de destino están en el mismo proyecto.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_1/disks { "name": "TARGET_DISK_NAME" "sourceDisk": "projects/PROJECT_ID/zones/REGION_1_ZONE_1/disks/SOURCE_DISK_NAME" "replicaZone": "REGION_1_ZONE_1,REGION_1_ZONE_2" }
Reemplaza lo siguiente:
PROJECT_ID
: es el ID del proyectoREGION_1
: Es la región del disco regional nuevo.TARGET_DISK_NAME
: Es el nombre del disco regional nuevo.REGION_1_ZONE_1
: Es una de las dos zonas de réplica para el disco regional nuevo.SOURCE_DISK_NAME
: Es el nombre del disco zonal que se clonará.REGION_1_ZONE_2
: Es la otra zona de réplica para el disco regional nuevo.
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
En la consola de Google Cloud, ve a la página Discos.
En la lista de discos persistentes zonales, busca el disco que deseas clonar.
Haz clic en el botón de menú en Acciones (Actions) y selecciona Clonar disco (Clone disk).
En el panel Clonar disco (Clone disk), especifica un nombre para el disco nuevo.
Proporciona la clave de encriptación del disco de origen en Desencriptación y encriptación.
En Propiedades, revisa otros detalles del disco nuevo.
Haz clic en Guardar.
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, utiliza 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
Reemplaza lo siguiente:
TARGET_PROJECT_ID
: Es el ID del proyecto del disco nuevo.ZONE
: Es la zona del disco de origen y nuevo.TARGET_DISK_NAME
: Es el nombre del disco nuevo.SOURCE_PROJECT_ID
: Es el ID del proyecto del disco de origen.SOURCE_DISK_NAME
: Es el nombre del disco de origen.
Go
Go
Antes de probar esta muestra, sigue las instrucciones de configuración de Go en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Go de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Java de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Python de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
REST
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==" }, }
Reemplaza lo siguiente:
TARGET_PROJECT_ID
: Es el ID del proyecto del disco nuevo.ZONE
: Es la zona del disco de origen y nuevo.TARGET_DISK_NAME
: Es el nombre del disco nuevo.SOURCE_PROJECT_ID
: Es el ID del proyecto del disco de origen.SOURCE_DISK_NAME
: Es el nombre del disco de origen.
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, utiliza 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
Reemplaza lo siguiente:
TARGET_PROJECT_ID
: Es el ID del proyecto del disco nuevo.ZONE
: Es la zona del disco de origen y nuevo.TARGET_DISK_NAME
: Es el nombre del disco nuevo.SOURCE_PROJECT_ID
: Es el ID del proyecto del disco de origen.SOURCE_DISK_NAME
: Es el nombre del disco de origen.KMS_PROJECT_ID
: Es el ID del proyecto de la clave de encriptación.REGION
: Es la región de la clave de encriptación.KEY_RING
: Es el llavero de claves de la clave de encriptación.KEY
: Es el nombre de la clave de encriptación.
Go
Go
Antes de probar esta muestra, sigue las instrucciones de configuración de Go en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Go de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Java de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Python de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
REST
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" }, }
Reemplaza lo siguiente:
TARGET_DISK_NAME
: Es el nombre del disco nuevo.SOURCE_PROJECT_ID
: Es el ID del proyecto del disco de origen.ZONE
: Es la zona del disco de origen y nuevo.SOURCE_DISK_NAME
: Es el nombre del disco de origen.KMS_PROJECT_ID
: Es el ID del proyecto de la clave de encriptación.REGION
: Es la región de la clave de encriptación.KEY_RING
: Es el llavero de claves de la clave de encriptación.KEY
: Es el nombre de la clave de encriptación.
¿Qué sigue?
- Obtén información sobre cómo trabajar con discos persistentes.
- Obtén información para crear una copia de seguridad de tus discos mediante instantáneas de forma periódica a fin de evitar la pérdida involuntaria de datos.
- Obtén información sobre el uso de discos persistentes regionales para la replicación síncrona entre dos zonas.