Configure o Barman para o AlloyDB Omni

Selecione uma versão da documentação:

Esta página mostra-lhe como proteger os seus dados configurando o AlloyDB Omni para funcionar com o Barman, um servidor de cópias de segurança de bases de dados de código aberto.

Pode proteger os seus dados do AlloyDB Omni através de qualquer tecnologia de cópia de segurança de base de dados que funcione com o PostgreSQL. Como prática recomendada, a Google recomenda o Barman. Pode configurar o AlloyDB Omni para permitir ligações a partir de um servidor Barman que controla. Isto permite que o servidor Barman faça cópias de segurança contínuas dos dados armazenados no seu servidor AlloyDB Omni.

Depois de configurar os servidores Barman e AlloyDB Omni para funcionarem em conjunto, pode executar comandos do Barman para realizar várias tarefas de proteção de dados e recuperação de desastres, incluindo o seguinte:

  • Crie uma cópia de segurança a pedido dos seus dados.
  • Configurar a transmissão em stream síncrona de WAL das alterações de dados para o servidor de cópia de segurança.
  • Restaurar a partir de uma cópia de segurança específica.
  • Faça um restauro pontual.

Para mais informações sobre o funcionamento do Barman, consulte o manual do Barman.

Antes de começar

Antes de configurar o AlloyDB Omni para funcionar com o Barman, precisa do seguinte:

Configure o AlloyDB Omni para funcionar com o Barman

Para preparar o servidor AlloyDB Omni para funcionar com o Barman, execute os seguintes comandos no servidor no qual instalou o AlloyDB Omni.

  1. Crie o utilizador da base de dados barman com os privilégios adequados:

    docker exec pg-service 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;
    "

  1. Adicione as seguintes linhas a /var/alloydb/config/pg_hba.conf:

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

    Substitua o seguinte:

    • BARMAN_IP: o endereço IP do servidor Barman.

    • AUTHN_METHOD: o método de autenticação do PostgreSQL que o seu servidor AlloyDB para PostgreSQL espera do servidor Barman. Recomendamos um dos seguintes valores:

      • Para permitir que o servidor Barman se autentique sem uma palavra-passe, use trust.

      • Para exigir uma palavra-passe do servidor Barman, use scram-sha-256.

  2. Adicione as seguintes linhas ao ficheiro /var/alloydb/config/postgresql.conf:

    archive_command='/bin/true'
    archive_mode=on
    listen_addresses='*'
    wal_level='replica'
    
  3. Reinicie o serviço AlloyDB Omni:

    sudo alloydb database-server stop
    sudo alloydb database-server start
  4. Confirme se todos os parâmetros necessários estão definidos corretamente executando o seguinte comando:

    docker exec pg-service 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;
     "

    O resultado é semelhante ao seguinte:

        name          |  setting  
    ------------------|-----------
    archive_command   | /bin/true
    archive_mode      | on
    listen_addresses  | *
    wal_level         | replica
    (4 rows)
    
  5. Verifique se a ligação de replicação de streaming funciona:

    docker exec pg-service psql -h localhost -U postgres -c "IDENTIFY_SYSTEM" replication=1

    O resultado é semelhante ao seguinte:

          systemid       | timeline |  xlogpos   | dbname
    ---------------------+----------+------------+--------
     7265722823667040273 |        1 | 0/1F0AFCD0 |
    (1 row)
    

Configure o servidor de cópias de segurança do Barman

Para configurar o Barman para funcionar com o seu servidor AlloyDB Omni, execute os seguintes comandos no servidor Barman.

  1. Certifique-se de que o Barman consegue estabelecer ligação ao servidor do AlloyDB Omni como o utilizador da base de dados barman.

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

    Substitua DATABASE_IP pelo endereço IP do seu servidor AlloyDB Omni.

    O resultado é semelhante ao seguinte:

          ?column?       
    ----------------------
    Connected as: barman
    (1 row)
    
  2. Configure o servidor de cópia de segurança do Barman de acordo com as suas necessidades e preferências.

    A configuração tem de incluir as seguintes definições:

    • Defina conninfo para estabelecer ligação à base de dados do AlloyDB Omni como o utilizador barman.postgres
    • Defina o streaming_conninfo para usar o utilizador alloydbreplica.
    • Configure outras diretivas necessárias para ativar o streaming de WAL, conforme indicado na documentação do Barman.

    O exemplo mínimo, mas completo, seguinte modifica um exemplo de configuração de streaming da documentação do 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=alloydbreplica
    backup_method = postgres
    streaming_archiver = on
    slot_name = barman
    

    Substitua o seguinte:

    • CONFIGURATION_TAG: uma etiqueta curta para identificar esta configuração do servidor quando executar comandos barman, por exemplo, omni.

    • DATABASE_IP: o endereço IP do seu servidor AlloyDB Omni.

  3. Mudar para o utilizador barman.

    sudo su barman
  4. Use o comando barman receive-wal para criar um espaço de replicação e, em seguida, comece a receber uma stream WAL do servidor de base de dados:

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

    Substitua CONFIGURATION_TAG pela etiqueta de configuração que escolheu no passo anterior.

O Barman está agora configurado para funcionar com o seu servidor AlloyDB Omni. Para verificar o estado da replicação, criar cópias de segurança manuais e realizar outras tarefas, consulte Comandos gerais.

Por exemplo, para criar uma cópia de segurança manual, execute o comando barman backup.

O que se segue?