Questa pagina mostra come proteggere i dati configurando AlloyDB Omni per il funzionamento con Barman, un server di backup del database open source.
Puoi proteggere i dati di AlloyDB Omni utilizzando qualsiasi tecnologia di backup del database compatibile con PostgreSQL. Come best practice, Google consiglia Barman. Puoi configurare AlloyDB Omni in modo da consentire le connessioni da un server Barman che controlli. In questo modo, il server Barman può eseguire backup continui dei dati archiviati nel server AlloyDB Omni.
Dopo aver configurato i server Barman e AlloyDB Omni per il funzionamento in sinergia, puoi successivamente eseguire i comandi Barman per svolgere una serie di attività di protezione dei dati e di ripristino dei disastri, tra cui:
- Crea un backup on demand dei tuoi dati.
- Configura lo streaming WAL sincrono delle modifiche ai dati sul server di backup.
- Ripristina da un backup specifico.
- Esegui un ripristino point-in-time.
Per ulteriori informazioni sul funzionamento di Barman, consulta il manuale di Barman.
Prima di iniziare
Prima di configurare AlloyDB Omni per il funzionamento con Barman, devi disporre di quanto segue:
AlloyDB Omni installato ed eseguito su un server sotto il tuo controllo.
Barman installato su un server separato. Il server su cui hai installato Barman deve essere in grado di comunicare con il server AlloyDB Omni tramite TCP.
Configura AlloyDB Omni per il funzionamento con Barman
Per preparare il server AlloyDB Omni a funzionare con Barman, esegui i seguenti comandi sul server su cui hai installato AlloyDB Omni.
Crea l'utente del database
barman
con i privilegi appropriati: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; "
Aggiungi le seguenti righe a
/var/alloydb/config/pg_hba.conf
:host all barman BARMAN_IP/32 AUTHN_METHOD host replication alloydbreplica BARMAN_IP/32 AUTHN_METHOD
Sostituisci quanto segue:
BARMAN_IP
: l'indirizzo IP del server Barman.AUTHN_METHOD
: il metodo di autenticazione PostgreSQL che il server AlloyDB per PostgreSQL si aspetta dal server Barman. Ti consigliamo uno dei seguenti valori:Per consentire al server Barman di autenticarsi senza una password, utilizza
trust
.Per richiedere una password dal server Barman, utilizza
scram-sha-256
.
Aggiungi le seguenti righe al file
/var/alloydb/config/postgresql.conf
:archive_command='/bin/true' archive_mode=on listen_addresses='*' wal_level='replica'
Riavvia il servizio AlloyDB Omni:
sudo alloydb database-server stop
sudo alloydb database-server start
Verifica che tutti i parametri necessari siano impostati correttamente eseguendo il seguente 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; "
L'output è simile al seguente:
name | setting ------------------|----------- archive_command | /bin/true archive_mode | on listen_addresses | * wal_level | replica (4 rows)
Verifica che la connessione di replica in streaming funzioni:
docker exec pg-service psql -h localhost -U postgres -c "IDENTIFY_SYSTEM" replication=1
L'output è simile al seguente:
systemid | timeline | xlogpos | dbname ---------------------+----------+------------+-------- 7265722823667040273 | 1 | 0/1F0AFCD0 | (1 row)
Configura il server di backup Barman
Per configurare Barman in modo che funzioni con il server AlloyDB Omni, esegui i seguenti comandi sul server Barman.
Assicurati che Barman possa connettersi al server AlloyDB Omni come utente del database
barman
.psql -h DATABASE_IP -U barman -d postgres -c "SELECT 'Connected as: '||current_user"
Sostituisci
DATABASE_IP
con l'indirizzo IP del server AlloyDB Omni.L'output è simile al seguente:
?column? ---------------------- Connected as: barman (1 row)
Configura il server di backup Barman in base alle tue esigenze e preferenze.
La configurazione deve includere le seguenti impostazioni:
- Imposta
conninfo
per connetterti al database AlloyDB Omnipostgres
come utentebarman
. - Imposta
streaming_conninfo
per utilizzare l'utentealloydbreplica
. - Configura le altre direttive necessarie per abilitare lo streaming WAL, come indicato nella documentazione di Barman.
Il seguente esempio minimo, ma completo, modifica un esempio di configurazione di streaming dalla documentazione di 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
Sostituisci quanto segue:
CONFIGURATION_TAG
: un tag breve per identificare questa configurazione del server quando esegui i comandibarman
, ad esempioomni
.DATABASE_IP
: l'indirizzo IP del server AlloyDB Omni.
- Imposta
Passa all'utente
barman
.sudo su barman
Utilizza il comando
barman receive-wal
per creare uno slot di replica, quindi inizia a ricevere uno stream WAL dal server di database:sudo barman receive-wal --create-slot CONFIGURATION_TAG
sudo barman receive-wal CONFIGURATION_TAG &
Sostituisci
CONFIGURATION_TAG
con il tag di configurazione scelto nel passaggio precedente.
Barman è ora configurato per funzionare con il tuo server AlloyDB Omni. Per controllare lo stato della replica, creare backup manuali ed eseguire altre attività, consulta Comandi generali.
Ad esempio, per creare un backup manuale, esegui il comando barman backup
.