Restaurar un clúster de AlloyDB Omni con Barman

Selecciona una versión de la documentación:

En esta página se explica cómo restaurar un clúster de AlloyDB Omni mediante una copia de seguridad creada con Barman, un servidor de copias de seguridad de bases de datos de código abierto.

Como AlloyDB Omni es compatible con PostgreSQL, los comandos y las técnicas de restauración de datos que se describen en el manual de Barman también se aplican a AlloyDB Omni. En esta página se muestra una selección de tareas de recuperación habituales, con ejemplos de comandos relevantes.

Para obtener más información sobre cómo configurar Barman para que funcione con AlloyDB Omni, consulta el artículo sobre cómo configurar Barman para AlloyDB Omni.

Antes de empezar

Antes de restaurar tus datos de AlloyDB Omni, necesitas lo siguiente:

  • Un servidor de base de datos de destino que ejecute la misma versión principal de AlloyDB Omni que el servidor de base de datos de origen. Para obtener más información sobre cómo instalar AlloyDB Omni, consulta Instalar AlloyDB Omni.

    El servidor de destino puede ser el mismo que el de origen.

  • La utilidad rsync, instalada en el servidor de destino.

  • Un servidor de copias de seguridad de Barman con al menos una copia de seguridad válida de Barman de la base de datos de AlloyDB Omni de origen.

  • Conectividad SSH entre el servidor de copia de seguridad de Barman y el servidor de destino.

  • Claves SSH configuradas para permitir que el usuario barman del servidor Barman se autentique con el servidor de destino como usuario postgres sin contraseña.

  • Suficiente espacio libre en el disco del servidor de destino para alojar la base de datos restaurada.

Recuperar con una copia de seguridad específica

  1. En el servidor de destino, detén AlloyDB Omni.

    Docker

     docker stop CONTAINER_NAME

    Sustituye CONTAINER_NAME por el nombre que asignaste al contenedor de AlloyDB Omni cuando lo instalaste (por ejemplo, my-omni).

    Podman

     podman stop CONTAINER_NAME

    Sustituye CONTAINER_NAME por el nombre que asignaste al contenedor de AlloyDB Omni cuando lo instalaste (por ejemplo, my-omni).

  2. En el servidor Barman, elige una copia de seguridad para restaurar. Para ver las copias de seguridad disponibles, ejecuta el comando barman list-backups. Para ver los detalles de una copia de seguridad concreta, ejecuta el comando barman show-backup.

  3. Para recuperar la copia de seguridad elegida en el servidor de AlloyDB Omni de destino, ejecuta el comando barman recover.

    Cuando ejecutes el comando, incluye lo siguiente:

    El siguiente comando muestra un ejemplo de uso de barman recover con AlloyDB Omni:

    barman recover --remote-ssh-command "ssh postgres@TARGET_IP" TARGET_LABEL BACKUP_ID DATA_PATH

    Haz los cambios siguientes:

    • TARGET_IP: la dirección IP del servidor de destino.

    • TARGET_LABEL: la etiqueta que has asignado al servidor en el archivo de configuración de Barman.

    • BACKUP_ID: el ID de la copia de seguridad desde la que se va a restaurar, que se ha identificado en un paso anterior. Por ejemplo, 20230810T210200.

    • DATA_PATH: la ruta a la subcarpeta data del directorio de datos del servidor de destino. Por ejemplo, /home/your-username/alloydb-data/data.

  4. En el servidor de la base de datos de destino de AlloyDB Omni, inicia el servicio:

    Docker

    docker start CONTAINER_NAME

    Podman

    podman start CONTAINER_NAME

Una vez que se haya reiniciado el servicio, conéctate a tu servidor AlloyDB Omni. Deberías ver las bases de datos y los datos restaurados.

Recuperar a un momento dado

Para realizar una recuperación a un momento dado, sigue los mismos pasos que se indican en la sección anterior, con una modificación. Cuando ejecutes el comando barman recover, también debes especificar una de las opciones de recuperación a un momento dado de Barman.

El siguiente comando muestra un ejemplo de uso de barman recover con AlloyDB Omni con una opción de recuperación a un momento dado:

barman recover --remote-ssh-command "ssh postgres@TARGET_IP" TARGET_LABEL BACKUP_ID --target-time="RESTORE_TIMESTAMP" DATA_PATH

Haz los cambios siguientes:

  • TARGET_IP: la dirección IP del servidor de destino.

  • TARGET_LABEL: la etiqueta que has asignado al servidor en el archivo de configuración de Barman.

  • BACKUP_ID: el ID de la copia de seguridad desde la que se va a restaurar, que se ha identificado en un paso anterior. Por ejemplo, 20230810T210200.

  • TARGET_TIMESTAMP: la hora a la que se va a restaurar, en cualquier formato de PostgreSQL timestamp que especifique tanto una fecha como una hora. Por ejemplo, 2024-02-06 00:00:00.

  • DATA_PATH: la ruta a la subcarpeta data del directorio de datos del servidor de destino. Por ejemplo, /home/your-username/alloydb-data/data.