Configura Barman para AlloyDB Omni

Selecciona una versión de la documentación:

En esta página, se muestra cómo proteger tus datos configurando AlloyDB Omni para que funcione con Barman, un servidor de copia de seguridad de base de datos de código abierto.

Puedes proteger tus datos de AlloyDB Omni con cualquier tecnología de copia de seguridad de base de datos que funcione con PostgreSQL. Por ejemplo, puedes configurar AlloyDB Omni para permitir conexiones desde un servidor de Barman que controles. Esto permite que el servidor de Barman realice copias de seguridad continuas de los datos almacenados en tu servidor de AlloyDB Omni.

Después de configurar tus servidores de Barman y AlloyDB Omni para que funcionen juntos, puedes ejecutar comandos de Barman para realizar una variedad de tareas de protección de datos y recuperación ante desastres, incluidas las siguientes:

  • Crea una copia de seguridad a pedido de tus datos.
  • Configura la transmisión WAL síncrona de tus cambios de datos a tu servidor de copia de seguridad.
  • Realiza una restauración desde una copia de seguridad específica.
  • Realiza una restauración de un momento determinado.

Para obtener más información sobre el funcionamiento de Barman, consulta el manual de Barman.

Antes de comenzar

Antes de configurar AlloyDB Omni para que funcione con Barman, necesitas lo siguiente:

Configura AlloyDB Omni para que funcione con Barman

Para preparar tu servidor de AlloyDB Omni para que funcione con Barman, ejecuta los siguientes comandos en el servidor en el que instalaste AlloyDB Omni.

  1. Crea el usuario de la base de datos barman con los privilegios adecuados:

      /usr/lib/postgresql/18/bin/psql -h localhost -U postgres -c "
      CREATE USER barman;
      GRANT EXECUTE ON FUNCTION pg_backup_start(text, boolean) to barman;
      GRANT EXECUTE ON FUNCTION pg_backup_stop(boolean) to barman;
      GRANT EXECUTE ON FUNCTION pg_switch_wal() to barman;
      GRANT EXECUTE ON FUNCTION pg_create_restore_point(text) to barman;
      GRANT pg_read_all_settings TO barman;
      GRANT pg_read_all_stats TO barman;
      CREATE USER streaming_barman WITH REPLICATION;
      GRANT pg_read_all_settings TO streaming_barman;
      "
    
  2. Agrega las siguientes líneas en el archivo DATA_DIR/pg_hba.conf antes de la línea `host all all all * ` que existe en el archivo:

    host all barman BARMAN_IP/32 AUTHN_METHOD
    host replication streaming_barman BARMAN_IP/32 AUTHN_METHOD
    

    Reemplaza lo siguiente:

    • DATA_DIR: Es la ruta de acceso del sistema de archivos que se usa para el directorio de datos de AlloyDB Omni.

    • BARMAN_IP: Es la dirección IP del servidor de Barman.

    • AUTHN_METHOD: Es el método de autenticación de PostgreSQL que tu servidor de AlloyDB para PostgreSQL espera del servidor de Barman. Te recomendamos uno de los siguientes valores:

      • Para permitir que el servidor de Barman se autentique sin una contraseña, usa trust.

      • Para solicitar una contraseña del servidor de Barman, usa scram-sha-256.

  3. Agrega las siguientes líneas al archivo DATA_DIR/postgresql.conf:

    archive_command='/bin/true'
    archive_mode=on
    listen_addresses='*'
    wal_level='replica'
    
  4. Reinicia el servicio de AlloyDB Omni:

    sudo systemctl restart alloydbomni18
    

  5. Para confirmar que todos los parámetros necesarios estén configurados de forma adecuada, ejecuta el siguiente comando:

    /usr/lib/postgresql/18/bin/psql -h localhost -U postgres -c "
    SELECT name, setting
        FROM pg_catalog.pg_settings
        WHERE name IN ('archive_command',
                      'archive_mode',
                      'listen_addresses',
                      'wal_level')
        ORDER BY name;"
    

    El resultado es el siguiente:

        name          |  setting
    ------------------|-----------
    archive_command   | /bin/true
    archive_mode      | on
    listen_addresses  | *
    wal_level         | replica
    (4 rows)
    

Configura el servidor de copia de seguridad de Barman

Para configurar Barman para que funcione con tu servidor de AlloyDB Omni, ejecuta los siguientes comandos en tu servidor de Barman.

  1. Verifica que la conexión de replicación de transmisión funcione:

    psql -h DATABASE_IP -U streaming_barman -c "IDENTIFY_SYSTEM" replication=1

    El resultado es similar a este:

          systemid       | timeline |  xlogpos   | dbname
    ---------------------+----------+------------+--------
     7265722823667040273 |        1 | 0/1F0AFCD0 |
    (1 row)
    
  2. Asegúrate de que Barman pueda conectarse al servidor de AlloyDB Omni como el usuario de la base de datos barman.

    psql -t -h DATABASE_IP -U barman -d postgres -c "SELECT 'Connected as: '||current_user"

    Reemplaza DATABASE_IP por la dirección IP de tu servidor de AlloyDB Omni.

    El resultado es similar a este:

    Connected as: barman
    
  3. Configura el servidor de copia de seguridad de Barman según tus necesidades y preferencias.

    Tu configuración debe incluir los siguientes parámetros:

    • Configura conninfo para conectarte a la base de datos postgres de AlloyDB Omni como el usuario barman.
    • Configura streaming_conninfo para usar el usuario streaming_barman.
    • Configura otras directivas necesarias para habilitar la transmisión WAL, según lo indica la documentación de Barman.

    En el siguiente ejemplo mínimo pero completo, se modifica un ejemplo de configuración de transmisión de la documentación de Barman:

    [CONFIGURATION_TAG]
    description = "Backup settings for my AlloyDB Omni server"
    conninfo = host=DATABASE_IP user=barman dbname=postgres
    streaming_conninfo = host=DATABASE_IP user=streaming_barman
    backup_method = postgres
    streaming_archiver = on
    slot_name = barman
    path_prefix = /usr/lib/postgresql/18/bin
    

    Reemplaza lo siguiente:

    • CONFIGURATION_TAG: Es una etiqueta corta para identificar la configuración de este servidor cuando se ejecutan comandos barman, por ejemplo, omni.

    • DATABASE_IP: Es la dirección IP de tu servidor de AlloyDB Omni.

  4. Cambia al usuario barman.

    sudo su - barman
  5. Usa el barman receive-wal comando para crear una ranura de replicación y, luego, comienza a recibir una transmisión WAL desde el servidor de base de datos:

    barman receive-wal --create-slot CONFIGURATION_TAG
    barman receive-wal CONFIGURATION_TAG &

    Reemplaza CONFIGURATION_TAG por la etiqueta de configuración que elegiste en el paso anterior.

Barman ahora está configurado para funcionar con tu servidor de AlloyDB Omni. Para verificar el estado de la replicación, crear copias de seguridad manuales y realizar otras tareas, consulta Comandos generales.

Por ejemplo, para crear una copia de seguridad manual, ejecuta el barman backup comando.

¿Qué sigue?