Note :

Effectuer une synchronisation bidirectionnelle inter-région dans Oracle Cloud Infrastructure à l'aide de la synchronisation

Présentation

La synchronisation inter-région du stockage d'objets est essentielle pour diverses charges de travail en nuage, y compris la sauvegarde des données, la récupération après sinistre et l'accès multi-région. Bien qu'Oracle Cloud Infrastructure (OCI) offre des capacités de réplication pour OCI Object Storage, il n'offre pas de solution native de synchronisation bidirectionnelle. Cette limitation signifie que les utilisateurs doivent s'appuyer sur des mises en oeuvre personnalisées pour synchroniser les fichiers entre les régions.

Syncthing, un outil de synchronisation de fichiers décentralisé open source, fournit une synchronisation bidirectionnelle continue qui fonctionne alternativement en temps réel. Contrairement à OCI Functions, qui s'appuie sur un modèle basé sur des événements pour la réplication d'objet, Syncthing synchronise efficacement des structures de fichiers entières entre des machines virtuelles tout en prenant en charge les répertoires locaux et montés sur OCI Object Storage.

Dans ce tutoriel, nous allons déployer la synchronisation sur des instances de calcul OCI dans deux régions à l'aide d'une pile du gestionnaire de ressources OCI, ce qui permettra une synchronisation automatique et bidirectionnelle entre le stockage de machine virtuelle local et les répertoires montés dans OCI Object Storage.

Points à considérer

Lorsque vous montez la synchronisation avec le service de stockage d'objets pour OCI à l'aide de s3fs :

Quand la synchronisation est-elle une bonne idée?

Objectifs

Préalables

Tâche 1 : Préparer les informations nécessaires au déploiement de la machine virtuelle

  1. Téléchargez la pile du gestionnaire de ressources OCI. Cette pile automatise le déploiement d'une machine virtuelle exécutant Oracle Linux 8 sur VM.Standard.E5. Forme flexible. Il installe la synchronisation à l'aide de CloudInit, monte un seau OCI existant et configure l'accès à l'aide de s3fs. La machine virtuelle est provisionnée avec un accès SSH, une adresse IP publique et marquée pour une identification facile. Pour plus d'informations, voir Pile du gestionnaire de ressources OCI.

  2. Créez un VCN avec un sous-réseau public dans les deux régions cibles.

    La pile sera déployée dans les deux emplacements pour provisionner une machine virtuelle avec synchronisation en vue d'une synchronisation bidirectionnelle du stockage inter-région. Une fois déployé, Syncthing est accessible dans le navigateur à l'aide de l'adresse IP publique de la machine virtuelle.

  3. Assurez-vous qu'un seau de stockage d'objets OCI existe dans chaque région où les tests seront effectués. La visibilité du seau peut être Privé.

  4. Créer une clé secrète de client pour le montage s3fs. La clé secrète du client sera utilisée pour accéder au service de stockage d'objets OCI.

    1. Connectez-vous à la console OCI, naviguez jusqu'à Profil, cliquez sur votre nom d'utilisateur et sur Clés secrètes de client.

      Profil - Clé secrète du client

    2. Cliquez sur Créer une clé secrète et entrez un nom, par exemple s3fs-access.

    3. Assurez-vous de copier la clé générée car nous l'utiliserons plus tard dans la tâche 2.

      Clé d'accès secrète client

    4. Cliquez sur Clé d'accès et copiez la valeur comme nous l'utiliserons plus tard dans la tâche 2.

      Clé d'accès secrète client

    5. Copiez l'espace de noms dans la page Détails du seau que nous utiliserons plus tard dans la tâche 2.

      Espace de noms du seau de stockage d'objets

Tâche 2 : Appliquer la pile

  1. Connectez-vous à la console OCI, naviguez jusqu'à Services de développement, Gestionnaire de ressources et cliquez sur Piles.

    Piles du gestionnaire de ressources OCI

  2. Créez la pile du gestionnaire de ressources OCI Terraform. Pour plus d'informations, voir Création d'une pile à partir d'un fichier zip.

    1. Cliquez sur Créer une pile.

    2. Sélectionnez le fichier .zip et ajoutez la pile.

    3. Entrer une clé de marqueur.

    4. Cliquez sur Suivant.

  3. Dans la page Configurer les variables, entrez les informations suivantes.

    • Compartiment : Entrez le compartiment.
    • VCN et sous-réseau : Sélectionnez un VCN existant et un sous-réseau public.
    • Modifiez le nom d'affichage du mv si vous le souhaitez.
    • Clé SSH publique : Entrez la clé SSH publique pour la machine virtuelle.
    • Domaine de disponibilité : Sélectionnez un domaine de disponibilité.
    • OCID de la clé secrète client et clé d'accès de la clé secrète client : Entrez l'OCID de la clé secrète client et la clé d'accès de la clé secrète client créés dans la tâche 1.
    • Nom du seau : Entrez le nom du seau.
    • Espace de noms du stockage d'objets : Sélectionnez l'espace de noms du stockage d'objets.
  4. Cliquez sur Suivant et vérifiez les informations. Si tout va bien, sélectionnez Exécuter l'application et cliquez sur Créer.

    Pile d'application ORM OCI

    Une fois la tâche d'application terminée, elle doit retourner les adresses IP publiques et privées de la machine virtuelle nouvellement créée.

    Sortie de pile ORM

  5. Répétez les étapes d'une région secondaire pour y créer la deuxième machine virtuelle.

  6. Vérifiez que les seaux du service de stockage d'objets pour OCI sont montés sur /home/opc/logging au niveau de la machine virtuelle, en vous connectant au moyen de SSH à l'aide des commandes suivantes.

    mount | grep s3fs
    

    Si le seau est monté avec succès, vous devriez voir la sortie comme suit :

    Informations sur le seau de montage

    Cela confirme que s3fs a monté le seau sur /home/opc/logging sur l'une des machines virtuelles.

Tâche 3 : Configurer la synchronisation

Une fois les deux machines virtuelles déployées dans les deux régions, configurez la synchronisation sur chaque machine virtuelle en suivant les étapes ci-dessous pour synchroniser le stockage entre elles.

  1. Copiez l'adresse IP publique de la machine virtuelle dans la première région et utilisez-la dans le navigateur pour accéder à l'interface de synchronisation. Entrez l'URL suivante.

    http://<vm1-public-ip>:8384
    
  2. Après avoir accédé à l'interface, vous verrez l'interface Syncthing qui sera similaire à l'image suivante. Les dossiers et les appareils distants sont les zones que vous allez configurer pour la synchronisation à l'étape suivante.

    Écran de synchronisation

    Note : Vous pouvez définir un nom d'utilisateur et un mot de passe dans les paramètres sous la section GUI pour supprimer les avertissements.

  3. Dans la section Dossiers, cliquez sur Ajouter un dossier pour créer ou inclure un dossier de machine virtuelle local dans l'interface d'administration de la synchronisation.

    Synchronisation du dossier d'ajout

  4. Entrez les informations suivantes pour configurer un dossier local et cliquez sur Enregistrer.

    • Étiquette du dossier : Nom convivial pour identifier le dossier. Par exemple, local_VM1.
    • Chemin du dossier : Chemin du répertoire du dossier local. Par exemple, ~/local_VM1.

    Synchronisation du dossier local

    Vous pouvez archiver le terminal de machine virtuelle créé par le nouveau dossier local_VM1.

  5. Répétez les étapes 1 à 4 dans la machine virtuelle à partir de la région secondaire et ajoutez le dossier local_VM2 dans l'interface de synchronisation VM2.

  6. Configurez la connexion de synchronisation inter-région entre les deux machines virtuelles, en commençant par VM1.

    1. Dans la section Appareils distants de la première machine virtuelle de synchronisation, cliquez sur Ajouter un appareil distant pour inclure un dossier distant de la deuxième région.

      Ajouter un appareil distant

    2. Dans Général, entrez les informations suivantes.

      • ID appareil : Il s'agit de l'ID du deuxième appareil de synchronisation. Sur VM2, ouvrez l'interface de synchronisation, naviguez jusqu'à Actions, Afficher l'ID, copiez la valeur affichée et collez-la dans ce champ.

        Appareil distant - Afficher l'ID

      • Nom de l'appareil : Entrez un nom pertinent tel que remote_VM2.

        Appareil distant - onglet général

    3. Dans Partage, sélectionnez local_VM1 à partager avec l'appareil distant.

      Périphérique distant - onglet de partage

    4. Dans Avancé, entrez tcp://<vm2-public-ip>:22000 dans Adresses, 22000 est le port TCP utilisé pour la synchronisation des données.

    5. Cliquez sur Enregistrer.

  7. À ce stade, sur VM1 Syncthing, le dossier local local_VM1 doit s'afficher en vert À ce jour et l'appareil distant remote_VM2 affiche Déconnecté.

    Pour terminer la connexion, effectuez les mêmes étapes sur la synchronisation VM2, à l'aide des données équivalentes collectées à partir de la synchronisation VM1, entrez ID appareil, tcp://<vm1-public-ip>:22000 en tant qu'adresses et nom de l'appareil, par exemple remote_VM1.

    Note : Assurez-vous que le port 22000 est ouvert dans la liste de sécurité des réseaux en nuage virtuels.

  8. Après les configurations équivalentes, vous devez être invité dans chaque interface de synchronisation à accepter l'ajout du dossier distant. Cliquez sur Ajouter.

    Accepter le dossier distant

  9. Vous serez invité à l'enregistrer localement avec des détails spécifiques. Par exemple, sur VM1, vous serez invité à enregistrer le local_VM2 entrant. Vous pouvez modifier son nom sur VM1 en remote_VM2 pour obtenir un affichage plus clair. Vous avez également la possibilité de le mapper à un chemin VM1 local. Il peut s'agir de n'importe quel chemin; un nouveau dossier est créé s'il n'existe pas. Vous pouvez également sélectionner ~/local_VM1, ce qui signifie que le contenu des deux dossiers des deux machines virtuelles sera fusionné au même emplacement. Pour notre exemple, entrez le chemin ~/remote_VM2.

  10. Effectuez la même étape sur VM2 par rapport au dossier local_VM1 entrant et mappez-le en tant que remote_VM1.

  11. Maintenant, les deux machines virtuelles doivent être synchronisées et les dossiers administrés par Syncthing; sur VM1, sur local_VM1 et remote_VM2; sur VM2, sur local_VM2 et remote_VM1.

    Dossiers synchronisés

Tâche 4 : Tester la synchronisation du stockage local

Pour tester la synchronisation de synchronisation, connectez-vous à chaque machine virtuelle à l'aide de SSH. Dans le répertoire d'origine opc, vous trouverez deux dossiers.

Pour vérifier la synchronisation, nous allons ajouter ou modifier un fichier dans le dossier local sur une machine virtuelle et vérifier si les modifications apparaissent dans le dossier correspondant sur la machine virtuelle distante. En outre, nous surveillerons l'interface de synchronisation ou les journaux pour confirmer la synchronisation réussie entre les deux régions OCI.

  1. SSH dans VM1.

    ssh opc@<vm1-public-ip>
    
  2. Exécutez la commande suivante pour naviguer jusqu'au dossier local_VM1 partagé de synchronisation local.

    cd ~/local_VM1
    
  3. Exécutez la commande suivante pour créer un fichier de test.

    echo "testing sync" > testVM1.txt
    
  4. Ouvrez un nouveau terminal et SSH dans VM2.

    ssh opc@<vm2-public-ip>
    
  5. Exécutez la commande suivante pour naviguer jusqu'au dossier partagé sur VM2.

    cd ~/remote_VM1
    
  6. Exécutez les commandes suivantes pour vérifier si le fichier apparaît.

    ls -l
    cat testVM1.txt
    
  7. Effectuez les mêmes étapes sur VM2 et vérifiez qu'un fichier s'affiche sur VM1 dans le dossier remote_VM2.

  8. Vérifiez le statut de synchronisation dans l'interface de synchronisation. Ouvrez http://<vm1-public-ip>:8384 et http://<vm2-public-ip>:8384 dans un navigateur pour vérifier les journaux et le statut de synchronisation.

    Fichiers synchronisés

Tâche 5 : Tester la synchronisation du contenu du seau de stockage d'objets OCI

Les seaux sont montés sur les machines virtuelles déployées dans le répertoire /home/opc/logging. Pour tester et synchroniser les fichiers situés dans les seaux montés, vous devez refaire les étapes précédentes afin d'ajouter le répertoire de machine virtuelle logging en tant que dossier local, puis le partager à partir des appareils distants. Vous verrez quelque chose de similaire à ceci :

Ensuite, créez un fichier dans le répertoire logging qui le fera apparaître dans le seau OCI et synchronisez-le avec le répertoire VM2 logging s'il est correctement configuré, donc dans le deuxième seau de l'inter-région également.

Synchronisation de seau

Tâche 6 : Effectuer d'autres tests

Il y a deux points que vous pouvez facilement tester davantage avec le même dossier et les mêmes périphériques partagés que ceux configurés précédemment.

Remerciements

Autres ressources d'apprentissage

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

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