Pastas do DFS desaparecem após reiniciar um ou mais servidores do namespace

Este problema pode ocorrer quando um ou todos os servidores do namespace sejam máquinas virtuais com o Windows Server 2008 R2. Você nota que após reiniciar um ou mais servidores do namespace, as pastas compartilhadas no namespace “desaparecem” para os usuários, mesmo que você não possua o Access Based Enumeration desabilitado.

Após reiniciar o servidor, os eventos abaixo são gerados:

1. Ultima vez em que o servidor foi reiniciado:

Log Name:      System
Source:        Microsoft-Windows-Kernel-General
Date:          13/07/2014 20:35:59
Event ID:      12
Task Category: None
Level:         Information
Keywords:
User:          SYSTEM
Computer:      namespace-server.work.local
Description:
The operating system started at system time ‎2014‎-‎07‎-‎13T23:35:58.250000000Z.
2. Verificado que após o servidor iniciar, o horário no servidor é alterado por uma sincronização de horário com o host que hospeda a VM:

Log Name:      System
Source:        Microsoft-Windows-Kernel-General
Date:          13/07/2014 20:36:15
Event ID:      1
Task Category: None
Level:         Information
Keywords:      Time
User:          SYSTEM
Computer:      namespace-server.work.local
Description:
The system time has changed to ‎2014‎-‎07‎-‎13T23:36:15.725000000Z from ‎2014‎-‎07‎-‎13T23:36:15.890625000Z.
3. Depois de alguns segundos, o servidor encontra um servidor NTP e recebe o horário a partir deste servidor:

Log Name:      System
Source:        Microsoft-Windows-Time-Service
Date:          13/07/2014 20:36:19
Event ID:      37
Task Category: None
Level:         Information
Keywords:
User:          LOCAL SERVICE
Computer:      ntp-serverwork.local
Description:
The time provider NtpClient is currently receiving valid time data from ntp-serverwork.local
(ntp.d|0.0.0.0:123->172.17.3.2:123).

Log Name:      System
Source:        Microsoft-Windows-Time-Service
Date:          13/07/2014 20:36:33
Event ID:      35
Task Category: None
Level:         Information
Keywords:
User:          LOCAL SERVICE
Computer:      ntp-serverwork.local
Description:
The time service is now synchronizing the system time with the time source ntp-serverwork.local
(ntp.d|0.0.0.0:123->172.17.3.2:123).
4. Além disso, podemos ver que o serviço do DFS estava inciando durante este processo:

Log Name:      System
Source:        Service Control Manager
Date:          13/07/2014 20:36:12
Event ID:      7036
Task Category: None
Level:         Information
Keywords:      Classic
User:          N/A
Computer:      namespace-server.work.local
Description:
The DFS Replication service entered the running state.

Isto ocorre porque o horário do servidor é alterado (em razão da sincronia com o horário da máquina host) durante o processo de cálculo do scavenging das pastas do DFS durante a inicialização do serviço. Ou seja, quando o serviço do DFS inicia, ele cria um ponto de análise para os links (de pastas) contidos no namespace. Além disso, o serviço do DFS deleta links antigos que estão na raiz do caminho do DFS e que não pertencem mais ao namespace. Quando o horário do servidor é alterado antes que os pontos de análise sejam validados, o horário dos links podem ser mais novos do que o horário do que o servidor foi inciado, e desta forma o ponto de análise do link é considerado orfão e deletado pelo serviço do DFS.

Para solucionar o problema, é possível alterar o algoritmo de validação dos links das pastas no namespace para que ele não utilize os pontos de análise dos links baseado no timestamp dos links. Esta alteração se dá a partir da instalação do hotfix do KB2769122, contido no link abaixo:

DFS namespace folders are deleted after you restart a Windows Server 2008 R2-based computer: http://support.microsoft.com/kb/2761922/EN-US

Após a instalação do KB, basta reiniciar o servidor e notar que as pastas continuam aparecendo normalmente no namespace.
Artigo escrito por: Alan Martins

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s