Desvio do tempo

10

Como você lida com a deriva do tempo do servidor?

    
por deadprogrammer 08.05.2009 / 21:09

9 respostas

22

O Network Time Protocol, ou NTP, pode ser usado para sincronizar a hora em um servidor com uma fonte autoritativa. Os Windows Servers, por exemplo, usarão um dos controladores de domínio de rede (o DC que mantém a função FSMO do emulador de PDC para o domínio [obrigado Graeme]) para obter informações de horário. Você pode configurar o controlador de domínio para obter informações de alguma fonte conhecida, como a hora. windows.com.

    
por 08.05.2009 / 21:14
9

E para representar a multidão de máquinas virtuais ...

Se você estiver executando servidores virtuais , o desvio de tempo parece ser um problema comum - e geralmente há uma maneira (diferente de NTP) de manter as VMs em sincronia com o host.

No meu caso, estou usando o VMWare. Eu posso ligar isso de uma máquina virtual Linux usando:

vmware-guestd --cmd "vmx.set_option synctime 0 1"

E a partir de uma máquina Windows Virtual, você pode abrir o ícone vmware-tools na bandeja do sistema e selecionar sincronização de horário entre a máquina virtual e o sistema operacional host

    
por 08.05.2009 / 21:46
5

VMwareTools SyncTime não é uma boa opção para máquinas virtuais no ESX! A própria VMware alterou suas recomendações para cronometragem em VMs para usar o NTP em vez de ferramentas vmware se você tiver problemas.

Falei sobre isso com um engenheiro da VMware na VMworld e fui informado que o vmware-tools nunca foi projetado para fazer o trabalho que está fazendo agora. Antigamente, interrupções perdidas eram um grande problema. Hoje muito menos. Esta é a razão pela qual o vmware-tools é capaz de corrigir o tempo da sua máquina se a máquina estiver atrasada, mas não quando a máquina estiver à frente. De fato, uma vez que a máquina vai à frente do tempo "real", você está praticamente ferrada se usar ferramentas vmware para fazer cronometragem.

Melhor ainda: ao usar o ntp, o processo que corrige o seu tempo realmente desperta com menos frequência em comparação com o uso de vmware-tools. Assim, para máquinas virtuais, o ntp fornecerá menos sobrecarga em vez de mais.

Portanto, para o Linux, você deve sempre usar o ntp em máquinas virtuais VMware. Desative completamente o synctime do vmware-tools.

Para VMs do Windows em VMware, tenho menos certeza, mas acho que é praticamente o mesmo. Use o material integrado de sincronização de horário no AD, que funciona melhor do que o VMware SyncTime. (Mesmo que a sincronização de tempo do AD seja ruim por si mesma; sua única razão de existência é manter o Windows em sincronia com seus controladores de domínio e o Kerberos ainda funcionará enquanto a diferença de clock for menor que cerca de 5 minutos. menor necessidade de precisão.)

Você pode ler sobre a sincronização de tempo do VMware no Linux um pouco mais aqui

    
por 27.05.2009 / 13:55
4

Use o daemon NTP.

    
por 08.05.2009 / 21:11
4

NTP é seu amigo.

RHEL / CentOS:

yum install ntpd

Debian / Ubuntu:

apt-get install ntpd

Windows:

  • Para o Windows 2000 : Tardis 2000 . Funciona muito bem, vem com um painel de controle. Se você usar isso, lembre-se de desativar o Serviço de Tempo do Windows.
  • Para Windows 2003/2008 : Já mencionado em outras respostas nesta questão. Como alternativa, você pode executar o Tardis 2000 em uma caixa 2k3, não sei se funciona em 2k8.
  • Para qualquer estação de trabalho do Windows : execute o seguinte comando no login: net time /domain:your-domain-here

Para todos os serviços NTP:

Aponte seu serviço para pool.ntp.org, embora você queira pelo menos reduzi-lo ao mesmo continente. Por exemplo, os servidores dos EUA usariam 0.us.pool.ntp.org, 1.us.pool.ntp.org, 2.us.pool.ntp.org, etc.

    
por 10.05.2009 / 23:37
3

Como muitos já responderam, o NTP é o caminho a percorrer. Dependendo das suas necessidades e requisitos, existem vários designs possíveis que você pode usar para sincronizar o tempo.

  1. Sincronize máquinas individuais com o host público, por exemplo, pool.ntp.org
  2. Designe um mestre local (com NTP upstream) e sincronize tudo o mais com ele
  3. Mestre local com seu próprio GPS hw anexado (pode ser $$$)

Se você tiver muitas máquinas, as opções 2 e 3 são muito mais amigáveis para a rede. Para mais detalhes, leia sobre NTP e estratos de relógio .

Além disso, acho que o intervalo padrão do Windows para sincronização é muito longo (uma vez por semana), o que leva a muito desvio. Você deve verificar o seguinte se quiser definir as coisas para um período mais curto (eu uso uma vez por dia).

link link

    
por 09.05.2009 / 11:12
2

Um bom servidor NTP, principalmente. Configure-o de modo que o relógio não tenha se desviado mais do que alguns segundos desde a última sincronização do NTP e você não tenha problemas.

Se o seu servidor estiver flutuando mais de 30 segundos por dia, talvez você queira procurar alternativas melhores, mas os clocks dentro da maioria dos computadores são geralmente muito melhores que 30 segundos por dia, portanto, uma sincronização por dia normalmente é boa.

Esteja ciente de que você pode pular minutos se você configurá-lo para sincronizar periodicamente (ntpdate), e não usar o daemon NTP (ntpd) - se você estiver por trás de 3 segundos, e a sincronização do NTP tentar uma atualização em 10 minutos e 58 segundos, ele passará para 11 minutos e um segundo e, dependendo do agendador que estiver usando, ele não poderá acionar as tarefas de 11 minutos.

O daemon NTP é executado em segundo plano e corrige o tempo devagar para que os programas e os processos de aviso possam estar indo um pouco mais rápido ou devagar do que o normal, mas ele não será ignorado em segundo lugar.

-Adam

    
por 08.05.2009 / 21:14
1

Um servidor NTP é o que é necessário para manter a hora sincronizada no seu DC, sim. Leia este artigo para obter instruções sobre como sincronizar seu DC com uma fonte externa e essa base de conhecimento artigo sobre como configurar um servidor de horário autoritativo com o Windows 2003. Você precisará de ambos para manter o tempo de seu domínio sincronizado. Estações de trabalho unidas ao domínio serão sincronizadas automaticamente com o servidor de horário autoritativo.

    
por 08.05.2009 / 22:36
0

Use uma fonte de relógio comum para todos os seus servidores e verifique se os fusos horários estão configurados corretamente. Uma boa fonte da Internet é "time.windows.com". Se você estiver usando o Windows, você pode usar "net time" e "w32tm" para comandos relacionados ao tempo.

    
por 08.05.2009 / 21:16