Restaure um cluster do AlloyDB Omni com o Barman

Selecione uma versão da documentação:

Esta página mostra-lhe como restaurar um cluster do AlloyDB Omni através de uma cópia de segurança criada com o Barman, um servidor de cópias de segurança de bases de dados de código aberto.

Uma vez que o AlloyDB Omni é compatível com o PostgreSQL, os comandos e as técnicas de restauro de dados descritos no manual do Barman também se aplicam ao AlloyDB Omni. Esta página demonstra uma seleção de tarefas de recuperação comuns, com exemplos de comandos relevantes.

Para mais informações sobre a configuração do Barman para funcionar com o AlloyDB Omni, consulte o artigo Configure o Barman para o AlloyDB Omni.

Antes de começar

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

  • Um servidor de base de dados de destino que execute a mesma versão principal do AlloyDB Omni que o servidor de base de dados de origem. Para mais informações sobre a instalação do AlloyDB Omni, consulte o artigo Instale 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 cópia de segurança do Barman com, pelo menos, uma cópia de segurança válida do Barman da base de dados AlloyDB Omni de origem.

  • Conetividade SSH entre o servidor de cópia de segurança do Barman e o servidor de destino.

  • Chaves SSH configuradas para permitir que o utilizador barman no servidor Barman se autentique com o servidor de destino como o respetivo utilizador postgres sem uma palavra-passe.

  • Espaço livre suficiente no disco do servidor de destino para armazenar a base de dados restaurada.

Recupere através de uma cópia de segurança específica

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

    Docker

     docker stop CONTAINER_NAME

    Substitua CONTAINER_NAME pelo nome que atribuiu ao contentor do AlloyDB Omni quando o instalou, por exemplo, my-omni.

    Podman

     podman stop CONTAINER_NAME

    Substitua CONTAINER_NAME pelo nome que atribuiu ao contentor do AlloyDB Omni quando o instalou, por exemplo, my-omni.

  2. No servidor do Barman, escolha uma cópia de segurança a partir da qual restaurar. Para ver as cópias de segurança disponíveis, execute o comando barman list-backups. Para ver detalhes sobre uma cópia de segurança específica, execute o comando barman show-backup.

  3. Para recuperar a cópia de segurança escolhida no servidor AlloyDB Omni de destino, execute o comando barman recover.

    Quando executar o comando, inclua o seguinte:

    O comando seguinte demonstra um exemplo de utilização de barman recover com o AlloyDB Omni:

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

    Substitua o seguinte:

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

    • TARGET_LABEL: a etiqueta que atribuiu ao servidor no ficheiro de configuração do Barman.

    • BACKUP_ID: o ID da cópia de segurança a partir da qual restaurar, identificado num passo 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 base de dados de destino do AlloyDB Omni, inicie o serviço:

    Docker

    docker start CONTAINER_NAME

    Podman

    podman start CONTAINER_NAME

Após o reinício do serviço, estabeleça ligação ao servidor AlloyDB Omni. Deve ver as bases de dados e os dados restaurados.

Recuperar até um ponto específico no tempo

Para fazer uma recuperação num determinado momento, siga os mesmos passos indicados na secção anterior, com uma modificação. Quando executa o comando barman recover, também tem de especificar uma das opções de recuperação num determinado momento do Barman.

O comando seguinte demonstra um exemplo de utilização de barman recover com o AlloyDB Omni com uma opção de recuperação num determinado momento:

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

Substitua o seguinte:

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

  • TARGET_LABEL: a etiqueta que atribuiu ao servidor no ficheiro de configuração do Barman.

  • BACKUP_ID: o ID da cópia de segurança a partir da qual restaurar, identificado num passo anterior, por exemplo, 20230810T210200.

  • TARGET_TIMESTAMP: a hora para a qual restaurar, em qualquer formato PostgreSQL timestamp que especifique uma data e uma hora, 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.