Um artigo sobre como o CommVault faz backup do PostgreSQL

Neste artigo, revisaremos nossa experiência usando os backups do CommVault for PostgreSQL. Para isso, analisaremos uma pequena parte de um de nossos projetos anteriores, onde configuramos um backup do banco de dados PostgreSQL a partir do cliente.



Sobre o CommVault


O CommVault é uma plataforma escalável única que fornece proteção integrada de dados e gerenciamento de conteúdo. A plataforma suporta módulos de software com funções para fazer backup e restaurar dados, arquivamento, desduplicação, replicação, distribuição hierárquica de mídia e criptografia. Os módulos da plataforma trabalham com conteúdo corporativo de várias fontes e fornecem recuperação de informações de ponta a ponta no ambiente corporativo e sua disponibilidade constante mesmo de arquivos, graças a uma única indexação inteligente de documentos em um repositório virtual. A plataforma também é equipada com ferramentas avançadas de análise que geram relatórios sobre as ações de usuários e aplicativos e sobre o funcionamento da infraestrutura.

O CommVault protege, restaura e gerencia dados e acesso a eles em ambientes físicos e virtuais.

Sobre o backup do PostgreSQL


Para executar um backup do banco de dados PostgreSQL, é utilizado um agente (iDataAgent), instalado no servidor em que o banco de dados está em execução. O agente foi projetado para gerenciar e proteger efetivamente dados comerciais importantes nos bancos de dados PostgreSQL. Você pode usar esse agente para fazer backup e restaurar todo o servidor PostgreSQL ou bancos de dados individuais. Se necessário, você também pode restaurar tabelas individuais.

Principais recursos:


O PostgreSQL iDataAgent oferece a flexibilidade de fazer backup de bancos de dados em vários modos e restaurá-los em um tempo mínimo. Você pode fazer backup ou fazer backup de todo o servidor PostgreSQL, bancos de dados individuais ou logs arquivados a qualquer momento.

Os recursos de backup e recuperação que podem ser executados em diferentes modos:

  • O iDataAgent fornece a capacidade de restaurar todo o servidor PostgreSQL. Todos os bancos de dados localizados no servidor de origem podem ser restaurados no servidor de destino.
  • Defina um único banco de dados ou grupo de bancos de dados como dados do subcliente e faça backup e restauração.
  • Faça backup apenas dos logs no servidor PostgreSQL. Esses arquivos de log podem ser usados ​​para recuperar transações do banco de dados perdidas devido a uma falha no sistema operacional ou no disco.
  • Restaure todo o servidor PostgreSQL em um momento específico para o backup baseado em sistema de arquivos.
  • Visualize e verifique o status das operações de backup e recuperação do Job Controller e Event Viewer no console do CommCell. Acompanhe o status do seu trabalho com relatórios que você pode salvar e distribuir.
  • Use backups em nível de bloco como uma maneira mais rápida de fazer backup de dados, porque os backups são apenas para extensões (ou partes modificadas do banco de dados), e não para todo o banco de dados PostgreSQL.
  • Desduplicação em nível de bloco A desduplicação fornece uma maneira mais inteligente de armazenar dados, identificando e removendo duplicatas nas operações de proteção de dados.

Arquitetura


Esquema



Como funciona:

A plataforma CommVault é implantada na rede como parte do servidor de gerenciamento CommServe e um servidor MediaAgent separado (é recomendável usar um servidor físico).

Um agente (iDataAgent) é instalado no servidor com o banco de dados PostgreSQL e suas políticas de backup são configuradas de acordo com os requisitos. O iDataAgent coleta os dados necessários, compacta, desduplica, se necessário, criptografa e os transfere para o MediaAgent.

Além disso, os dados são colocados no sistema de armazenamento, em uma biblioteca de fitas ou no armazenamento em nuvem.
Para recuperação, os dados são extraídos do armazenamento e copiados para o servidor com o PostgreSQL.

Configuração no console do CommVault

Agora vamos ver como fazer isso no console de gerenciamento.

1. Para iniciar o backup do banco de dados no momento, selecione no console do CommCell Browser:

Computadores cliente | | PostgreSQL | | DumpBasedBackupSet.

Clique com o botão direito do mouse na pasta padrão no subcliente e selecione Backup .



2. Selecione Completo como o tipo de backup e selecione Imediato .

3. Clique em OK . O backup do PostgreSQL é iniciado .



4. Durante a execução da tarefa, seu status pode ser monitorado pela janela Tarefa do console do CommCell .



5. Depois que a tarefa estiver concluída, você poderá ver os detalhes da tarefa concluída na janela Histórico de backup . Selecione a pasta padrão no subcliente e selecione Histórico de backup .



6. Na janela Histórico de backup , você pode ver os seguintes dados sobre as tarefas concluídas:

- Erros de backup ao concluir uma tarefa;
- Itens que foram copiados com sucesso;
- Detalhes da tarefa;
- eventos;
- arquivos de log;
- Mídia na qual os dados estão armazenados.

Por que você pode fazer backup

Backup baseado em despejo:

  • Bancos de dados do sistema PostgreSQL;
  • Bancos de dados do usuário PostgreSQL
  • Fazendo backup de um sistema de arquivos (Backup Baseado em Sistema de Arquivos).

Bancos de dados PostgreSQL (dados e logs) (dados e logs):

  • Arquivos de log.

O que não é copiado:

  • Arquivos de aplicativos PostgreSQL (arquivos de aplicativos);
  • Dados do sistema operacional.

Use o sistema de arquivos iDataAgent para fazer backup dos componentes acima.

Desafio


O cliente precisava implantar a plataforma CommVault para fazer backup de seus serviços. Um dos serviços foi o banco de dados PostgreSQL, que foi implantado em uma configuração de cluster de 2 nós: Master e Standby. Ambos trabalhavam em servidores físicos.

Recursos de configuração do PostgreSQL do cliente

A configuração do cluster do PostgreSQL foi escolhida para garantir a tolerância a falhas do servidor de banco de dados.

O cliente fez o backup do banco de dados PostgreSQL usando pg_dump.

O esquema de trabalho é apresentado na figura abaixo:



Configurar backup com o CommVault


Para unificar a plataforma de backup e aproveitar o armazenamento de backup, decidimos usar o CommVault para fazer backup do banco de dados PostgreSQL.

Porque o cliente usou a configuração de cluster do PostgreSQL; para backup, decidimos usar a opção Backup baseado em sistema de arquivos para backup de arquivos. Ao mesmo tempo, tive que abandonar o uso do backup em bloco (Backup em nível de bloco), porque A versão do kernel Linux usada no qual o PostgreSQL é implantado é maior que o CommVault oficialmente suportado. Devido ao fato de o serviço ser crítico para a organização, eles decidiram fazer um agendamento de backup de acordo com a tabela:

Cópia completa
Logs de transação
Graph
Uma vez por dia, às 23 horas
A cada hora por 24 horas
Período de armazenamento de cópias
7 dias
1 dia

O volume total do banco de dados foi superior a 1,5 TB e, para manter o RTO e o RPO necessários, uma rede LAN separada foi usada para backup a uma velocidade de 10 Gb / s.

O backup foi realizado de acordo com o diagrama abaixo:



Os backups foram feitos em um servidor PostgreSQL Standby e armazenados em um servidor com o MediaAgent instalado. Em seguida, uma vez por mês, cópias completas eram carregadas na nuvem da Amazon para um prazo de validade de um ano.

Todas as configurações necessárias foram feitas e o backup foi bem-sucedido.

Recursos de configuração de backup do PostgreSQL

Ao instalar e configurar o backup, encontramos algumas dificuldades, listadas abaixo. Eu acho que será útil levar esses recursos em consideração ao executar projetos semelhantes e ao configurar os administradores de banco de dados PostgreSQL.

  1. Verifique se os nós mestre e de espera têm as mesmas configurações de serviço do PostgreSQL definidas de acordo com a documentação do CommVault:
    documentation.commvault.com/commvault/v11_sp14/article?p=21491.htm
  2. Verifique se os parâmetros especificados na Solução de problemas de backup são consistentes com os especificados pelos links:
    documentation.commvault.com/commvault/v11_sp14/article?p=21723.htm
    documentation.commvault.com/commvault/v11_sp14/article?p=21518.htm
  3. Verifique se os direitos de acesso ao servidor e aos bancos de dados foram definidos de acordo com os seguintes requisitos:
    documentation.commvault.com/commvault/v11_sp14/article?p=21523.htm

Recuperação

Fazer backup é bom. Naturalmente, estamos interessados ​​não apenas no processo de sua criação, mas também na restauração. Pelo que está tudo feito.

Nessa situação, a restauração, com base em nossa experiência, pode ser necessária para o cliente em 2 casos:

  1. Restaurar o banco de dados em um determinado momento, para acessar dados que, por exemplo, poderiam ser excluídos do banco de dados;
  2. Em caso de perda de todo o cluster do banco de dados PostgreSQL.

Para restaurar o banco de dados, basta ler a documentação neste link: documentation.commvault.com/commvault/v11_sp14/article?p=21502.htm

Também focaríamos sua atenção nos seguintes recursos e etapas durante a recuperação:

  1. SEMPRE siga o procedimento de recuperação com o DBA do PostgreSQL. Isso ajudará a evitar ações erradas e a resolver rapidamente os problemas que surgem durante o processo de recuperação;
  2. A recuperação deve ser realizada em um nó com a função de Mestre;
  3. Ao restaurar, verifique se os serviços do PostgreSQL não são iniciados após a conclusão da operação;
  4. No nó restaurado, altere as configurações para a função Mestre, porque no nosso caso, fizemos backup de nós em espera;
  5. Desative os serviços no nó em espera, ative-os no nó mestre, ative o nó em espera e configure a replicação novamente.

Conclusão


Neste artigo, não levamos em consideração o backup do próprio sistema operacional Linux e de outros sistemas. Isso deve ser feito separadamente. A documentação do CommVault descreve isso em detalhes. Se nosso artigo despertar interesse e houver muitos desejos, descreveremos definitivamente como fazer backup de outros sistemas. Escreva nos comentários quais sistemas seriam do seu interesse.

Esperamos que nossa experiência o ajude a configurar um backup pelo DBA do PostgreSQL.

Autores:
Sergey Alexandrov, Chefe do Grupo de Backup, Softline
Artyom Khmelenko, Engenheiro Líder, Softline

Source: https://habr.com/ru/post/pt442760/


All Articles