Cette page vous explique comment restaurer un cluster AlloyDB Omni à l'aide d'une sauvegarde créée avec Barman, un serveur de sauvegarde de base de données open source.
Étant donné qu'AlloyDB Omni est compatible avec PostgreSQL, les commandes et techniques de restauration de données décrites dans le manuel Barman s'appliquent également à AlloyDB Omni. Cette page présente une sélection de tâches de récupération courantes, avec des exemples de commandes pertinentes.
Pour en savoir plus sur la configuration de Barman pour AlloyDB Omni, consultez la page Configurer Barman pour AlloyDB Omni.
Avant de commencer
Avant de restaurer vos données AlloyDB Omni, vous devez disposer des éléments suivants:
Un serveur de base de données cible exécutant la même version majeure d'AlloyDB Omni que le serveur de base de données source. Pour en savoir plus sur l'installation d'AlloyDB Omni, consultez Installer AlloyDB Omni.
Le serveur cible peut être la même machine que le serveur source.
L'utilitaire
rsync
, installé sur le serveur cible.Un serveur de sauvegarde Barman, avec au moins une sauvegarde Barman valide de la base de données AlloyDB Omni source.
Connectivité SSH entre le serveur de sauvegarde Barman et le serveur cible.
Clés SSH configurées pour permettre à l'utilisateur
barman
sur le serveur Barman de s'authentifier auprès du serveur cible en tant qu'utilisateurpostgres
sans mot de passe.Espace disque disponible suffisant sur le serveur cible pour accueillir la base de données restaurée.
Récupérer à l'aide d'une sauvegarde spécifique
Sur le serveur cible, arrêtez AlloyDB Omni.
Docker
docker stop CONTAINER_NAME
Remplacez
CONTAINER_NAME
par le nom que vous avez attribué au conteneur AlloyDB Omni lors de son installation (par exemple,my-omni
).Podman
podman stop CONTAINER_NAME
Remplacez
CONTAINER_NAME
par le nom que vous avez attribué au conteneur AlloyDB Omni lors de son installation (par exemple,my-omni
).Sur le serveur Barman, choisissez une sauvegarde à partir de laquelle effectuer la restauration. Pour afficher les sauvegardes disponibles, exécutez la commande
barman list-backups
. Pour afficher les détails d'une sauvegarde spécifique, exécutez la commandebarman show-backup
.Pour récupérer la sauvegarde choisie sur le serveur AlloyDB Omni cible, exécutez la commande
barman recover
.Lorsque vous exécutez la commande, incluez les éléments suivants:
- Utilisez l'option de récupération à distance.
- Spécifiez le répertoire de données du serveur cible comme répertoire de destination.
La commande suivante illustre un exemple d'utilisation de
barman recover
avec AlloyDB Omni:barman recover --remote-ssh-command "ssh postgres@TARGET_IP" TARGET_LABEL BACKUP_ID DATA_PATH
Remplacez les éléments suivants :
TARGET_IP
: adresse IP du serveur cible.TARGET_LABEL
: libellé que vous avez attribué au serveur dans le fichier de configuration de Barman.BACKUP_ID
: ID de la sauvegarde à partir de laquelle effectuer la restauration, identifié à une étape précédente (par exemple,20230810T210200
).DATA_PATH
: chemin d'accès au sous-répertoiredata
du répertoire de données du serveur cible (par exemple,/home/your-username/alloydb-data/data
).
Sur le serveur de base de données cible AlloyDB Omni, démarrez le service:
Docker
docker start CONTAINER_NAME
Podman
podman start CONTAINER_NAME
Une fois le service redémarré, connectez-vous à votre serveur AlloyDB Omni. Vos bases de données et données restaurées devraient s'afficher.
Récupérer à un moment précis
Pour effectuer une récupération à un moment précis, suivez les mêmes étapes que celles décrites dans la section précédente, avec une modification. Lorsque vous exécutez la commande barman recover
, vous devez également spécifier l'une des options de récupération au point d'inflexion de Barman.
La commande suivante illustre un exemple d'utilisation de barman recover
avec AlloyDB Omni avec une option de récupération au moment donné:
barman recover --remote-ssh-command "ssh postgres@TARGET_IP" TARGET_LABEL BACKUP_ID --target-time="RESTORE_TIMESTAMP" DATA_PATH
Remplacez les éléments suivants :
TARGET_IP
: adresse IP du serveur cible.TARGET_LABEL
: libellé que vous avez attribué au serveur dans le fichier de configuration de Barman.BACKUP_ID
: ID de la sauvegarde à partir de laquelle effectuer la restauration, identifié à une étape précédente (par exemple,20230810T210200
).TARGET_TIMESTAMP
: heure de restauration, dans un formattimestamp
PostgreSQL spécifiant à la fois une date et une heure (par exemple,2024-02-06 00:00:00
).DATA_PATH
: chemin d'accès au sous-répertoiredata
du répertoire de données du serveur cible (par exemple,/home/your-username/alloydb-data/data
).