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:
O AlloyDB Omni está instalado e em execução num servidor que controla.
Barman instalado num servidor separado. O servidor no qual instalou o Barman tem de conseguir comunicar com o servidor do AlloyDB Omni através de TCP.
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.
Crie o utilizador da base de dados
barmancom 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; "
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_METHODSubstitua 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.
Adicione as seguintes linhas ao ficheiro
/var/alloydb/config/postgresql.conf:archive_command='/bin/true' archive_mode=on listen_addresses='*' wal_level='replica'Reinicie o serviço AlloyDB Omni:
sudo alloydb database-server stopsudo alloydb database-server startConfirme 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)Verifique se a ligação de replicação de streaming funciona:
docker exec pg-service psql -h localhost -U postgres -c "IDENTIFY_SYSTEM" replication=1O 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.
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_IPpelo endereço IP do seu servidor AlloyDB Omni.O resultado é semelhante ao seguinte:
?column? ---------------------- Connected as: barman (1 row)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
conninfopara estabelecer ligação à base de dados do AlloyDB Omni como o utilizadorbarman.postgres - Defina o
streaming_conninfopara usar o utilizadoralloydbreplica. - 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 = barmanSubstitua o seguinte:
CONFIGURATION_TAG: uma etiqueta curta para identificar esta configuração do servidor quando executar comandosbarman, por exemplo,omni.DATABASE_IP: o endereço IP do seu servidor AlloyDB Omni.
- Defina
Mudar para o utilizador
barman.sudo su barmanUse o comando
barman receive-walpara 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_TAGsudo barman receive-wal CONFIGURATION_TAG &Substitua
CONFIGURATION_TAGpela 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.