Windows Server incapaz de sincronizar o tempo NTP de maneira confiável

41

Por que o Windows Server (2008, neste caso, mas vi o mesmo problema em 2003) parece ter problemas ao sincronizar o tempo? Eu vi esse erro no meu log do sistema em vários servidores:

O serviço de hora não sincronizou a hora do sistema por 86400 segundos porque nenhum dos prestadores de serviços de hora forneceu um carimbo de hora utilizável. O serviço de horário não atualizará o horário do sistema local até poder sincronizar com uma fonte de horário. Se o sistema local estiver configurado para atuar como um servidor de horário para clientes, ele interromperá a publicidade como fonte de horário para os clientes. O serviço de horário continuará a tentar novamente e sincronizar o horário com suas fontes de horário. Verifique o log de eventos do sistema para outros eventos do W32time para obter mais detalhes. Execute 'w32tm / resync' para forçar uma sincronização instantânea de tempo.

Em Painel de controle, Data e hora, as configurações de hora da Internet estão definidas para sincronizar com time-nw.nist.gov; a última sincronização bem-sucedida foi há dois dias, indicando que há algum tipo de problema. Mas se eu clicar no botão "atualizar agora" nessa caixa de diálogo, ele será atualizado com o tempo!

Então, por que o servidor Windows não pode sincronizar com tempo confiável via NTP em segundo plano sem que eu intervenha manualmente? O que estou fazendo errado?

Jeff Atwood
fonte
Você não está sozinho Jeff
jkp
1
Parece que isso pode não ser uma opção para controladores de domínio.
1
Bem-vindo ao inferno SNTP do Windows. O DLL Hell está ao virar da esquina e há um bonde a meia hora. A delicatessen é melhor aqui embora.
27430 Scott Alan Miller
2
Você já tentou um servidor NTP diferente? us.pool.ntp.org
stukelly
Obrigado por postar isso. Se alguém no Windows land estiver ouvindo, facilite a configuração básica da rede assim! Há certas coisas que nossos servidores sempre precisam, como um horário exato em relação ao fuso horário. Pode haver considerações não triviais das quais não estou ciente, mas esse é um problema recorrente e também interrompe o WSUS se não for verificado.
Cawflands

Respostas:

18

Jeff, eu encontrei este artigo . Pode ser de alguma ajuda para você. Você já deve ter lido isso, mas achei que valia a pena tentar.

HKLM \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ Config \ AnnounceFlags

Essa entrada do registro controla se o computador local está marcado como um servidor de horário confiável (o que só é possível se a entrada do registro anterior estiver definida como NTP, conforme descrito acima). Altere este valor REG_DWORD de 10 para 5 aqui.

ATUALIZAÇÃO Conforme Jeff, a melhor fonte de referência é http://support.microsoft.com/kb/816042

Joseph
fonte
estranho, então você marca como "não confiável", lol. OK, fiz essa alteração, vamos ver se ajuda.
30909 Jeff Atwood
4
KB 816042: "... e usa o relógio de semicondutor de óxido metálico complementar (CMOS)" - você não gosta apenas de editores técnicos?
Duncan Smart
14

O Windows Time Agent é um applet do painel de controle gratuito para configurar o servidor NTP / capacidade de sincronização do Windows. Ele atua como um front-end para as configurações do registro e permite configurar vários servidores NTP e ver que tipo de resultados você obtém deles em tempo real.

Poucas pessoas sabem sobre esse software particularmente útil (e gratuito), mas é uma instalação obrigatória nos servidores que mantenho.

crb
fonte
Muito obrigado companheiro. O Windows Time Agent é uma jóia. Tornou-se uma instalação obrigatória em todos os servidores que eu gerencio também.
Paracycle
5

A maneira que a Microsoft sugere para sincronizar o tempo é visualizada abaixo.

M $ Time!

Então, por que o Windows não pode sincronizar o NTP de maneira confiável? Tem a ver com a forma como o tempo é configurado em um ambiente de domínio. Deste artigo da Technet:

Se o computador for um servidor membro ou estação de trabalho em um domínio, por padrão, ele seguirá a hierarquia do AD DS e sincronizará seu tempo com um controlador de domínio em seu domínio local que está executando o serviço de Horário do Windows.

Você está indo "contra a corrente" aqui, tentando configurar servidores membros para obter tempo NTP.

A opção "correta" (ou seja, a maneira da Microsoft) seria definir o tempo conforme exibido na figura acima, com o Emulador PDC sincronizado com um serviço de tempo externo confiável, como pool.ntp.org, com os controladores de domínio sincronize com o emulador PDC e faça com que os servidores e PCs membros sejam sincronizados automaticamente a partir de um controlador de domínio.

Eu detalhei o processo de fixar o tempo para operar dessa maneira nesta resposta.

Brett Larson
fonte
sim, não queríamos nem precisávamos de um controlador de domínio, apenas um monte de servidores pares.
10138 Jeff Atwood
Oh, presumi que você fazia parte de um domínio. Eu acho que você deve poder configurar todos os servidores usando as coammnds vinculadas à pesquisa do pool.ntp.org. Talvez time.windows não seja uma ótima fonte de tempo. Eu tentaria novamente com o pool NTP, pois possui cerca de 3000 servidores globais e cerca de 900 na América do Norte!
Brett Larson
Nunca fomos capazes de fazê-lo funcionar de maneira confiável. Acho que você está certo: a sincronização confiável do tempo no Windows Server é impossível sem um controlador de domínio. O que é totalmente manco.
Jeff Atwood