Serviço de cópia de segurança e RD para PostgreSQL

O PostgreSQL é um sistema de base de dados relacional de objetos de código aberto avançado que usa e expande a linguagem SQL combinada com muitas funcionalidades que armazenam e dimensionam com segurança as cargas de trabalho de dados mais complicadas.

API de cópia de segurança do PostgreSQL usada pela Cópia de segurança e RD

  • Cópias de segurança ao nível do volume (rastreio de blocos de alterações do Linux e instantâneo do LVM): A cópia de segurança e a recuperação de desastres usam os comandos pg_start_backup(label) e pg_stop_backup() do PostgreSQL quando fazem cópias de segurança com o rastreio de blocos de alterações do Linux e o instantâneo do LVM.

  • Cópias de segurança completas + incrementais (tradicionais baseadas em ficheiros): a cópia de segurança e a recuperação de desastres usam os comandos de cópias de segurança baseadas em ficheiros pg_dump do PostgreSQL. O comando pg_dump não tem uma opção para capturar alterações incrementais de uma base de dados, pelo que cada cópia de segurança é uma cópia de segurança de despejo da base de dados completa.

    A restauração da base de dados recupera a base de dados ao substituir fisicamente a área de dados.

  • Cópia de segurança dos registos do PostgreSQL: durante uma cópia de segurança dos registos, o Backup and DR copia fisicamente todos os WALs do PostgreSQL (WriteAheadLog). Para limpar os registos, o Backup and DR usa um comando ao nível do SO.

Como funciona: cópia de segurança baseada em volumes e RD com CBT do Linux

Apenas os blocos alterados são monitorizados no mapa de bits: sem cópias na escrita, sem operações intensivas de E/S.

Os passos seguintes descrevem o processo de cópia de segurança e recuperação de dados:

  1. O agente de cópia de segurança e recuperação de desastres tem CBT para acompanhar os blocos alterados na área de dados da base de dados.

  2. O agente chama a API da base de dados para congelar ou pausar a base de dados para a cópia de segurança de dados.

  3. O agente cria um instantâneo do LVM da área de dados da base de dados e sintetiza um mapa de bits.

  4. Chamada do agente para a API de base de dados para descongelar a base de dados.

  5. O agente copia os blocos alterados para o dispositivo de cópia de segurança/recuperação, que elimina a captura instantânea e cataloga a cópia de segurança.

  6. O dispositivo emite um instantâneo interno e sintetiza uma cópia de segurança completa virtual num determinado momento.

  7. Para a recuperação de dados, a solução Backup and DR monta instantaneamente um disco de preparação reescrevível e coloca a base de dados online.

O comando quiesce ou unquiesce é executado no primário para uma tarefa de instantâneo ao nível do volume:

select pg_start_backup(<label>);
select pg_stop_backup();

Os comandos quiesce e unquiesce são executados num nó em espera para uma tarefa de instantâneo ao nível do volume:

Se a versão do PostgreSQL for 10.x ou posterior:

select pg_wal_replay_pause();
select pg_wal_replay_resume();

Se a versão do PostgreSQL for 9.x:

select pg_xlog_replay_pause();
select pg_xlog_replay_resume();

Como funciona: cópia de segurança baseada em ficheiros

Os passos seguintes descrevem o processo de como fazer uma cópia de segurança e recuperação de dados com imagens de cópias de segurança baseadas em ficheiros:

  1. O agente de cópia de segurança e RD é implementado no servidor de base de dados.

  2. Monte o disco de preparação no servidor de base de dados.

  3. Invocar uma cópia de segurança completa através do comando dump backup, escrevendo a cópia de segurança no disco montado.

  4. A cópia de segurança e a RD tiram um instantâneo interno. As cópias de segurança dos registos são feitas de forma semelhante diretamente a partir do sistema de ficheiros em qualquer horário que configurar.

  5. Para a recuperação de dados, a cópia de segurança e a recuperação de desastres montam instantaneamente o disco de preparação no servidor de base de dados e iniciam a operação de restauro da base de dados. Os registos podem ser reproduzidos em qualquer ponto no tempo após o restauro da base de dados.

O que se segue?

Prepare a base de dados para a cópia de segurança e a RD

Outra documentação para o Backup and DR for PostgreSQL