Crear copias de seguridad y restaurar en Kubernetes

Selecciona una versión de la documentación:

En esta página se explica cómo crear copias de seguridad y restaurar datos de AlloyDB Omni mediante el operador de Kubernetes de AlloyDB Omni. Para ello, debes tener conocimientos básicos sobre cómo actualizar un clúster de Kubernetes con archivos de manifiesto y la herramienta de línea de comandos kubectl. Para obtener más información sobre cómo instalar y ejecutar AlloyDB Omni en un clúster de Kubernetes, consulta Instalar AlloyDB Omni en Kubernetes.

Para habilitar la copia de seguridad y recuperación continuas de AlloyDB Omni, debes crear un plan de copias de seguridad para cada clúster de bases de datos. Las copias de seguridad se crean en función de las programaciones de copias de seguridad definidas en el recurso backupPlan. Si no se define ninguna programación de copias de seguridad en el plan de copias de seguridad, se realizan copias de seguridad continuas a diario de forma predeterminada. Puedes restaurar o clonar copias de seguridad de cualquier marca de tiempo de la ventana de recuperación con una granularidad de segundos.

Para obtener información sobre cómo crear copias de seguridad y restaurar los datos de AlloyDB Omni en implementaciones que no sean de Kubernetes, consulta Configurar Barman para AlloyDB Omni y Configurar pgBackRest para AlloyDB Omni.

Habilitar y programar copias de seguridad

Las copias de seguridad continuas se habilitan cuando creas un recurso de plan de copias de seguridad para tu clúster de base de datos. Debe crear un recurso backupPlan para cada clúster de base de datos para habilitar la copia de seguridad continua de ese clúster. Este recurso de plan de copia de seguridad define los siguientes parámetros:

  • Ubicación en la que el operador de AlloyDB Omni almacena las copias de seguridad. Puede ser local en tu clúster de Kubernetes o en un segmento de Cloud Storage.

  • Opción para definir varias programaciones de copias de seguridad que creen automáticamente copias de seguridad full, incremental y differential. Puedes pausar esta programación en cualquier momento, incluso cuando definas el plan de copia de seguridad por primera vez. Si un plan de copia de seguridad está en pausa, no se crearán copias de seguridad programadas, pero podrás seguir usándolo para crear copias de seguridad manualmente.

    Si no se especifica ninguna programación de copias de seguridad, el valor predeterminado es "0 0 * * *", que crea una copia de seguridad completa diaria a medianoche (hora local).

  • Un periodo de conservación de las copias de seguridad almacenadas. Puede ser de un día o de hasta 90 días. El valor predeterminado es 14.

Tu clúster de base de datos puede tener varios planes de copias de seguridad, cada uno con su propio nombre y configuración. Si crea varios recursos backupPlan con diferentes programaciones de copias de seguridad para un clúster de bases de datos, debe definir una ubicación de copia de seguridad única para cada recurso de copia de seguridad.

Crear un plan para almacenar copias de seguridad de forma local

Para habilitar las copias de seguridad que se almacenan localmente, aplica el siguiente manifiesto:

    apiVersion: alloydbomni.dbadmin.goog/v1
    kind: BackupPlan
    metadata:
      name: BACKUP_PLAN_NAME
      namespace: NAMESPACE
    spec:
      dbclusterRef: DB_CLUSTER_NAME
      backupSchedules:
        full: "FULL_CRON_SCHEDULE"
        differential: "DIFF_CRON_SCHEDULE"
        incremental: "INCR_CRON_SCHEDULE"
      backupRetainDays: RETENTION_DAYS
      paused: PAUSED_BOOLEAN

Haz los cambios siguientes:

  • BACKUP_PLAN_NAME: un nombre para este plan de copia de seguridad de recursos, por ejemplo, backup-plan-1.

  • NAMESPACE: el espacio de nombres de Kubernetes de este plan de copia de seguridad. Debe coincidir con el espacio de nombres del clúster de la base de datos.

  • DB_CLUSTER_NAME: el nombre del clúster de tu base de datos, que asignaste cuando lo creaste.

  • FULL_CRON_SCHEDULE: una programación de copias de seguridad para crear una copia de seguridad completa que contenga todos los datos, expresada en formato cron. Por ejemplo, si se define como "0 0 * * 0", se hará una copia de seguridad completa todos los domingos a las 00:00.

  • DIFF_CRON_SCHEDULE: una programación de copias de seguridad para crear copias de seguridad que inicialmente sean completas. Las copias de seguridad posteriores son diferenciales y se basan en los cambios que se hayan producido en los datos, expresados en cron formato. Por ejemplo, si se define como "0 22 * * 3", se creará una copia de seguridad diferencial todos los miércoles a las 22:00.

  • INCR_CRON_SCHEDULE: una programación de copias de seguridad para crear copias de seguridad que incluyan los datos que hayan cambiado desde la última copia de seguridad completa, diferencial o incremental. Se expresa en el cronformato. Por ejemplo, define el valor "0 21 * * *" para crear una copia de seguridad incremental a las 21:00 todos los días.

  • RETENTION_DAYS: número de días durante los que el operador de AlloyDB Omni conserva esta copia de seguridad. Debe ser un número entero comprendido entre 1 y 90. El valor predeterminado es 14.

  • PAUSED_BOOLEAN: especifica si el plan de copia de seguridad está en pausa o no. Proporciona uno de los siguientes valores:

    • true: las copias de seguridad están en pausa y no se crea ninguna copia de seguridad programada.

    • false: el operador de AlloyDB Omni crea copias de seguridad según la programación especificada por cronSchedule. Este es el valor predeterminado si no se define explícitamente como true.

    El valor predeterminado es false.

Crear un plan que almacene copias de seguridad en Cloud Storage

Para habilitar las copias de seguridad que se almacenan en Cloud Storage, sigue estos pasos:

  1. Crea un segmento de Cloud Storage. Anota el nombre que asignes a este segmento, ya que lo necesitarás en un paso posterior.

  2. Crea una cuenta de servicio para añadir copias de seguridad al contenedor.

  3. Asigna el rol storage.objectAdmin Gestión de Identidades y Accesos a la cuenta de servicio.

  4. Crea una clave para la cuenta de servicio. De esta forma, se descarga la clave privada en tu entorno local.

  5. Cambia el nombre del archivo de clave descargado a key.json.

  6. Crea un secreto de Kubernetes que contenga la clave privada:

    kubectl create secret generic SECRET_NAME --from-file=KEY_PATH -n NAMESPACE

    Haz los cambios siguientes:

    • SECRET_NAME: el nombre del secreto de Kubernetes que vas a crear (por ejemplo, gcs-key).

    • KEY_PATH: la ruta del sistema de archivos local al archivo key.json que has descargado en los pasos anteriores.

    • NAMESPACE: el espacio de nombres del clúster de la base de datos.

  7. Aplica el siguiente archivo de manifiesto:

      apiVersion: alloydbomni.dbadmin.goog/v1
      kind: BackupPlan
      metadata:
        name: BACKUP_PLAN_NAME
        namespace: NAMESPACE
      spec:
        dbclusterRef: DB_CLUSTER_NAME
        backupSchedules:
          full: "FULL_CRON_SCHEDULE"
          differential: "DIFF_CRON_SCHEDULE"
          incremental: "INCR_CRON_SCHEDULE"
        backupRetainDays: RETENTION_DAYS
        paused: PAUSED_BOOLEAN
        backupLocation:
          type: GCS
          gcsOptions:
            bucket: BUCKET_URL
            key: BACKUP_PATH
            secretRef:
              name: SECRET_NAME
              namespace: NAMESPACE
    

    Haz los cambios siguientes:

    • BACKUP_PLAN_NAME: un nombre para este plan de copia de seguridad de recursos, por ejemplo, backup-plan-1.

    • NAMESPACE: el espacio de nombres de Kubernetes de este plan de copia de seguridad. Debe coincidir con el espacio de nombres del clúster de la base de datos.

    • DB_CLUSTER_NAME: el nombre del clúster de tu base de datos, que asignaste cuando lo creaste.

    • FULL_CRON_SCHEDULE: una programación de copias de seguridad para crear una copia de seguridad completa que contenga todos los datos, expresada en formato cron. Por ejemplo, si se define como "0 0 * * 0", se hará una copia de seguridad completa todos los domingos a las 00:00.

    • DIFF_CRON_SCHEDULE: una programación de copias de seguridad para crear copias de seguridad que inicialmente sean completas. Las copias de seguridad posteriores son diferenciales y se basan en los cambios que se hayan producido en los datos, expresados en cron formato. Por ejemplo, si se define como "0 22 * * 3", se creará una copia de seguridad diferencial todos los miércoles a las 22:00.

    • INCR_CRON_SCHEDULE: una programación de copias de seguridad para crear copias de seguridad que incluyan los datos que hayan cambiado desde la última copia de seguridad completa, diferencial o incremental. Se expresa en el cronformato. Por ejemplo, define el valor "0 21 * * *" para crear una copia de seguridad incremental a las 21:00 todos los días.

    • RETENTION_DAYS: número de días durante los que el operador de AlloyDB Omni conserva esta copia de seguridad. Debe ser un número entero comprendido entre 1 y 90. El valor predeterminado es 14.

    • PAUSED_BOOLEAN: especifica si el plan de copia de seguridad está en pausa o no. Proporciona uno de los siguientes valores:

      • true: las copias de seguridad están en pausa y no se crea ninguna copia de seguridad programada.

      • false: el operador de AlloyDB Omni crea copias de seguridad según la programación especificada por cronSchedule. Este es el valor predeterminado si no se define explícitamente como true.

      El valor predeterminado es false.

    • BUCKET_URL: el nombre del segmento de Cloud Storage que has creado en un paso anterior. No es la URL completa del segmento. No añadas el prefijo gs:// al nombre del segmento.

    • BACKUP_PATH: la ruta del directorio en el que el operador de AlloyDB Omni escribe las copias de seguridad, dentro del bucket de Cloud Storage. La ruta debe ser absoluta y empezar por /.

    • SECRET_NAME: el nombre que has elegido para el secreto de Kubernetes que has creado en un paso anterior.

Crear copias de seguridad en almacenamiento compatible con S3

Puede usar el campo s30options para enviar copias de seguridad a endpoints compatibles con S3.

Los pasos del siguiente procedimiento son generales. Para obtener instrucciones específicas sobre tu caso de uso, consulta la documentación de tu proveedor de S3.

Para habilitar las copias de seguridad en tu almacenamiento compatible con S3, sigue estos pasos generales:

  1. Crea un segmento de almacenamiento de S3. Anota el nombre que asignes a este contenedor, ya que lo usarás en un paso posterior.
  2. Para acceder al segmento de almacenamiento de S3, crea una entidad principal, por ejemplo, una cuenta de servicio o un usuario. Ponte en contacto con tu proveedor de S3 para saber si tienes que asignar un rol o una política predefinidos al principal.
  3. Concede acceso de lectura y escritura al principal que has creado en el paso anterior. Este paso te permite leer y escribir en el segmento de almacenamiento de S3.
  4. Crea una clave de acceso para el principal que has creado. La clave de acceso incluye un ID de clave y un secreto de clave. Esta operación descarga la clave en tu entorno local.
  5. Crea un secreto de Kubernetes que contenga la clave:

    kubectl create secret generic SECRET_NAME --from-literal=access-key-id=KEY_ID --from-literal=access-key=KEY -n NAMESPACE

    Haz los cambios siguientes:

    • SECRET_NAME: el nombre del secreto de Kubernetes que vas a crear. Por ejemplo, s3-key.
    • KEY_ID: el ID de clave de tu clave de acceso.
    • KEY: el secreto de la clave de acceso.
    • NAMESPACE: el espacio en el que se guarda el nombre del secreto. Este valor debe ser único.
  6. Aplica el siguiente archivo de manifiesto:

    apiVersion: alloydbomni.dbadmin.goog/v1
    kind: BackupPlan
    metadata:
      name: BACKUP_PLAN_NAME
      namespace: NAMESPACE
    spec:
      dbclusterRef: DB_CLUSTER_NAME
      backupSchedules:
        full: "FULL_CRON_SCHEDULE"
        differential: "DIFF_CRON_SCHEDULE"
        incremental: "INCR_CRON_SCHEDULE"
      backupRetainDays: RETENTION_DAYS
      paused: PAUSED_BOOLEAN
      backupLocation:
        type: S3
        s3Options:
          bucket: BUCKET_NAME
          region: REGION
          endpoint: S3ENDPOINT
          key: BACKUP_PATH
          secretRef:
            namespace: NAMESPACE
            name: SECRET_NAME
          certRef:
            name: CA_BUNDLE_SECRET_NAME
            namespace: NAMESPACE
    

    Haz los cambios siguientes:

    • BACKUP_PLAN_NAME: un nombre para este recurso de plan de copia de seguridad. Por ejemplo, backup-plan-1.
    • NAMESPACE: el espacio de nombres de Kubernetes de este plan de copia de seguridad. El espacio de nombres debe coincidir con el espacio de nombres del clúster de la base de datos.
    • DB_CLUSTER_NAME: el nombre del clúster de tu base de datos, que asignaste cuando lo creaste.
    • FULL_CRON_SCHEDULE: una programación de copias de seguridad para crear una copia de seguridad completa que contenga todos los datos, expresada en formato cron. Por ejemplo, para hacer una copia de seguridad completa todos los domingos a las 00:00, defina FULL_CRON_SCHEDULE como
      0 0 * * 0.
    • DIFF_CRON_SCHEDULE: una programación de copias de seguridad para crear copias de seguridad que, inicialmente, sean completas. Las copias de seguridad posteriores son diferenciales y se basan en los cambios que se hayan producido en los datos, expresados en formato cron. Por ejemplo, para hacer una copia de seguridad diferencial a las 22:00 todos los miércoles, selecciona 0 22 * * 3 .
    • INCR_CRON_SCHEDULE: una programación de copias de seguridad para crear copias de seguridad que incluyan los datos que hayan cambiado desde la última copia de seguridad completa, diferencial o incremental. Se expresa en el formato cron. Por ejemplo, para hacer una copia de seguridad incremental a las 21:00 todos los días, define este valor como 0 21 * * * .
    • RETENTION_DAYS: número de días durante los que el operador de AlloyDB Omni de Kubernetes conserva esta copia de seguridad. Este parámetro debe ser un número entero comprendido entre 1 y 90. El valor predeterminado es 14.
    • PAUSED_BOOLEAN: especifica si el plan de copia de seguridad está en pausa o no. Proporciona uno de los siguientes valores:
      • true: las copias de seguridad están en pausa y no se crea ninguna copia de seguridad programada.
      • false: el valor predeterminado. El operador de AlloyDB Omni crea copias de seguridad según la programación especificada por cronSchedule. Este es el valor predeterminado si no se define explícitamente como true.
    • BUCKET_NAME: el nombre del segmento de almacenamiento de S3 que has creado. El nombre del segmento no es la URL completa del segmento. No añadas el prefijo gs:// al nombre del segmento.
    • REGION: la región en la que se almacena el segmento de S3.
    • S3ENDPOINT: el endpoint del segmento de almacenamiento de S3.
    • BACKUP_PATH: la ruta del directorio en el que el operador de AlloyDB Omni escribe las copias de seguridad, dentro del contenedor de almacenamiento de S3. La ruta debe ser absoluta y empezar por /.
    • NAMESPACE: el espacio en el que el nombre del secreto debe ser único.
    • SECRET_NAME: el nombre que has elegido para el secreto de Kubernetes que has creado.
    • CA_BUNDLE_SECRET_NAME: un conjunto de certificados de AC codificados en PEM que el servidor de S3 usa para validar el certificado. Asegúrate de que el paquete se incluya en el secreto con una clave llamada ca.crt.

      En el siguiente ejemplo se muestra cómo crear un secreto que contenga el certificado, donde PEM_FILE_PATH es la ruta al archivo del paquete ca:

      kubectl create secret generic CA_BUNDLE_SECRET_NAME -n NAMESPACE --from-file=ca.crt=PEM_FILE_PATH
      

Crear una copia de seguridad manualmente

Puedes crear manualmente un recurso de copia de seguridad en cualquier momento, utilizando cualquier plan de copias de seguridad que ya hayas aplicado a un clúster de bases de datos. El operador de AlloyDB Omni aplica la ubicación de almacenamiento y el periodo de conservación del plan de copia de seguridad elegido a la nueva copia de seguridad manual.

Para crear una copia de seguridad manualmente, aplica el siguiente manifiesto:

apiVersion: alloydbomni.dbadmin.goog/v1
kind: Backup
metadata:
  name: BACKUP_NAME
  namespace: NAMESPACE
spec:
  dbclusterRef: DB_CLUSTER_NAME
  backupPlanRef: BACKUP_PLAN_NAME
  manual: true
  physicalBackupSpec:
    backupType: BACKUP_TYPE

Haz los cambios siguientes:

  • BACKUP_NAME: un nombre para esta copia de seguridad (por ejemplo, backup-1).

  • NAMESPACE: el espacio de nombres de Kubernetes de esta restauración. Debe coincidir con el espacio de nombres del clúster de la base de datos.

  • BACKUP_PLAN_NAME: nombre del recurso del plan de copia de seguridad al que pertenece esta copia de seguridad. Debe coincidir con el nombre que elegiste al crear el plan de respaldo.

  • DB_CLUSTER_NAME: el nombre del clúster de tu base de datos, que asignaste cuando lo creaste.

  • BACKUP_TYPE: especifica el tipo de copia de seguridad manual que quieres crear. Elige uno de los siguientes valores:

    • full: crea una copia de seguridad completa que contiene todos los datos.

    • diff: crea una copia de seguridad diferencial que depende de la última copia de seguridad completa. Las copias de seguridad posteriores son diferenciales y se basan en los cambios que se hayan producido en los datos.

    • incr: crea una copia de seguridad incremental que depende de la copia de seguridad completa o diferencial anterior para incluir los datos que han cambiado desde la última copia de seguridad completa o diferencial.

Monitorizar y mostrar copias de seguridad

Tus planes de copias de seguridad y tus copias de seguridad son recursos de tu clúster de Kubernetes. Para ver información sobre ellos, usa el comando kubectl get.

Ver un resumen de un plan de copias de seguridad

Para ver información sobre los planes de copias de seguridad de tu clúster de bases de datos, ejecuta el siguiente comando:

kubectl get backupplan.alloydbomni.dbadmin.goog -n NAMESPACE

Sustituye NAMESPACE por el espacio de nombres del clúster de bases de datos.

La salida es similar a la siguiente:

NAME               PHASE   LASTBACKUPTIME         NEXTBACKUPTIME
backup-plan-prod   Ready   2023-10-26T17:26:43Z   2023-10-27T00:00:00Z

Ver una lista de copias de seguridad

Para ver una lista de las copias de seguridad disponibles para tu clúster de base de datos, ejecuta el siguiente comando:

kubectl get backup.alloydbomni.dbadmin.goog -n NAMESPACE

Sustituye NAMESPACE por el espacio de nombres del clúster de bases de datos.

La salida es similar a la siguiente:

NAME                              PHASE       COMPLETETIME
backup-plan-prod-20231026172643   Succeeded   2023-10-26T17:26:53Z
manual-backup-1                   Succeeded   2023-10-26T18:15:27Z
manual-backup-2                   InProgress

Cada fila de la tabla de salida representa un recurso de copia de seguridad, con los siguientes atributos:

  • Nombre de la copia de seguridad.
  • El estado de la copia de seguridad. Succeeded indica que la copia de seguridad se puede restaurar.
  • Marca de tiempo de la creación de la copia de seguridad.

Restaurar a partir de copia de seguridad

AlloyDB te permite restaurar copias de seguridad individuales o clonar un clúster mediante una copia de seguridad de un momento específico.

Restaurar a partir de una copia de seguridad con nombre

Para restaurar una copia de seguridad y sustituir los datos de tu clúster de base de datos por los datos de la copia de seguridad, sigue estos pasos.

  1. Lista todas las copias de seguridad cuya fase sea Succeeded.

    kubectl get backup.alloydbomni.dbadmin.goog -n NAMESPACE | grep Succeeded

    Sustituye NAMESPACE por el espacio de nombres del clúster de bases de datos.

    Si existe al menos una copia de seguridad válida, el resultado será similar al siguiente:

    backup-plan-prod-20231026172643   Succeeded   2023-10-26T17:26:53Z
    manual-backup-1                   Succeeded   2023-10-26T18:15:27Z
    
  2. Elige una de las copias de seguridad que se muestran en el paso anterior para restaurar los datos. Anota su nombre, que usarás en el siguiente paso.

  3. Aplica el siguiente archivo de manifiesto:

      apiVersion: alloydbomni.dbadmin.goog/v1
      kind: Restore
      metadata:
        name: RESTORE_NAME
        namespace: NAMESPACE
      spec:
        sourceDBCluster: DB_CLUSTER_NAME
        backup: BACKUP_NAME
    

    Haz los cambios siguientes:

    • RESTORE_NAME: un nombre que se usará con el recurso de restauración de datos que crea este archivo de manifiesto. Por ejemplo, restore-1.

    • DB_CLUSTER_NAME: el nombre del clúster de tu base de datos, que asignaste cuando lo creaste.

    • BACKUP_NAME: el nombre de la copia de seguridad que has elegido en el paso anterior.

Clonar un clúster desde un momento concreto

El operador de AlloyDB Omni te permite clonar los datos de un clúster desde cualquier momento de un periodo de recuperación. La duración del periodo de recuperación viene determinada directamente por el periodo de conservación.

Por ejemplo, si el periodo de conservación es de 14 días, no podrá recuperar datos de hace más de 14 días. Puedes restaurar los datos a cualquier momento dentro del periodo de recuperación. El operador de AlloyDB Omni conserva las copias de seguridad y los registros un día más del valor especificado.

  1. Monitoriza tu ventana de recuperación para identificar el punto de restauración:

    kubectl get backupplan.alloydbomni.dbadmin.goog BACKUP_NAME -n NAMESPACE -o json | jq .status.recoveryWindow
    

    A continuación se muestra un ejemplo de respuesta:

    recoveryWindow:
    begin: "2024-01-31T02:54:35Z"
    

    El valor de la marca de tiempo en el formato de marca de tiempo RFC 3339 se usa en el recurso de restauración.

  2. Crea y aplica el siguiente manifiesto de recursos de restauración:

    apiVersion: alloydbomni.dbadmin.goog/v1
    kind: Restore
    metadata:
      name: RESTORE_NAME
      namespace: NAMESPACE
    spec:
      sourceDBCluster: DB_CLUSTER_NAME
      pointInTime: "DATE_AND_TIME_STAMP"
      clonedDBClusterConfig:
        dbclusterName: NEW_DB_CLUSTER_NAME
    

    Haz los cambios siguientes:

    • RESTORE_NAME: un nombre que se usará con el recurso de restauración de datos que crea este archivo de manifiesto. Por ejemplo, restore-1.

    • DB_CLUSTER_NAME: el nombre del clúster de tu base de datos, que asignaste cuando lo creaste.

    • DATE_AND_TIME_STAMP: la marca de tiempo RFC 3339 con una granularidad de minutos de la copia de seguridad continua que quieras restaurar. Por ejemplo, 2024-03-05T15:32:10Z.

    • NEW_DB_CLUSTER_NAME: el nombre del nuevo clúster de base de datos.

Ver el estado de la restauración

  1. Para ver el progreso de la operación de restauración, haz lo siguiente:

    kubectl get restore.alloydbomni.dbadmin.goog -n NAMESPACE

    Sustituye NAMESPACE por el espacio de nombres del clúster de bases de datos.

    Para ejecutar el comando de forma continua, añade la marca -Aw.

    La salida es similar a la siguiente:

    NAME        PHASE               COMPLETETIME   RESTOREDPOINTINTIME
    restore-1   RestoreInProgress
    

    Cuando el valor de la columna PHASE de la tabla de salida sea ProvisionSucceeded, la restauración se habrá completado.

  2. Consulta el progreso del clúster de base de datos restaurado o clonado que se está poniendo online:

    kubectl get dbclusters -A -n NAMESPACE

    Sustituye NAMESPACE por el espacio de nombres del clúster de bases de datos.

    Para ejecutar el comando de forma continua, añade la marca -Aw.

    La salida es similar a la siguiente:

    NAMESPACE   NAME               PRIMARYENDPOINT   PRIMARYPHASE   DBCLUSTERPHASE
    default     db-cluster-1       10.128.0.55       Ready          DBClusterReady
    

    Cuando el valor de la columna DBCLUSTERPHASE de la tabla de resultados sea DBClusterReady, el clúster de base de datos restaurado o clonado estará listo para usarse.

Eliminar una copia de seguridad

Por lo general, no es necesario eliminar las copias de seguridad manualmente. El operador de AlloyDB Omni elimina automáticamente las copias de seguridad que tienen más tiempo que el periodo de conservación que especifiques al crear un plan de copias de seguridad.

Si quieres eliminar manualmente una copia de seguridad, esta debe cumplir los siguientes requisitos:

  • La copia de seguridad no es la única que se almacena en su plan de copias de seguridad. El operador de AlloyDB Omni requiere que haya al menos una copia de seguridad por plan de copias de seguridad.

  • La copia de seguridad no depende de ninguna otra copia de seguridad. Por ejemplo, una copia de seguridad completa con copias de seguridad diferenciales o incrementales que dependan de ella, o una copia de seguridad incremental con copias de seguridad diferenciales que dependan de ella.

Para eliminar una copia de seguridad, ejecuta el siguiente comando:

kubectl delete backup.alloydbomni.dbadmin.goog/BACKUP_NAME -n NAMESPACE

Haz los cambios siguientes:

  • BACKUP_NAME: el nombre de la copia de seguridad que se va a eliminar.

  • NAMESPACE: el espacio de nombres del clúster de la base de datos.

Cambiar el tamaño de un disco de copia de seguridad

Para cambiar el tamaño del disco local que almacena tus copias de seguridad en el clúster de Kubernetes, sigue estos pasos:

  1. Actualice el campo resources.disks del archivo de manifiesto de DBCluster de la siguiente manera:

    spec:
      primarySpec:
        resources:
          disks:
            - name: BACKUP_DISK
              size: 10Gi
    

    Sustituye BACKUP_DISK por el nombre del disco en el que se almacenan tus copias de seguridad.

  2. Aplica el archivo de manifiesto para forzar la actualización.

    El operador AlloyDB Omni aplica las especificaciones actualizadas a tu DBCluster inmediatamente.

Se aplican las siguientes restricciones al modificar el disco de copia de seguridad de un clúster de base de datos en ejecución:

  • Solo puedes aumentar el tamaño de un disco si el storageClass especificado admite la expansión de volumen.
  • No puedes reducir el tamaño de un disco.

Actualizar un plan de copias de seguridad

Cada plan de copias de seguridad es un recurso de Kubernetes. Para actualizar su configuración, haz una de las siguientes acciones:

  • Edita y vuelve a aplicar el archivo de manifiesto del plan de copia de seguridad.

  • Usa el comando kubectl patch.

Por ejemplo, para pausar un plan de copias de seguridad en curso, cambie el atributo paused de su manifiesto a true y, a continuación, vuelva a aplicar el manifiesto.

Eliminar un plan de copias de seguridad

Para eliminar un plan de copias de seguridad y todos sus recursos, ejecuta el siguiente comando:

kubectl delete backupplan.alloydbomni.dbadmin.goog/BACKUP_PLAN_NAME -n NAMESPACE

Haz los cambios siguientes:

  • BACKUP_PLAN_NAME: el nombre del plan de copia de seguridad que se va a eliminar.

  • NAMESPACE: el espacio de nombres del clúster de la base de datos.

Para pausar un plan de copia de seguridad sin eliminarlo, asigna el valor true al atributo paused del recurso del plan de copia de seguridad. Un plan de copia de seguridad pausado sigue almacenando copias de seguridad y permite crear copias de seguridad manualmente.