Exemple : configuration d'une réplication DISP à écriture multiple entre DSA

Cet exemple explique comment activer la récupération par réplication à écriture multiple avec DISP (MW-DISP) entre deux DSA.
cad126fr
Cet exemple explique comment activer la récupération par réplication à écriture multiple avec DISP (MW-DISP) entre deux DSA.
Dans cet exemple, deux DSA sont configurés sur deux serveurs :
server1: dsa1
server2: dsa2
Procédez comme suit :
Etape 1 :
arrêtez les DSA.
server1: dxserver stop dsa1
server2: dxserver stop dsa2
Etape 2 :
activez l’écriture multiple sur server1.
Chemin d’accès UNIX :
$DXHOME/config/knowledge/dsa1.dxc.
Chemin d’accès Windows :
%DXHOME%\config\knowledge\dsa1.dxc.
   set dsa "dsa1" =
    {
    prefix = <c US><o CA>
      dsa-name = <c US><o CA><cn "dsa1">
      dsa-password = "secret"
      address = tcp "{hostname}" port 20000
      disp-psap = DISP
      snmp-port = 20000
      console-port = 20001
      auth-levels = anonymous, clear-password
      dsa-flags =
multi-write
      trust-flags = allow-check-password
    };
Etape 3 :
activez l’écriture multiple sur server1.
Chemin d’accès UNIX :
$DXHOME/config/knowledge/dsa2.dxc.
Chemin d’accès Windows :
%DXHOME%\config\knowledge\dsa2.dxc.
Si ce fichier n’existe pas, copiez-le de server2.
Exemple : 
UNIX :
copiez server2: $DXHOME/config/knowledge/dsa2.dxc vers server1: $DXHOME/config/knowledge
Windows :
copiez server2: %DXHOME%\config\knowledge\dsa2.dxc vers server1: %DXHOME%\config\knowledge
set dsa "dsa2" =
    {
     prefix = <c US><o CA>
     dsa-name = <c US><o CA><cn "dsa2">
     dsa-password = "secret"
      address = tcp "{hostname}" port 20000
      disp-psap = DISP
      snmp-port = 20000
      console-port = 20001
      auth-levels = anonymous, clear-password
      dsa-flags =
multi-write
      trust-flags = allow-check-password
    };
Pour que la réplication fonctionne, le paramètre prefix doit être identique pour dsa1 et dsa2.
Etape 4 :
créez un fichier de groupe de connaissances.
UNIX :
server1: $DXHOME/config/knowledge/dsas.dxg
Windows :
server1: %DXHOME%\config\knowledge\dsas.dxg
Ajoutez les lignes suivantes :
   source "dsa1.dxc";
   source "dsa2.dxc";
Remarque :
Si un fichier de groupe de connaissances existe pour dsa1 et dsa2, mettez-le à jour pour vous assurer que les dsa1 et dsa2 sont définis comme source.
Etape 5 :
mettez à jour server1: $DXHOME/config/servers/dsa1.dxi (UNIX) ou %DXHOME%\config\servers\dsa1.dxi (Windows) pour utiliser comme source le groupe de connaissances et activer la fonctionnalité MW-DISP.
Identifiez la ligne suivante :
  clear dsas;
  source "../knowledge/dsa1.dxc";
Remplacez cette ligne par les lignes suivantes :
  clear dsas;
  source "../knowledge/dsas.dxg";
Pour activer la fonctionnalité MW-DISP, recherchez la ligne suivante :
  # multiwrite DISP recovery
  set multi-write-disp-recovery = false;
Remplacez cette ligne par les lignes suivantes :
  # multiwrite DISP recovery
   set multi-write-disp-recovery = 
true
;
Etape 6 :
vérifiez les erreurs de syntaxe.
server1: dxsyntax dsa1
Copiez les fichiers suivants vers server2 :
For UNIX
    Copy server1: $DXHOME/config/knowledge/dsa1.dxc server2: $DXHOME/config/knowledge
    Copy server1: $DXHOME/config/knowledge/dsa2.dxc server2: $DXHOME/config/knowledge
    Copy server1: $DXHOME/config/knowledge/dsas.dxg server2: $DXHOME/config/knowledge
For Windows
    Copy server1: %DXHOME%\config\knowledge\dsa1.dxc server2: %DXHOME%\config\knowledge
    Copy server1: %DXHOME%\config\knowledge\dsa2.dxc server2: %DXHOME%\config\knowledge
    Copy server1: %DXHOME%\config\knowledge\dsas.dxg server2: %DXHOME%\config\knowledge
Mettez à jour le fichier de connaissances sur un serveur, puis copiez-le sur l’autre. Cette étape permet de maintenir les serveurs synchronisés.
Etape 6 :
mettez à jour server2: $DXHOME/config/servers/dsa2.dxi (UNIX) ou %DXHOME%\config\servers\dsa2.dxi (Windows) pour utilsier comme source le groupe de connaissances nouvellement copié et activer la fonctionnalité MW-DISP.
Identifiez la ligne suivante :
   clear dsas;
   source "../knowledge/dsa1.dxc";
Remplacez cette ligne par les lignes suivantes :
   clear dsas;
   source "../knowledge/dsas.dxg";
Pour activer la fonctionnalité MW-DISP, recherchez la ligne suivante :
  # multiwrite DISP recovery
  set multi-write-disp-recovery = false;
Remplacez cette ligne par les lignes suivantes :
   # multiwrite DISP recovery
   set multi-write-disp-recovery = 
true
;
Etape 7 :
 effectuez un point de contrôle pour les DSA.
Si les DSA contiennent des données synchronisées (par exemple, des charges du même fichier LDIF), effectuez un point de contrôle pour les DSA lors de l’activation de la fonctionnalité MW-DISP.
server1: dxdisp dsa2
server2: dxdisp dsa1
Cette étape empêche la réplication superflue des données existantes.
Etape 8 :
redémarrez les DSA.
server1: dxserver start dsa1
server2: dxserver start dsa2
Etape 9 :
vérifiez l’état de la réplication.
Vérifiez que les DSA se sont contactés et que l’état de réplication est OK.
server1: telnet localhost 20001
server1: get dsp;
server1: logout;
   ...
   ...
    multi-write-group-credit = 0
    multi-write-outstanding-ops = 10
    dsa2: 
OK
, total 0, waiting remote 0, confirmed local 0
 
server2: telnet localhost 20001
server2: get dsp;
server2: logout;
   ...
   ...
    multi-write-group-credit = 0
    multi-write-outstanding-ops = 10
    dsa1: 
OK
, total 0, waiting remote 0, confirmed local 0
Pour la sortie de la commande 
get dsp;
, le statut de la file d’attente de réplication doit être OK. Un autre statut comme DISP-FAILED indique un problème de réplication ou un problème de connectivité entre les deux DSA. Les journaux warn-log et alarm-log sont un bon point de départ pour le diagnostic de ces problèmes de réplication.
Un autre test d’intégrité consiste à vous connecter à dsa1 via un navigateur LDAP (par exemple, JXplorer) et à modifier les données. Connectez-vous à dsa2 et assurez-vous que la mise à jour est répliquée. Vous pouvez effectuer un test identique pour MW-DISP en arrêtant dsa2 avant la mise à jour de dsa1. Lorsque dsa2 est démarré, il récupère les mises à jour de dsa1 et les mises à jour doivent être reflétées.
Remarques générales
  • Nous vous recommandons d’exécuter un ou plusieurs DSA routeur avec les serveurs de réplication pour permettre un basculement automatique et un rétablissement.
  • $DXHOME/config/knowledge doit être identique entre les ordinateurs. Cela vous assure que tous les DSA fonctionnent de manière cohérente.
  • Nous vous recommandons de définir un des serveurs de réplication en tant que serveur maître préféré. Ajoutez la ligne suivante au fichier router.dxi :
    set write-precedence = dsa1, dsa2;
    Cette opération permet d'éviter les conflits de mise à jour (même entrée mise à jour simultanément sur dsa1 et dsa2).