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

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 copia de seguridad de bases de datos de código abierto.

Debido a que AlloyDB Omni es compatible con PostgreSQL, los comandos y las técnicas de restablecimiento 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 comunes, con ejemplos de comandos relevantes.

Para obtener más información sobre cómo configurar Barman para que funcione con AlloyDB Omni, consulta Configura 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 de origen Para obtener más información sobre cómo instalar AlloyDB Omni, consulta Cómo instalar 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 copia 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 de 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 su usuario postgres sin una contraseña.

  • Suficiente espacio en disco libre en el servidor de destino para contener la base de datos restablecida

Cómo recuperar 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 que deseas 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 destino de AlloyDB Omni, 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 restablecerá, identificado 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 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 de 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 de punto en el tiempo de Barman.

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

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 restablecerá, identificado en un paso anterior, por ejemplo, 20230810T210200.

  • TARGET_TIMESTAMP: Es la hora a la que se debe restablecer, 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.