Restaurer un cluster AlloyDB Omni à l'aide de Barman

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'utilisateur postgres 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

  1. 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).

  2. 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 commande barman show-backup.

  3. 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:

    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épertoire data du répertoire de données du serveur cible (par exemple, /home/your-username/alloydb-data/data).

  4. 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 format timestamp 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épertoire data du répertoire de données du serveur cible (par exemple, /home/your-username/alloydb-data/data).