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. 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, executando 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 do 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 Barman se autentique com o servidor de destino como usuáriopostgres
sem senha.Espaço livre em disco suficiente no 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 que você atribuiu ao contêiner do AlloyDB Omni ao instalá-lo. Por exemplo,my-omni
.Podman
podman stop CONTAINER_NAME
Substitua
CONTAINER_NAME
pelo nome que você atribuiu ao contêiner do AlloyDB Omni ao instalá-lo. 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 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ó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. Seus bancos de dados e dados restaurados vão aparecer.
Recuperar para um momento específico
Para fazer 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 pontual do Barman.
O comando a seguir demonstra um exemplo de uso de barman recover
com o AlloyDB Omni e uma opção de recuperação até um determinado 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 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 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
.