Exemplo: Configurar a replicação de DISP de gravação múltipla entre DSAs

Este exemplo explica como ativar a replicação de gravação múltipla com recuperação DISP (MW-DISP) entre dois DSAs.
cad140br
Este exemplo explica como ativar a replicação de gravação múltipla com recuperação DISP (MW-DISP) entre dois DSAs.
Neste exemplo, há dois DSAs configurados em dois servidores:
Servidor 1: dsa1
Servidor 2: dsa2
Siga estas etapas:
Etapa 1:
Interrompa os DSAs.
server1: dxserver stop dsa1
server2: dxserver stop dsa2
Etapa 2:
Ative a gravação múltipla no servidor1.
Caminho UNIX:
$DXHOME/config/knowledge/dsa1.dxc.
Caminho do 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
    };
Etapa 3:
Ative a gravação múltipla no servidor 1.
Caminho UNIX:
$DXHOME/config/knowledge/dsa2.dxc.
Caminho do Windows:
% DXHOME%\config\knowledge\dsa2.dxc.
Se esse arquivo não existir, copie do servidor 2.
Exemplo: 
UNIX:
 copie o servidor 2: $DXHOME/config/knowledge/dsa2.dxc no servidor 1: $DXHOME/config/knowledge
Windows:
 copie o servidor 2: %DXHOME%\config\knowledge\dsa2.dxc no servidor 1: %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
    };
O prefixo deve ser o mesmo para dsa1 e dsa2 para que a replicação funcione.
Etapa 4:
Crie um arquivo de grupo de conhecimento.
UNIX:
servidor 1: $DXHOME/config/knowledge/dsas.dxg
Windows:
 servidor 1: %DXHOME%\config\knowledge\dsas.dxg
Adicione as seguintes linhas:
   source "dsa1.dxc";
   source "dsa2.dxc";
Observação:
se existir um arquivo de grupo de conhecimento para dsa1 e dsa2, atualize esse arquivo para garantir que dsa1 e dsa2 sejam fornecidos.
Etapa 5:
Atualize o servidor 1: $DXHOME/config/servers/dsa1.dxi (UNIX) ou %DXHOME%\config\servers\dsa1.dxi (Windows) para fornecer o grupo de conhecimento e também ativar o DISP de gravação múltipla.
Localize a seguinte linha:
  clear dsas;
  source "../knowledge/dsa1.dxc";
Substitua essa linha pelas seguintes linhas:
  clear dsas;
  source "../knowledge/dsas.dxg";
Para ativar o DISP de gravação múltipla, localize a seguinte linha:
  # multiwrite DISP recovery
  set multi-write-disp-recovery = false;
Substitua essa linha pelas seguintes linhas:
  # multiwrite DISP recovery
   set multi-write-disp-recovery = 
true
;
Etapa 6:
Verifique se há erros de sintaxe.
servidor 1: dxsyntax dsa1
Copie os seguintes arquivos no servidor 2:
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
Atualize o conhecimento em um servidor e, em seguida, copie no outro. Esta etapa mantém os servidores consistentes.
Etapa 6:
Atualize o servidor 2: $DXHOME/config/servers/dsa2.dxi (UNIX) ou %DXHOME%\config\servers\dsa2.dxi (Windows) para fornecer o grupo de conhecimento copiado recentemente e também ativar o DISP de gravação múltipla.
Localize a seguinte linha:
   clear dsas;
   source "../knowledge/dsa1.dxc";
Substitua essa linha pelas seguintes linhas:
   clear dsas;
   source "../knowledge/dsas.dxg";
Para ativar o DISP de gravação múltipla, localize a seguinte linha:
  # multiwrite DISP recovery
  set multi-write-disp-recovery = false;
Substitua essa linha pelas seguintes linhas:
   # multiwrite DISP recovery
   set multi-write-disp-recovery = 
true
;
Etapa 7:
Verifique os DSAs.
Se os DSAs contiverem dados sincronizados (por exemplo, carregamentos do mesmo LDIF), verifique os DSAs ao ativar a DISP de gravação múltipla.
server1: dxdisp dsa2
server2: dxdisp dsa1
Esta etapa impede que os dados existentes sejam replicados desnecessariamente.
Etapa 8:
Inicie os DSAs.
server1: dxserver start dsa1
server2: dxserver start dsa2
Etapa 9:
Verifique o estado de replicação.
Verifique se os DSAs entraram em contato um com o outro e se o estado de replicação é 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
Para a saída do comando
get dsp;
, o status da fila de replicação deve ser OK. Qualquer outro status, como FALHA NO DISP, indica um problema de replicação ou um problema de conectividade entre os dois DSAs. O log de avisos e o log de alarmes são bons locais para iniciar o diagnóstico desses problemas de replicação.
Outro teste de integridade é se conectar ao dsa1 por meio de um navegador LDAP (como o JXplorer) e modificar. Conecte-se ao dsa2 e certifique-se de que a atualização seja replicada. Um teste semelhante para o DISP de gravação múltipla pode ser executado interrompendo o dsa2 antes de atualizar o dsa1. Quando o dsa2 é iniciado, ele recupera as atualizações do dsa1 e as atualizações devem ser refletidas.
Outras considerações
  • É recomendável executar um ou mais roteadores de DSA com as réplicas para permitir failback e tolerância a falhas automáticos.
  • $DXHOME/config/knowledge deve ser idêntico entre os computadores. Isso garante que todos os DSAs funcionem de forma consistente.
  • É recomendável definir uma das réplicas como mestre preferencial. Adicione a seguinte linha ao arquivo router.dxi:
    set write-precedence = dsa1, dsa2;
    Essa etapa evita conflitos de atualização (a mesma entrada sendo atualizado simultaneamente no dsa1 e no dsa2).