Note :

Automatisez la permutation et le basculement pour la base de données PostgreSQL avec Oracle Cloud Infrastructure Full Stack Disaster Recovery

Présentation

Oracle Cloud Infrastructure Full Stack Disaster Recovery (RD de pile complète OCI) orchestre la transition des services de calcul, de base de données et d'applications entre les régions Oracle Cloud Infrastructure (OCI) du monde entier en un seul clic. Les clients peuvent automatiser les étapes nécessaires à la récupération d'un ou de plusieurs systèmes d'affaires sans repenser ou réorganiser l'infrastructure, les bases de données ou les applications existantes et sans avoir besoin de serveurs de gestion ou de conversion spécialisés.

La récupération après sinistre de pile complète OCI est un service hautement flexible. Nous pouvons tirer parti des groupes de plans définis par l'utilisateur dans le plan de récupération après sinistre pour gérer les opérations de récupération après sinistre de seau de stockage d'objets OCI.

Architecture de déploiement

Architecture du service de stockage d'objets

Note : La région principale est Francfort et la région RS est Londres.

Objectifs

Préalables

Tâche 1 : Installer et configurer PostgreSQL

  1. Pour installer PostgreSQL, connectez-vous à l'hôte à l'aide de votre client SSH favori et exécutez la commande suivante.

    sudo dnf install -y postgresql postgresql-server postgresql-contrib
    sudo /usr/bin/postgresql-setup initdb
    sudo systemctl enable postgresql
    sudo systemctl start postgresql
    
  2. Activez le pare-feu Linux pour recevoir les connexions.

    sudo firewall-cmd --zone=public --add-port=5432/tcp --permanent
    sudo firewall-cmd --reload
    
  3. Modifiez le fichier postgresql.conf (qui se trouve dans xxxxx) pour autoriser la connexion et modifiez les paramètres wal comme suit.

    ...
    listen_addresses = '*'
    ...
    wal_level = logical
    wal_log_hints = on
    ...
    
  4. Connectez-vous à la base de données, puis créez l'utilisateur de réplication.

    sudo su postgres
    psql
    
    CREATE ROLE replica_user WITH REPLICATION LOGIN PASSWORD 'YourUserPassword';
    
  5. Ajoutez cet utilisateur au fichier pg_hba.conf (qui se trouve dans xxxxx).

    host    all             all             all                    md5
    host    replication     replica_user    <IP Host 1>            md5
    host    replication     replica_user    <IP Host 2>            md5
    
  6. Redémarrez la base de données PostgreSQL pour appliquer les modifications.

    sudo systemctl restart postgresql
    
  7. Répétez ce processus sur le deuxième serveur.

Tâche 2 : Répliquer la base de données PostgreSQL

Dans cette tâche, nous allons configurer la réplication de base de données PostgreSQL native.

  1. Connectez-vous à la base de données principale et créez l'emplacement de réplique.

    sudo su postgres
    psql
    
    select pg_create_physical_replication_slot('replica_0');
    
  2. Connectez-vous à la base de données secondaire et exécutez les commandes suivantes pour créer la réplication.

    sudo systemctl stop postgresql
    sudo rm -rv /var/lib/pgsql/data/
    sudo pg_basebackup -d "host=<IP Host 1> port=5432 user=replica_user password=YourUserPassword" -w -X stream -S replica_0 -v -R -W -D /var/lib/pgsql/data/ --no-password
    sudo chown postgres -R /var/lib/pgsql/data/
    sudo systemctl start postgresql
    
  3. Vérifiez que la réplication est en cours d'exécution sur la base principale.

    select * from pg_stat_replication;
    

    Vous devriez être en mesure de voir une ligne avec le processus de streaming.

Tâche 3 : Créer le plan de permutation

Tâche 3.1 : Créer et associer des groupes de protection pour récupération après sinistre (DRPG)

  1. Dans la région principale (Francfort), cliquez sur le menu hamburger, naviguez jusqu'à Migration et récupération après sinistre, Récupération après sinistre, Groupe de protection pour récupération après sinistre et Créer un groupe de protection pour récupération après sinistre.

    Créer un groupe de protection contre la récupération après sinistre à Ashburn

  2. Dans la région de secours (Londres), cliquez sur le menu hamburger, naviguez jusqu'à Migration et récupération après sinistre, Récupération après sinistre, Groupe de protection pour récupération après sinistre et Créer un groupe de protection pour récupération après sinistre.

    Créer un groupe de protection contre la récupération après sinistre à Ashburn

  3. Dans la région principale (Francfort), entrez les informations suivantes et cliquez sur Associer.

    • Rôle : Primary.
    • Région pair : UK South (London).
    • Groupe de protection RS pair : postgresql-lon.

    Associer la base principale et la base de secours

Tâche 3.2 : Ajouter des membres à la passerelle DRPG principale et de secours

  1. Dans la passerelle DRPG principale (postgresql-fra), sélectionnez Membres et ajoutez la machine virtuelle de calcul (postgresql01) en tant que membre.

    Ajouter membres principaux

    Note : Lors de l'ajout du service de calcul en tant que membre, sélectionnez Instance non mobile dans le type d'instance de calcul, car nous avons une configuration passive-active pour la base de données PostgreSQL.

  2. Dans la passerelle DRPG de secours (postgresql-lon), sélectionnez Membres et ajoutez la machine virtuelle de calcul (postgresql02) en tant que membre.

    Ajouter des membres de secours

    Note : Lors de l'ajout du service de calcul en tant que membres, sélectionnez Instance non mobile dans le type d'instance de calcul, car nous avons une configuration passive-active pour la base de données PostgreSQL.

Tâche 3.3 : Créer un plan de permutation dans la passerelle DRPG de secours (Londres)

Plan de permutation : Type de plan RS qui effectue une transition planifiée des services de la passerelle DRPG principale vers la passerelle DRPG de secours.

  1. Créez un plan de permutation dans la passerelle DRPG de secours postgresql-lon.

  2. Sélectionnez Plans et cliquez sur Créer un plan.

  3. Entrez le nom postgresql-switchover-frankfurt-london et sélectionnez le type de plan Switchover (planned).

  4. Cliquez sur Créer.

Plan de permutation

Note : Assurez-vous de créer le plan de permutation à partir de la passerelle DRPG de secours (Londres).

Tâche 3.4 : Personnaliser le plan de permutation avec différents groupes de plans définis par l'utilisateur

Nous avons ajouté Compute (instance non mobile) en tant que membres dans les deux groupes de protection RS. Nous devons personnaliser le plan de permutation avec d'autres groupes de plans définis par l'utilisateur. Nous devons également créer les scripts bash suivants et les charger dans le stockage d'objets OCI pour pouvoir les appeler lors de la permutation.

Note : Ces scripts doivent être chargés dans le seau de la région Londres.

Groupes de plans

Un flux de travail type pour la permutation de récupération après sinistre est le suivant :

  1. Arrêter la base de données PostgreSQL dans la région de Francfort : Le groupe de plans comporte des étapes pour arrêter la base de données PostgreSQL dans la région de Francfort.

  2. Promouvoir la base de données PostgreSQL dans la région de Londres : Le groupe de plans comporte des étapes pour promouvoir la base de données PostgreSQL dans la région de Londres.

  3. Modifier la direction de réplication de base de données PostgreSQL : Le groupe de plans comporte des étapes pour modifier la direction de réplication de base de données PostgreSQL (LON-FRA).

Note : Assurez-vous que les étapes sont exécutées dans le même ordre.

Créez le groupe de plans défini par l'utilisateur suivant.

  1. Créez le groupe de plans Arrêter la base de données PostgreSQL dans la région Francfort.

    1. Sous Groupes de plans, cliquez sur Ajouter un groupe pour créer un groupe de plans personnalisé afin d'arrêter la base de données PostgreSQL dans la région de Francfort. Entrez Nom du groupe comme Stop PostgreSQL Database at Frankfurt Region.

      Arrêter la base de données PostgreSQL dans FRA

    2. Cliquez sur Ajouter une étape et entrez les informations suivantes. Nous ajouterons une étape dans le groupe de plans.

      • Veillez à sélectionner la région comme Frankfurt et l'instance cible comme postgresql01. Sélectionnez le script d'exécution du stockage d'objets et l'emplacement du script choisit le seau de stockage d'objets OCI posgres-dr-lon.

      • Entrez les détails du script stop_postgresql.sh avec l'emplacement du script. Le script arrêtera la base de données PostgreSQL dans la région FRA.

      • Cliquez sur Ajouter une étape et vérifiez l'étape ajoutée.

      Arrêter l'étape de base de données PostgreSQL

  2. Créez un groupe de plans Promouvoir la base de données PostgreSQL dans la région Londres.

    1. Sous Groupes de plans, cliquez sur Ajouter un groupe pour créer un groupe de plans personnalisé afin de promouvoir la base de données PostgreSQL à Londres. Entrez Nom du groupe comme Promote PostgreSQL Database at London Region.

      Promouvoir la base de données PostgreSQL dans LON

    2. Cliquez sur Ajouter une étape et entrez les détails suivants. Nous ajouterons une étape dans le groupe de plans.

      • Veillez à sélectionner la région comme London, l'instance cible comme postgresql02. Sélectionnez le script d'exécution du stockage d'objets et l'emplacement du script choisit le seau de stockage d'objets OCI posgres-dr-lon.

      • Entrez les détails du script promote_postgresql.sh avec l'emplacement du script. Le script arrêtera la base de données PostgreSQL dans la région FRA.

      • Cliquez sur Ajouter une étape et vérifiez l'étape ajoutée.

      Promouvoir l'étape de base de données PostgreSQL

  3. Créez un groupe de plans Modifier la direction de réplication de base de données PostgreSQL.

    1. Sous Groupes de plans, cliquez sur Ajouter un groupe pour créer un groupe de plans personnalisé afin de modifier la direction de réplication de la base de données PostgreSQL. Entrez Nom du groupe comme Promote PostgreSQL Database at London Region.

      Modifier la réplication de base de données PostgreSQL directionN

    2. Cliquez sur Ajouter une étape et entrez les informations suivantes. Nous ajouterons une étape dans le groupe de plans.

      • Veillez à sélectionner la région comme Frankfurt et l'instance cible comme postgresql01. Sélectionnez le script d'exécution du stockage d'objets et l'emplacement du script, sélectionnez le seau de stockage d'objets OCI posgres-dr-lon.

      • Entrez les détails du script change_replication_direction.sh avec l'emplacement du script. Le script arrêtera la base de données PostgreSQL dans la région FRA.

      • Cliquez sur Ajouter une étape et vérifiez l'étape ajoutée.

      Modifier l'étape de direction de réplication de base de données PostgreSQL

Groupes de plans Londres

Tâche 4 : Exécuter les vérifications préalables et exécuter le plan de permutation

L'option Exécuter les vérifications préalables permet d'effectuer une validation rapide de toutes les étapes d'un plan RS ainsi que des membres associés à ces étapes.

  1. Dans le plan de permutation postgresql-switchover-frankfurt-london, cliquez sur Exécuter les vérifications préalables pour exécuter les vérifications préalables.

    Vérification préalable à la permutation

    Vérifiez que l'exécution a réussi.

    Statut de la vérification préalable de la migration

  2. Dans le plan de permutation postgresql-switchover-frankfurt-london, cliquez sur Exécuter le plan de récupération après sinistre pour exécuter le plan.

    Exécuter le plan de récupération après sinistre

  3. Vérifiez le statut du plan et assurez-vous que toutes les étapes du plan réussissent.

    Exécuter le statut du plan de récupération après sinistre

  4. Le plan de permutation exécute tous les groupes de plans dans un ordre spécifique. Après l'exécution réussie du plan, la base de données PostgreSQL sera promue en base principale dans la région de Londres.

  5. Le rôle change automatiquement dans la passerelle DRPG. Maintenant, Londres aura le rôle principal et Francfort aura le rôle de secours.

  6. Vérifiez la base de données PostgreSQL à Londres.

Tâche 5 : Créer un plan de permutation dans la passerelle DRPG de secours (Francfort) vers Switchback

Tâche 5.1 : Créer un plan de permutation dans la passerelle DRPG de secours (Londres)

  1. Créez un plan de permutation dans la passerelle DRPG de secours postgresql-fran.

  2. Sélectionnez Plans et cliquez sur Créer un plan.

  3. Entrez le nom postgresql-switchover-london-frankfurt et sélectionnez le type de plan Switchover (planned).

  4. Cliquez sur Créer.

Groupes de plans

Note : Assurez-vous de créer le plan de permutation à partir de la passerelle DRPG de secours (Francfort).

Tâche 5.2 : Personnaliser le plan de permutation avec différents groupes de plans définis par l'utilisateur

Nous devons personnaliser le plan de permutation avec d'autres groupes de plans définis par l'utilisateur. Nous devons également créer les scripts bash suivants et les charger dans le stockage d'objets OCI, afin de pouvoir les appeler lors de la permutation.

Note : Ces scripts doivent être chargés dans le seau de la région de Francfort.

Un flux de travail type pour la permutation de récupération après sinistre est le suivant :

  1. Rewind PostgreSQL Databases : Groupe de plans pour rembobiner la base de données. Francfort synchronisera le contenu de la base de données de Londres.

  2. Rétablir la réplication de base de données PostgreSQL vers Londres : Le groupe de plans aura une étape pour commencer à répliquer la base de données PostgreSQL de Francfort vers la région de Londres.

Note : Assurez-vous que les étapes sont exécutées dans le même ordre.

Créer les deux groupes de plans définis par l'utilisateur suivants

  1. Créez le groupe de plans Rewind PostgreSQL Databases.

    1. Sous Groupes de plans, cliquez sur Ajouter un groupe pour créer un groupe de plans personnalisé afin de rembobiner la base de données PostgreSQL dans la région de Francfort. Entrez Nom du groupe comme Rewind PostgreSQL Databases at Frankfurt Region.

      Rewind PostgreSQL Base de données dans FRA

    2. Cliquez sur Ajouter une étape et entrez les informations suivantes. Nous ajouterons une étape au groupe de plans.

      • Veillez à sélectionner la région comme Frankfurt et l'instance cible comme postgresql01. Sélectionnez le script d'exécution du stockage d'objets et l'emplacement du script choisit le seau de stockage d'objets OCI posgres-dr-lon.

      • Entrez les détails du script rewind_postgresql.sh avec l'emplacement du script. Le script arrêtera la base de données PostgreSQL dans la région FRA.

      • Cliquez sur Ajouter une étape et vérifiez l'étape ajoutée.

      Rewind PostgreSQL Étape de base de données

  2. Créez le groupe de plans Rétablir la réplication de base de données PostgreSQL vers Londres.

    1. Sous Groupes de plans, cliquez sur Ajouter un groupe pour créer un groupe de plans personnalisé afin de rétablir la réplication de base de données PostgreSQL à Londres. Entrez Nom du groupe comme Promote PostgreSQL Database at London Region.

      Rétablir la réplication de la base de données PostgreSQL dans LON

    2. Cliquez sur Ajouter une étape et entrez les informations suivantes. Nous ajouterons une étape dans le groupe de plans.

      • Veillez à sélectionner la région comme London et l'instance cible comme postgresql02. Sélectionnez le script d'exécution du stockage d'objets et l'emplacement du script choisit le seau de stockage d'objets OCI posgres-dr-lon.

      • Entrez les détails du script replicate_postgresql.sh avec l'emplacement du script. Le script arrêtera la base de données PostgreSQL dans la région FRA.

      • Cliquez sur Ajouter une étape et vérifiez l'étape ajoutée.

      Rétablir l'étape de réplication de la base de données PostgreSQL

Tâche 6 : Exécuter les vérifications préalables et exécuter le plan de permutation

Les vérifications préalables d'exécution effectuent une validation rapide de toutes les étapes d'un plan RS ainsi que des membres associés à ces étapes.

  1. Dans le plan de permutation postgresql-switchover-london-frankfurt, cliquez sur Exécuter les vérifications préalables pour exécuter les vérifications préalables.

    Vérification préalable à la permutation

    Vérifiez que l'exécution a réussi.

    Statut de la vérification préalable de la migration

  2. Dans le plan de permutation postgresql-switchover-london-frankfurt, cliquez sur Exécuter le plan de récupération après sinistre pour exécuter le plan.

    Exécuter le plan de récupération après sinistre

  3. Vérifiez le statut du plan et assurez-vous que toutes les étapes du plan réussissent.

    Exécuter le statut du plan de récupération après sinistre

  4. Le plan de permutation exécute tous les groupes de plans dans un ordre spécifique. Après l'exécution réussie du plan, la base de données PostgreSQL sera promue en base principale dans la région de Francfort.

  5. Le rôle change automatiquement dans la passerelle DRPG. Maintenant, Francfort aura le rôle principal et Londres aura le rôle de secours.

  6. Vérifiez la base de données PostgreSQL à Francfort.

Étapes suivantes

Vous avez vu comment effectuer automatiquement la permutation de base de données PostgreSQL et permuter les opérations de récupération après sinistre à l'aide de la récupération après sinistre de pile complète OCI. Pour plus d'informations, consultez la documentation sur la récupération après sinistre de pile complète OCI dans la section Liens connexes.

Confirmation

Autres ressources d'apprentissage

Explorez d'autres laboratoires sur la page docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal YouTube d'Oracle Learning. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir de la documentation sur le produit, visitez Oracle Help Center.