El Persistent Disk regional y la alta disponibilidad balanceada de Hyperdisk son opciones de almacenamiento que proporcionan replicación síncrona de datos entre dos zonas de una región. Puedes usar Persistent Disk regionales o alta disponibilidad balanceada de Hyperdisk como un componente básico cuando implementas servicios de alta disponibilidad (HA) en Compute Engine.
En este documento, se explican los diversos casos que pueden interrumpir el funcionamiento de tus discos regionales y cómo puedes administrar estos casos.
Antes de comenzar
- Revisa los conceptos básicos sobre los discos regionales y la conmutación por error. Para obtener más información, consulta Acerca de la replicación de disco síncrona.
-
Si aún no lo hiciste, configura la autenticación.
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 código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Select the tab for how you plan to use the samples on this page:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
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.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
-
Roles obligatorios
Para obtener los permisos que necesitas a fin de migrar datos de discos regionales con un punto de control de recuperación de réplicas, pídele a tu administrador que te otorgue los siguientes roles de IAM:
-
Para migrar datos de disco regionales con un punto de control de recuperación de réplicas, debes tener el rol de Administrador de instancias de Compute (v1) (
roles/compute.instanceAdmin.v1
) en el proyecto. -
Para ver las métricas de los discos regionales (una de las siguientes), haz lo siguiente:
-
Visualizador de supervisión (
roles/monitoring.viewer
) en el proyecto -
Editor de Monitoring (
roles/monitoring.editor
) en el proyecto
-
Visualizador de supervisión (
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para migrar datos de disco regionales mediante un punto de control de recuperación de réplicas. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para migrar datos de discos regionales mediante un punto de control de recuperación de réplicas:
-
Para crear una instantánea estándar a partir del punto de control de recuperación de réplicas, sigue estos pasos:
compute.snapshots.create
-
compute.disks.createSnapshot
-
Para crear un nuevo disco regional a partir de la instantánea estándar, usa
compute.disks.create
-
Para migrar las VMs al disco nuevo, sigue estos pasos:
-
compute.instances.attachDisk
-
compute.disks.use permission
-
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Situaciones de falla
Con los discos regionales, cuando el dispositivo está completamente replicado, los datos se replican automáticamente en dos zonas de una región. Una operación de escritura se confirma en una instancia de procesamiento cuando persiste de manera duradera en ambas réplicas.
Si la replicación a una zona falla o es muy lenta durante un tiempo, el estado de replicación del disco cambia a degradado. En este modo, la escritura se confirma después de que persiste de manera duradera en una réplica.
Si Compute Engine detecta que la replicación se puede reanudar, los datos que se escribieron en una réplica después de que la otra réplica entró en el estado degradado se sincronizan con ambas zonas y el disco vuelve a un estado completamente replicado. Esta transición está completamente automatizada.
RPO y RTO no están definidos mientras un dispositivo está en estado degradado. Para minimizar la pérdida de disponibilidad y de datos en caso de que falle un disco que funciona en un estado degradado, te recomendamos que hagas una copia de seguridad de tus discos regionales con regularidad mediante instantáneas estándar. Para recuperar un disco, restablece la instantánea.
Fallas zonales
Un disco replicado, o regional, se replica de forma síncrona en las réplicas de disco en las zonas principal y secundaria. Las fallas zonales ocurren cuando una réplica zonal deja de estar disponible. Las fallas zonales pueden ocurrir en la zona principal o secundaria por uno de los siguientes motivos:
- Hay una interrupción zonal.
- La réplica experimenta una lentitud excesiva en las operaciones de escritura.
En la siguiente tabla, se proporcionan las diversas situaciones de falla zonales que puedes encontrar en los discos regionales y la acción recomendada para cada situación. En cada una de estas situaciones, se supone que tu réplica zonal principal está en buen estado y sincronizada durante el estado inicial.
Estado inicial del disco | Error en | Nuevo estado del disco | Consecuencias de la falla | Acción que se debe realizar |
---|---|---|---|---|
Réplica principal: Sincronizada Réplica secundaria: Sincronizada Estado del disco: Replicado por completo Disco conectado en: zona principal |
Zona principal |
Réplica principal: Sin sincronizar o no disponible Réplica secundaria: Sincronizada Estado del disco: Degradado Disco conectado en: zona principal |
|
Realiza la conmutación por error del disco forzando su conexión a una VM en la zona secundaria en buen estado. |
Réplica principal: Sincronizada Réplica secundaria: Sincronizada Estado del disco: Replicado por completo Disco conectado en: zona principal |
Zona secundaria |
Réplica principal: Sincronizada Réplica secundaria: Sin sincronizar o no disponible Estado del disco: Degradado Disco conectado en: zona principal |
|
No se requiere ninguna acción. Compute Engine vuelve a sincronizar la réplica en mal estado en la zona secundaria después de que vuelve a estar disponible. |
Réplica principal: Sincronizada Réplica secundaria: Sin sincronizar y no disponible Estado del disco: Degradado Disco conectado en: zona principal |
Zona principal |
Réplica principal: Sincronizada, pero no disponible Réplica secundaria: Sin sincronizar Estado del disco: No disponible Disco conectado en: zona principal |
|
Google recomienda que uses una instantánea estándar existente y crees un disco nuevo para recuperar los datos. Como práctica recomendada, crea una copia de seguridad de los discos regionales con regularidad mediante instantáneas estándar. |
Réplica principal: Sincronizada Réplica secundaria: Se está actualizando, pero está disponible Estado del disco: Se está actualizando Disco conectado en: zona principal |
Zona principal |
Réplica principal: No disponible Réplica secundaria: Se está actualizando, pero está disponible Estado del disco: No disponible Disco conectado en: zona principal |
|
|
Réplica principal: Sincronizada Réplica secundaria: Sin sincronizar, pero disponible Estado del disco: Degradado Disco conectado en: zona principal |
Zona principal |
Réplica principal: No disponible Réplica secundaria: Sin sincronizar, pero disponible Estado del disco: No disponible Disco conectado en: zona principal |
|
|
Fallas de aplicaciones y VM
Si se producen interrupciones debido a una configuración incorrecta de la VM, una actualización incorrecta del SO o alguna falla en la aplicación, puedes force-attach
el disco regional a una instancia de procesamiento en la misma zona que la réplica en buen estado.
Categoría de fallas y (probabilidad) | Tipos de fallas | Acción |
---|---|---|
Falla de la aplicación (alta) |
|
El plano de control de la aplicación puede activar la conmutación por error en función de los umbrales de la verificación de estado. |
Falla de VM (media) |
|
Por lo general, las VM se reparan de forma automática. El plano de control de la aplicación puede activar la conmutación por error en función de los umbrales de la verificación de estado. |
Corrupción de la aplicación (baja-media) |
Corrupción de los datos de aplicación (por ejemplo, debido a errores de la aplicación o a una actualización incorrecta del SO) |
Recuperación de la aplicación:
|
Realiza una conmutación por error de un disco regional con force-attach
En caso de que la zona principal falle, puedes conmutar por error el disco Persistent Disk regional o el volumen de alta disponibilidad balanceada de Hyperdisk (versión preliminar) a una instancia de procesamiento en otra zona mediante una operación de conexión forzada.
Cuando hay una falla en la zona principal, es posible que no puedas desconectar el disco de la instancia porque no se puede acceder a ella para realizar la operación de desconexión. La conexión forzada te permite conectar undisco persistente regional o un volumen de alta disponibilidad balanceada de Hyperdisk a una instancia de procesamiento, incluso si ese volumen está conectado a otra instancia.
Una vez que completes la operación de conexión forzada, Compute Engine evita que la instancia original escriba en el disco regional. La operación de conexión forzada te permite volver a acceder de forma segura a los datos y recuperar el servicio. También tienes la opción de desactivar la instancia de VM de forma manual después de realizar la operación de conexión forzada.
Para forzar la conexión de un disco existente a una instancia de procesamiento, selecciona una de las siguientes tareas:
Console
Ve a la página Instancias de VM.
Elige tu proyecto.
Haz clic en el nombre de la instancia que deseas cambiar.
En la página de detalles, haz clic en Editar.
En la sección Discos adicionales, haz clic en Conectar disco adicional.
Selecciona el disco regional o replicado de forma síncrona en la lista desplegable.
Para forzar la conexión del disco, elige la casilla de verificación Conectar disco a la fuerza.
Haz clic en Listo y, luego, en Guardar.
Puedes realizar los mismos pasos para force-attach
un disco a la instancia de procesamiento original después de que se resuelva la falla.
gcloud
En la gcloud CLI, usa el comando instances attach-disk
para conectar el disco de réplica a una instancia de procesamiento. Incluye la marca --disk-scope
y configúrala como regional
.
gcloud compute instances attach-disk VM_NAME \
--disk DISK_NAME --disk-scope regional \
--force-attach
Reemplaza lo siguiente:
VM_NAME
: Es el nombre de la nueva instancia de procesamiento en la región.DISK_NAME
: Es el nombre del disco regional.
Después de force-attach
el disco, activa los sistemas de archivos en el disco, si es necesario. La instancia de procesamiento puede usar el disco con conexión forzada para continuar con las operaciones de lectura y escritura en el disco.
REST
Crea una solicitud POST
para el método compute.instances.attachDisk
y, luego, incluye la URL del disco regional que acabas de crear.
Para conectar el disco a la instancia de procesamiento nueva, se necesita el parámetro de consulta forceAttach=true
si la instancia de procesamiento principal todavía tiene el disco conectado.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/attachDisk?forceAttach=true
{
"source": "projects/PROJECT_ID/regions/REGION/disks/DISK_NAME"
}
Reemplaza lo siguiente:
PROJECT_ID
: El ID de tu proyectoZONE
: Es la ubicación de tu instancia de procesamiento.VM_NAME
: Es el nombre de la instancia de procesamiento en la que agregas el disco regional.REGION
: Es la región en la que se encuentra el disco regional.DISK_NAME
: Es el nombre del disco regional.
Una vez conectado el disco regional, activa los sistemas de archivos en los discos si es necesario. La instancia de procesamiento puede usar el disco de réplica para continuar con las operaciones de lectura y escritura en el disco.
Conmuta por error un disco de arranque a una instancia secundaria
Solo puedes tener un disco de arranque conectado a una instancia de procesamiento. Cuando se produzca un error en un disco de arranque regional, usa uno de los siguientes métodos, según si la instancia de procesamiento secundaria ya existe:
Si no tienes una VM en espera activa, crea una instancia nueva en la zona secundaria. Cuando crees la segunda instancia, usa el disco regional para el disco de arranque, como se describe en Crea una VM nueva con un disco de arranque regional.
Si tienes una VM en espera en la zona secundaria, reemplaza el disco de arranque de la VM en espera por el disco de arranque regional, como se describe en Conecta un disco de arranque regional a una VM.
Usa el punto de control de recuperación de réplicas para recuperar discos regionales
Un punto de control de recuperación de réplicas representa el momento más coherente frente a fallas en el tiempo de un volumen dePersistent Disk regional o de alta disponibilidad balanceada de Hyperdisk completamente replicado. Compute Engine te permite crear instantáneas estándar desde el punto de control de recuperación de réplicas para discos regionales degradados.
En raras ocasiones, cuando tu disco se degrada, la réplica zonal que se sincroniza con los datos del disco más reciente también puede fallar antes de que la réplica desincronizada se actualice. No podrás forzar la conexión del disco a las instancias de procesamiento de ninguna zona. El disco replicado deja de estar disponible y debes migrar los datos a un disco nuevo. En esas situaciones, si no tienes ninguna instantánea estándar disponible para tu disco, es posible que puedas recuperar los datos del disco desde la réplica incompleta mediante una instantánea estándar creada a partir de una instantánea estándar. punto de control de recuperación de réplicas. Consulta el Procedimiento para migrar y recuperar datos de disco para obtener pasos detallados.
Procedimiento para migrar y recuperar datos de disco
Para recuperar y migrar los datos de un disco regional mediante el punto de control de recuperación de réplicas, sigue estos pasos:
Crea una instantánea estándar del volumen dePersistent Disk regional o de alta disponibilidad balanceada de Hyperdisk afectado desde su punto de control de recuperación de réplicas.
Puedes crear la instantánea estándar para un disco desde su punto de control de recuperación de réplicas solo con gcloud CLI o REST.
gcloud
Para crear una instantánea con el punto de control de recuperación de réplicas, usa el comando
gcloud compute snapshots create
. Incluye la marca--source-disk-for-recovery-checkpoint
para especificar que deseas crear la instantánea con un punto de control de recuperación de réplicas. Excluye los parámetros--source-disk
y--source-disk-region
.gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-for-recovery-checkpoint=SOURCE_DISK \ --source-disk-for-recovery-checkpoint-region=SOURCE_REGION \ --storage-location=STORAGE_LOCATION \ --snapshot-type=SNAPSHOT_TYPE
Reemplaza lo siguiente:
DESTINATION_PROJECT_ID
: Es el ID del proyecto en el que deseas crear la instantánea.SNAPSHOT_NAME
: Es un nombre para la instantánea.SOURCE_DISK
: Es el nombre o la ruta de acceso completa del disco de origen que deseas usar para crear la instantánea. Para especificar la ruta de acceso completa de un disco de origen, usa la siguiente sintaxis:projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME
Si especificas la ruta de acceso completa al disco de origen, puedes excluir la marca
--source-disk-for-recovery-checkpoint-region
. Si solo especificas el nombre del disco, debes incluir esta marca.Para crear una instantánea desde el punto de control de recuperación de un disco de origen en un proyecto diferente, debes especificar la ruta de acceso completa al disco de origen.
SOURCE_PROJECT_ID
: Es el ID del proyecto del disco de origen cuyo punto de control deseas usar para crear la instantánea.SOURCE_REGION
: el nombre del disco de origen cuyo punto de control quieres usar para crear la instantánea.SOURCE_DISK_NAME
: el nombre del disco de origen cuyo punto de control quieres usar para crear la instantánea.STORAGE_LOCATION
: Opcional: 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.
Usa la marca--storage-location
solo cuando quieras anular la ubicación de almacenamiento predeterminada o personalizada establecida en tu configuración de instantáneas.SNAPSHOT_TYPE
: Es el tipo de instantánea, ya sea ESTANDARD o ARCHIVO. Si no se especifica un tipo de instantánea, se crea una instantánea ESTANDARD.
Puedes usar el punto de control de recuperación de réplicas para crear una instantánea solo en discos degradados. Si intentas crear una instantánea desde un punto de control de recuperación de réplicas cuando el dispositivo está completamente replicado, verás el siguiente mensaje de error:
The device is fully replicated and should not create snapshots out of a recovery checkpoint. Please create regular snapshots instead.
REST
Para crear una instantánea con el punto de control de recuperación de réplicas, realiza una solicitud
POST
al métodosnapshots.insert
. Excluye el parámetrosourceDisk
y, en su lugar, incluye el parámetrosourceDiskForRecoveryCheckpoint
para especificar que deseas crear la instantánea con el punto de control.POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDiskForRecoveryCheckpoint": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME", "storageLocations": "STORAGE_LOCATION", "snapshotType": "SNAPSHOT_TYPE" }
Reemplaza lo siguiente:
DESTINATION_PROJECT_ID
: Es el ID del proyecto en el que deseas crear la instantánea.SNAPSHOT_NAME
: Es un nombre para la instantánea.SOURCE_DISK
: Es el nombre o la ruta de acceso completa del disco de origen que deseas usar para crear la instantánea. Para especificar la ruta de acceso completa de un disco de origen, usa la siguiente sintaxis:projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME
Si especificas la ruta de acceso completa al disco de origen, puedes excluir la marca
--source-disk-for-recovery-checkpoint-region
. Si solo especificas el nombre del disco, debes incluir esta marca.Para crear una instantánea desde el punto de control de recuperación de un disco de origen en un proyecto diferente, debes especificar la ruta de acceso completa al disco de origen.
SOURCE_PROJECT_ID
: Es el ID del proyecto del disco de origen cuyo punto de control deseas usar para crear la instantánea.SOURCE_REGION
: el nombre del disco de origen cuyo punto de control quieres usar para crear la instantánea.SOURCE_DISK_NAME
: el nombre del disco de origen cuyo punto de control quieres usar para crear la instantánea.STORAGE_LOCATION
: Opcional: 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.
Usa el parámetrostorageLocations
solo cuando quieras anular la ubicación de almacenamiento predeterminada o personalizada establecida en tu configuración de instantáneas.SNAPSHOT_TYPE
: Es el tipo de instantánea, ya sea ESTANDARD o ARCHIVO. Si no se especifica un tipo de instantánea, se crea una instantánea ESTANDARD.
Puedes usar el punto de control de recuperación de réplicas para crear una instantánea solo en discos degradados. Si intentas crear una instantánea desde un punto de control de recuperación de réplicas cuando el dispositivo está completamente replicado, verás el siguiente mensaje de error:
The device is fully replicated and should not create snapshots out of a recovery checkpoint. Please create regular snapshots instead.
Crea un nuevo disco Persistent Disk regional o disco de alta disponibilidad balanceada de Hyperdisk con esta instantánea. Cuando creas el disco nuevo, recuperas todos los datos del punto de control de recuperación de réplicas más reciente restableciéndolos en el disco nuevo a partir de la instantánea. Para obtener pasos detallados, consulta Crea una instancia nueva con un disco de arranque regional.
Migra todas las cargas de trabajo de la VM al disco creado recientemente y valida que estas cargas de trabajo de la VM se ejecuten correctamente. Para obtener más información, consulta Cómo mover una VM entre zonas o regiones.
Después de recuperar y migrar los datos y las VMs del disco al discoPersistent Disk regional o de alta disponibilidad balanceada de Hyperdisk que se acaba de crear, puedes reanudar las operaciones.
Determina el RPO que proporciona el punto de control de recuperación de réplicas
En esta sección, se explica cómo determinar el RPO que proporciona el punto de control de recuperación de la réplica más reciente de un volumen de Persistent Disk regional o alta disponibilidad balanceada de Hyperdisk.
Las réplicas zonales están completamente sincronizadas
Compute Engine actualiza el punto de control de recuperación de réplica de tu disco Persistent Disk regional o volumen de alta disponibilidad balanceada de Hyperdisk aproximadamente cada 10 minutos. Como resultado, cuando tus réplicas zonales están completamente sincronizadas, el RPO es de aproximadamente 10 minutos.
Las réplicas zonales no están sincronizadas
No puedes ver las marcas de tiempo de creación y actualización exactas de un punto de control de recuperación de réplicas. Sin embargo, puedes estimar el RPO aproximado que proporciona tu punto de control más reciente con los siguientes datos:
- La marca de tiempo más reciente del estado del disco replicado por completo: Puedes obtener esta información con los datos de Cloud Monitoring para la métrica
replica_state
del disco regional. Verifica los datos de la métricareplica_state
de la réplica desincronizada para determinar cuándo se desincronizó. Debido a que Compute Engine actualiza el punto de control del disco cada 10 minutos, la actualización más reciente del punto de control podría haber ocurrido aproximadamente 10 minutos antes de esta marca de tiempo. - La marca de tiempo de la operación de escritura más reciente: Puedes obtener esta información con los datos de Cloud Monitoring para la métrica
write_ops_count
del disco regional. Verifica los datos de la métricawrite_ops_count
para determinar la operación de escritura más reciente del disco.
Después de determinar estas marcas de tiempo, usa la siguiente fórmula para calcular el RPO aproximado que proporciona el punto de control de recuperación de réplicas de tu disco. Si el valor calculado es menor que cero, el RPO es, en efecto, cero.
Approximate RPO provided by the latest checkpoint =
(Most recent write operation timestamp - (Most recent timestamp of the fully
replicated disk state - 10 minutes))
¿Qué sigue?
- Obtén información para supervisar los estados de las réplicas y el estado de la replicación de los discos regionales.
- Obtén información para determinar el estado exacto de la replicación del disco.
- Obtén más información para crear una instantánea de un disco.
- Obtén información para compilar servicios de alta disponibilidad con discos regionales.
- Aprende a compilar aplicaciones web escalables y resilientes en Google Cloud.
- Revisa la guía de planificación para la recuperación ante desastres.