Restaurar um cluster do AlloyDB Omni usando o Barman

Selecione uma versão da documentação:

Nesta página, mostramos como restaurar um cluster do AlloyDB Omni usando um backup criado com o Barman, um servidor de backup de banco de dados de código aberto.

Como o AlloyDB Omni é compatível com o PostgreSQL, os comandos e as técnicas de restauração de dados descritos por o manual do Barman também se aplicam ao AlloyDB Omni. Nesta página, demonstramos uma seleção de tarefas comuns de recuperação, com exemplos de comandos relevantes.

Para mais informações sobre como configurar o Barman para trabalhar com o AlloyDB Omni, consulte Configurar o Barman para o AlloyDB Omni.

Antes de começar

Antes de restaurar os dados do AlloyDB Omni, você precisa do seguinte:

  • Um servidor de banco de dados de destino que execute a mesma versão principal do AlloyDB Omni que o servidor de banco de dados de origem. Para mais informações sobre como instalar o AlloyDB Omni, consulte Instalar o AlloyDB Omni.

    O servidor de destino pode ser a mesma máquina que o servidor de origem.

  • O utilitário rsync, instalado no servidor de destino.

  • Um servidor de backup do Barman, com pelo menos um backup válido do banco de dados de origem do AlloyDB Omni.

  • Conectividade SSH entre o servidor de backup do Barman e o servidor de destino.

  • Chaves SSH configuradas para permitir que o usuário barman no servidor do Barman se autentique com o servidor de destino como usuário postgres sem uma senha.

  • Espaço livre em disco suficiente no servidor de destino para armazenar o banco de dados restaurado.

Recuperar usando um backup específico

  1. No servidor de destino, pare o AlloyDB Omni.

    Docker

     docker stop CONTAINER_NAME

    Substitua CONTAINER_NAME pelo nome atribuído ao contêiner do AlloyDB Omni durante a instalação. Por exemplo, my-omni.

    Podman

     podman stop CONTAINER_NAME

    Substitua CONTAINER_NAME pelo nome atribuído ao contêiner do AlloyDB Omni durante a instalação. Por exemplo, my-omni.

  2. No servidor do Barman, escolha um backup para restaurar. Para ver os backups disponíveis, execute o barman list-backups comando. Para ver detalhes sobre um backup específico, execute o barman show-backup comando.

  3. Para recuperar o backup escolhido no servidor de destino do AlloyDB Omni, execute o barman recover comando.

    Ao executar o comando, inclua o seguinte:

    O comando a seguir demonstra um exemplo de uso de barman recover com o AlloyDB Omni:

    barman recover --remote-ssh-command "ssh postgres@TARGET_IP" TARGET_LABEL BACKUP_ID DATA_PATH

    Substitua:

    • TARGET_IP: o endereço IP do servidor de destino.

    • TARGET_LABEL: o rótulo atribuído ao servidor no arquivo de configuração do Barman.

    • BACKUP_ID: o ID do backup a ser restaurado, identificado em uma etapa anterior. Por exemplo, 20230810T210200.

    • DATA_PATH: o caminho para o subdiretório data do diretório de dados do servidor de destino. Por exemplo, /home/your-username/alloydb-data/data.

  4. No servidor de banco de dados de destino do AlloyDB Omni, inicie o serviço:

    Docker

    docker start CONTAINER_NAME

    Podman

    podman start CONTAINER_NAME

Depois que o serviço for reiniciado, conecte-se ao servidor do AlloyDB Omni. Os bancos de dados e dados restaurados vão aparecer.

Recuperar para um momento específico

Para realizar uma recuperação pontual, siga as mesmas etapas listadas na seção anterior, com uma modificação. Ao executar o comando barman recover, também é necessário especificar uma das opções de recuperação pontual do Barman.

O comando a seguir demonstra um exemplo de uso de barman recover com o AlloyDB Omni com uma opção de recuperação pontual:

barman recover --remote-ssh-command "ssh postgres@TARGET_IP" TARGET_LABEL BACKUP_ID --target-time="RESTORE_TIMESTAMP" DATA_PATH

Substitua:

  • TARGET_IP: o endereço IP do servidor de destino.

  • TARGET_LABEL: o rótulo atribuído ao servidor no arquivo de configuração do Barman.

  • BACKUP_ID: o ID do backup a ser restaurado, identificado em uma etapa anterior. Por exemplo, 20230810T210200.

  • TARGET_TIMESTAMP: o horário a ser restaurado, em qualquer formato PostgreSQL timestamp que especifique uma data e um horário. Por exemplo, 2024-02-06 00:00:00.

  • DATA_PATH: o caminho para o subdiretório data do diretório de dados do servidor de destino. Por exemplo, /home/your-username/alloydb-data/data.