Configura la alta disponibilidad

El propósito de una configuración de alta disponibilidad es reducir el tiempo de inactividad cuando una instancia de clúster de base de datos deja de estar disponible. Esto puede ocurrir cuando una instancia se queda sin memoria. Con la alta disponibilidad, tus datos siguen estando disponibles para aplicaciones cliente.

Dentro de un sitio, la configuración se compone de una instancia principal y una réplica en espera. Todas las operaciones de escritura realizadas en la instancia principal se replican en la réplica en espera antes de que una transacción se informe como confirmada. En caso de una falla en la instancia, puedes solicitar que la réplica en espera se convierta en la nueva instancia principal. Luego, el tráfico de la aplicación se redirige a la nueva instancia principal. Este proceso se denomina conmutación por error.

Puedes activar una conmutación por error de forma manual en cualquier momento. La conmutación por error implica el siguiente proceso, en orden:

  1. El GDC desconecta la instancia principal.

  2. GDC convierte la réplica en espera en el nuevo clúster de base de datos activo.

  3. GDC borra el clúster de base de datos activo anterior.

  4. GDC crea una nueva réplica en espera.

Actualiza un clúster existente

Puedes actualizar la configuración de alta disponibilidad de un clúster de base de datos existente de la siguiente manera:

Console

  1. En el menú de navegación, selecciona Database Service.

  2. En la lista de clústeres de bases de datos, haz clic en el clúster de bases de datos que deseas actualizar.

  3. Selecciona editar Editar en la sección Alta disponibilidad.

    Edita la configuración de alta disponibilidad de un clúster de base de datos.

  4. Selecciona Habilitar la instancia en espera en la misma zona para activar o desactivar la disponibilidad de una instancia en espera en la misma zona que tu clúster de base de datos principal.

  5. Haz clic en Guardar.

  6. Para verificar que tu clúster de base de datos refleje la actualización de alta disponibilidad, consulta su estado en la columna Alta disponibilidad de la lista de clústeres de bases de datos.

gdcloud

  1. Actualiza la configuración de alta disponibilidad de tu clúster de base de datos:

    gdcloud database clusters update CLUSTER_NAME \
        --availability-type HA_TYPE
    

    Reemplaza lo siguiente:

    • CLUSTER_NAME: Es el nombre del clúster de la base de datos.
    • HA_TYPE: Es el nivel de alta disponibilidad del clúster de base de datos. Puedes establecer zonal o zonal_ha. El valor zonal se establece de forma predeterminada.
  2. Verifica que tu clúster de base de datos refleje la actualización de alta disponibilidad:

    gdcloud database clusters list
    

API

  1. Actualiza la configuración de alta disponibilidad de tu clúster de base de datos:

      kubectl patch dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME \
        -n USER_PROJECT \
        -p '{"spec": {"availability": {"enableHighAvailability": HA_ENABLED}}}' \
        --type=merge
    

    Reemplaza las siguientes variables:

    • DBCLUSTER_NAME: Es el nombre del clúster de la base de datos.
    • USER_PROJECT: Es el nombre del proyecto del usuario en el que se creó el clúster de la base de datos.
    • HA_ENABLED: Es el nivel de alta disponibilidad del clúster de la base de datos. Puedes establecer true o false. El valor false se establece de forma predeterminada.
  2. Verifica que tu clúster de base de datos refleje la actualización de alta disponibilidad:

    kubectl get dbcluster.DBENGINE_NAME.dbadmin.gdc.goog DBCLUSTER_NAME \
      -n USER_PROJECT \
      -o yaml
    

Migra a la implementación de alta disponibilidad más reciente

Para verificar que tu clúster de base de datos de alta disponibilidad esté usando la implementación más reciente, comprueba si la anotación dbcluster.dbadmin.goog/raasEnabled existe en el CR de tu clúster de base de datos de alta disponibilidad. Esta anotación solo aparecerá en los clústeres que usen la nueva implementación. Si no tienes esta anotación, puedes habilitarla y migrar tu clúster con los siguientes pasos:

  1. Consulta con tu operador de infraestructura para asegurarte de que tu entorno de GDC se haya actualizado a la versión 1.15.1 o posterior.
  2. Inhabilita la alta disponibilidad en tu clúster de base de datos. Espera a que desaparezca la condición HAReady y, luego, vuelve a habilitar la alta disponibilidad.
  3. Después de ver HAReady in progress o HAReady setup complete, verifica si tu CR de clúster de base de datos tiene la anotación dbcluster.dbadmin.goog/raasEnabled. Si aparece, significa que tu clúster de base de datos se migró correctamente.

Activa una conmutación por error

Si configuraste la alta disponibilidad para tu clúster de base de datos, puedes activar una conmutación por error. Para activar una conmutación por error, completa los siguientes pasos:

Console

  1. En el menú de navegación, selecciona Database Service.

  2. En la lista de clústeres de bases de datos, haz clic en el clúster de bases de datos para el que deseas activar una conmutación por error. Tu clúster de base de datos debe tener habilitada la alta disponibilidad para ser apto para una conmutación por error.

  3. Haz clic en Conmutación por error.

  4. Escribe el ID del clúster para la frase de confirmación y haz clic en Conmutación por error para activar el proceso de conmutación por error.

gdcloud

  • Activa la conmutación por error para el clúster de base de datos:

    gdcloud database clusters failover CLUSTER_NAME
    

    Reemplaza CLUSTER_NAME por el nombre del clúster de la base de datos.

API

  apiVersion: fleet.dbadmin.gdc.goog/v1
  kind: Failover
  metadata:
    name: FAILOVER_NAME
  spec:
    dbclusterRef: DBCLUSTER_NAME

Reemplaza las siguientes variables:

  • DBCLUSTER_NAME, el nombre del clúster de la base de datos
  • FAILOVER_NAME, el nombre único de la conmutación por error, por ejemplo, failover-sample.