O DFSR não está replicando e a única pista é o evento 5002

Por: Daniel Aguiar / Technical Reviewer: Diana Hernandez

Problema

Você tem instalado o Windows Server 2003 Enterprise SP2 R2 em dois ou mais servidores e está usando o DFSR (DFS Replication) para replicar arquivos para 1 ou mais servidores.

Em muitos desses servidores você visualiza o evento 5002 e a replicação não acontece.

Exemplo: Você tem uma pasta no servidor Server-B a qual é replicada hora a hora para o servidor Server-A, porém isso não está acontecendo e a única mensagem que se tem é no Event Viewer do Server-A que apresente o evento 5002 nos DFSR.

Sintomas no Server-A

O evento 5002 ira aparecer no Server-A toda vez que o DFSR tentar replicar a pasta em questão.

O evento 5002 no DFSR tem os seguintes padrões:

Event Type: Error
Event Source: DFSR
Event Category: None
Event ID: 5002
Date: <Date>
Time: <Time>
User: N/A
Computer: <Local Server Name>
Description:

The DFS Replication service encountered an error communicating with partner <Remote Server Name> for replication group <Share Name>.
Partner DNS Address: <Remote Server Name - FQDN>

Optional data if available:
Partner WINS Address: <Remote Server Name>
Partner IP Address: <Remote Server IP Address>
The service will retry the connection periodically.

Additional Information:
Error: 1753 (There are no more endpoints available from the endpoint mapper.)
Connection ID: <GUID of Connection>
Replication Group ID: <GUID of Replication Group>
For more information, see Help and Support Center at https://go.microsoft.com/fwlink/events.asp.

Sintomas nas capturas dos pacotes de rede

Nas capturas dos pacotes de rede, você encontra pacotes EPM enviados pelo Server-B para o Server-A com o seguinte resultado: EP_S_NOT_REGISTERED

O frame EPM (End Point Mapper) se apresentará com os seguintes padrões:

Epm: Response: ept_map: 0x16C9A0D6 - EP_S_NOT_REGISTERED

- EntryHandle:
-- ContextType: 0 (0x0)
-- ContextUuid: {00000000-0000-0000-0000-000000000000}
- NumTowers: 0 (0x0)
- Towers: 0 Elements
-- ArrayInfo: 0 Elements
--- MaxCount: 4
--- Offset: 0
--- ActualCount: 0
- Status: 0x16C9A0D6 - EP_S_NOT_REGISTERED
-- status: 0x16C9A0D6 - EP_S_NOT_REGISTERED

Sintomas no Server-B

No Server-B o serviço de DFSR parece iniciado e em funcionamento, porém se você pará-lo, a seguinte mensagem de erro aparece:

---------------------------
Services
---------------------------
Could not stop the DFS Replication service on Local Computer.
Error 1053: The service did not respond to the start or control request in a timely fashion.

---------------------------
OK
---------------------------

Sintomas no RPC do Server-B

Executando o comando “rpcdump /I” você não consegue ver o seguinte UUID debaixo da sessão ncacn_ip_tcp.

<Server IP Address> [<Dynamic RPC Port>] [897e2e5f-93f3-4376-9c9c-fd2277495c27] Frs2 Service :YES

Esse UUID refere-se ao próprio mapeamento dinâmico de porta do DFSR assinalado pelo RPC.

Em outras palavras: Por algum motivo o DFSR não conseguiu usar uma porta valida para se comunicar com as outras máquinas.

Nota: O rpcdump.exe está disponível no Windows Resource Kit

Resolução

Nesse cenário você deve procurar pelo evento 1210 de DFSR, mais recente nos servidores aonde você não consegue visualizar o UUID 897e2e5f-93f3-4376-9c9c-fd2277495c27 no RPCDump.

O evento 1210 no DFSR tem os seguintes padrões:
Event Type: Error
Event Source: DFSR
Event Category: None
Event ID: 1210
Date: <Date>
Time: <Time>
User: N/A
Computer: <Server Name>

Description:
The DFS Replication service successfully set up an RPC listener for incoming replication requests.

Additional Information:
Port: <PORT NUMBER>
For more information, see Help and Support Center at https://go.microsoft.com/fwlink/events.asp.

Se no lugar onde está <PORT NUMBER> você tiver um valor diferente de 0, é provável que seu servidor esteja tendo problemas de conflito de portas.

Quando manualmente configurado, o DFSR é capaz de assumir uma porta estática para a replicação de arquivos entre servidores, deixando de usar uma porta dinamicamente alocada pelo RPC.

Nota: Essa configuração é muito útil quando temos um Firewall entre os servidores.

Quando está configuração é utilizada, assume-se que a porta escolhida está livre e será dedicada para o uso do DFSR na máquina.

Se a porta escolhida for uma porta já em uso (por exemplo: 80, 135, etc.) o DFSR ira iniciar, porém você terá problemas de replicação com essa máquina.

Para escolher uma nova porta estática para o DFSR você deverá utilizar o seguinte comando:

dfsrdiag StaticRPC /port:<NEW PORT>

Nota: Substituir o <NEW PORT> por uma porta nova, lembrando que é sempre uma boa prática usar portas maiores que 1024

Para voltar o comportamento padrão do produto deixando o RPC alocar uma porta dinamicamente para o DFSR você deverá utilizar o seguinte comando:

dfsrdiag StaticRPC /port:0