Esta página mostra 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 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 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 seus dados do AlloyDB Omni, você precisa do seguinte:
Um servidor de banco de dados de destino que executa a mesma versão principal do AlloyDB Omni que o servidor de origem. Para mais informações sobre a instalação do 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 Barman 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 Barman se autentique com o servidor de destino como usuáriopostgres
sem uma senha.Espaço livre suficiente no disco do servidor de destino para armazenar o banco de dados restaurado.
Recuperar usando um backup específico
No servidor de destino, interrompa o AlloyDB Omni.
Docker
docker stop CONTAINER_NAME
Substitua
CONTAINER_NAME
pelo nome atribuído ao contêiner do AlloyDB Omni quando ele foi instalado, por exemplo,my-omni
.Podman
podman stop CONTAINER_NAME
Substitua
CONTAINER_NAME
pelo nome atribuído ao contêiner do AlloyDB Omni quando ele foi instalado, por exemplo,my-omni
.No servidor do Barman, escolha um backup para restaurar. Para conferir os backups disponíveis, execute o comando
barman list-backups
. Para conferir detalhes sobre um backup específico, execute o comandobarman show-backup
.Para recuperar o backup escolhido no servidor de destino do AlloyDB Omni, execute o comando
barman recover
.Ao executar o comando, inclua o seguinte:
- Use a opção de recuperação remota.
- Especifique o diretório de dados do servidor de destino como o diretório de destino.
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 que você atribuiu 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óriodata
do diretório de dados do servidor de destino, por exemplo,/home/your-username/alloydb-data/data
.
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
, você também precisa especificar uma das opções de recuperação de ponto no tempo 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 de ponto no tempo:
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 que você atribuiu 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 tempo de restauração, em qualquer formatotimestamp
do PostgreSQL que especifique uma data e um horário, por exemplo,2024-02-06 00:00:00
.DATA_PATH
: o caminho para o subdiretóriodata
do diretório de dados do servidor de destino, por exemplo,/home/your-username/alloydb-data/data
.