Conmutación por error manual

Esta página ofrece una descripción general de la conmutación por error manual para Memorystore para Redis. Para aprender a realizar una conmutación por error, consulta Inicia una conmutación por error manual.

¿Qué es una conmutación por error manual?

Una instancia de nivel estándar de Memorystore para Redis usa un nodo de réplica para crear una copia de seguridad del nodo principal. Una conmutación por error normal ocurre cuando el nodo principal se encuentra en mal estado, lo que hace que la réplica se designe como la instancia principal nueva. Una conmutación por error manual difiere de una conmutación por error normal porque la inicias tú mismo. Para obtener más información acerca de cómo funciona la replicación de Memorystore para Redis, consulta Alta disponibilidad.

¿Por qué debería iniciar una conmutación por error manual?

Iniciar una conmutación por error manual te permite probar cómo responde tu aplicación ante una conmutación por error. Este conocimiento puede garantizar un proceso de conmutación por error más fluido si se produce una conmutación por error inesperada más adelante.

Modo de protección de datos opcional

Los dos modos de protección de datos disponibles son los siguientes:

  • Modo limited-data-loss (predeterminado).
    • La conmutación por error manual siempre se ejecuta en el modo de pérdida de datos limitado, a menos que cambies el modo.
  • Modo force-data-loss

Para cambiar el modo de protección de datos, usa uno de los siguientes comandos:

gcloud redis instances failover INSTANCE_NAME --data-protection-mode=force-data-loss

o

gcloud redis instances failover INSTANCE_NAME --data-protection-mode=limited-data-loss

Cómo funcionan los modos de protección de datos

Si deseas probar cómo se comportará tu aplicación en una situación de conmutación por error real, puedes usar el modo force-data-loss porque representa con mayor precisión las condiciones de una conmutación por error durante una recuperación ante desastres.

Cualquier conmutación por error desde la réplica principal a la réplica pone en riesgo pérdida de datos. El modo limited-data-loss hace que haya una mínima pérdida de datos mediante la verificación de la diferencia de sincronización entre tu réplica principal y la réplica por debajo de 30 MB antes de iniciar la conmutación por error.

El modo force-data-loss anula esta verificación en la sincronización de la réplica principal. Si usas el modo force-data-loss cuando a la sincronización de la réplica le faltan más de 30 MB con respecto a la instancia principal, podrías perder 30 MB de datos o más.

Métrica de bytes con replicación pendiente

La métrica Bytes con replicación pendiente indica cuántos bytes restantes necesita copiar la réplica antes de que se cree una copia de seguridad completa. Observarás un aumento en los bytes pendientes a medida que la réplica principal se replica a lo largo de una conmutación por error.

Puedes acceder a esta métrica en Google Cloud Console en la página de detalles de la instancia. Para ver la página de detalles de la instancia, haz clic en el ID de la instancia en la página de la lista de instancias de tu proyecto.

De manera alternativa, accede al explorador de métricas de Google Cloud's operations suite para tu proyecto y busca la métrica redis.googlapis.com/replication/offset_diff.

Cuándo ejecutar una conmutación por error manual

La conmutación por error manual con el modo de protección limited-data-loss predeterminado solo funciona si la métrica de bytes con replicación pendiente es inferior a 30 MB. Si deseas ejecutar una conmutación por error manual con bytes con replicación pendiente superiores a 30 MB, usa el modo de protección force-data-loss.

Si intentas conservar la mayor cantidad de datos posible, evita temporalmente que tu aplicación escriba en la instancia de Redis y espera a ejecutar la conmutación por error manual hasta que la métrica de bytes con replicación pendiente sea lo más baja posible. .

Posibles problemas que bloquean una conmutación por error manual

  • Ejecutar una conmutación por error manual en una instancia de nivel Básico no funciona porque las instancias de nivel Básico no tienen réplicas.

  • Si tu instancia de Redis está en mal estado, entonces la operación de conmutación por error manual se bloquea.

  • Si tu instancia tiene operaciones incompletas, como escalamientos o actualizaciones, la operación de conmutación por error manual se bloquea. Debes esperar hasta que tu instancia esté en estado READY para ejecutar una conmutación por error manual.

Conexión de la aplicación cliente

Cuando el nodo principal se conmuta por error a la réplica, las conexiones existentes con Memorystore para Redis se descartan. Sin embargo, cuando se vuelve a conectar, tu aplicación se redirecciona automáticamente al nuevo nodo principal mediante la misma string de conexión o dirección IP.

Verifica una conmutación por error manual

Puedes verificar el éxito de una operación de conmutación por error manual con Google Cloud Console, Google Cloud's operations suite o gcloud.

Verificación de Google Cloud Console

Antes de iniciar una conmutación por error manual, ve a la página de lista de instancias de Memorystore para Redis y haz clic en el nombre de tu instancia.

Luego, en Propiedades de la instancia, observa las zonas en las que se encuentran el nodo principal y la réplica. Anota las zonas. Revisa esta página nuevamente cuando completes la conmutación por error manual para confirmar si el nodo principal y el nodo de réplica cambiaron las zonas.

Verificación de Cloud Monitoring

Si quieres usar el Explorador de métricas para ver las métricas de un recurso supervisado, sigue estos pasos:

  1. En Google Cloud Console, ve a la página Explorador de métricas en Monitoring.
  2. Ir al Explorador de métricas

  3. En la barra de herramientas, selecciona la pestaña Explorador.
  4. Selecciona la pestaña Configuración.
  5. Expande el menú Seleccionar una métrica, ingresa Node role en la barra de filtros y, luego, usa los submenús para seleccionar una métrica y un tipo de recurso específicos:
    1. En el menú Recursos activos, selecciona Cloud Memorystore Redis.
    2. En el menú Categorías de métricas activas, selecciona replicación.
    3. En el menú Métricas activas, selecciona Función de nodo.
    4. Haga clic en Aplicar.
  6. Opcional: Para configurar cómo se visualizan los datos, agrega filtros y usa los menús Agrupar por, Agregador y tipo de gráfico. Por ejemplo, puedes agrupar por etiquetas de recursos o métricas. Para obtener más información, consulta Selecciona métricas cuando uses el Explorador de métricas.
  7. Opcional: Cambia la configuración del gráfico:
    • Para obtener cuotas y otras métricas que informen una muestra por día, establece el período en al menos una semana y el tipo de trazado en Gráfico de barras apiladas.
    • Para las métricas con valor de distribución, establece el tipo de trazado en Gráfico de mapa de calor.

El gráfico de Cloud Monitoring representa el nodo principal y el de réplica con dos líneas. Si la línea de un nodo tiene un valor de cero en el gráfico, es el nodo de réplica. Si la línea de un nodo tiene un valor de uno en el gráfico, es el nodo principal. El gráfico representa una conmutación por error mostrando cómo las líneas cambian de uno a cero, y de cero a uno, respectivamente.

Verificación gcloud

Antes de iniciar una conmutación por error manual, usa el siguiente comando para verificar en qué zona se encuentra tu nodo principal:

gcloud redis instances describe [INSTANCE_ID] --region=[REGION]

Tu nodo principal se encuentra en la zona con la etiqueta currentLocationId. Anota la zona.

Después de completar una conmutación por error manual, puedes confirmar que tu nodo principal haya cambiado a una nueva zona mediante la ejecución del comando gcloud redis instances describe y verifica que currentLocationId haya cambiado la zona.

Además, la etiqueta locationId te indica la zona en la que aprovisionaste originalmente tu nodo principal. La etiqueta alternativeLocationId te indica la zona en la que el sistema aprovisionó originalmente tu nodo de réplica. Cada vez que ocurre una conmutación por error, el nodo principal y el de réplica se cambian entre estas dos zonas. Sin embargo, las zonas asociadas con locationId y alternativeLocationId no cambian.