Cómo restablecer un clúster de AlloyDB Omni con Barman

Selecciona una versión de la documentación:

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

Dado que 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 muestran ejemplos de comandos relevantes para una selección de tareas de recuperación comunes.

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

Antes de comenzar

Antes de restablecer 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 fuente Para obtener más información sobre la instalación de AlloyDB Omni, consulta Instala AlloyDB Omni.

    El servidor de destino puede ser la misma máquina que el servidor 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 origen de AlloyDB Omni.

  • Conectividad SSH entre el servidor de copias de seguridad de Barman y el servidor de destino

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

  • Espacio libre suficiente en el disco del servidor de destino para contener la base de datos restablecida

Cómo recuperar datos con una copia de seguridad específica

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

    Docker

     docker stop CONTAINER_NAME

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

    Podman

     podman stop CONTAINER_NAME

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

  2. En el servidor de Barman, elige una copia de seguridad desde la cual restablecer. Para ver las copias de seguridad disponibles, ejecuta el comando barman list-backups. Para ver los detalles de una copia de seguridad en particular, 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:

    En el siguiente comando, se 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

    Reemplaza lo siguiente:

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

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

    • BACKUP_ID: Es el ID de la copia de seguridad desde la que se realizará la restauración, que se identificó en un paso anterior (por ejemplo, 20230810T210200).

    • DATA_PATH: Es la ruta de acceso al subdirectorio 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

Después de que se reinicie el servicio, conéctate a tu servidor de AlloyDB Omni. Deberías ver tus bases de datos y datos restablecidos.

Recupera a un momento específico

Para realizar una recuperación a un momento determinado, 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 en un momento determinado de Barman.

En el siguiente comando, se muestra un ejemplo de uso de barman recover con AlloyDB Omni y una opción de recuperación en un momento determinado:

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

Reemplaza lo siguiente:

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

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

  • BACKUP_ID: Es el ID de la copia de seguridad desde la que se realizará la restauración, que se identificó en un paso anterior (por ejemplo, 20230810T210200).

  • TARGET_TIMESTAMP: Es la fecha y hora a las que se realizará la restauración, en cualquier formato timestamp de PostgreSQL que especifique una fecha y una hora, por ejemplo, 2024-02-06 00:00:00.

  • DATA_PATH: Es la ruta de acceso al subdirectorio data del directorio de datos del servidor de destino, por ejemplo, /home/your-username/alloydb-data/data.