Como manter o tempo em vários servidores em sincronia

5

Eu quero que um cluster de servidores tenha exatamente o mesmo tempo. Todos estão usando o fuso horário UTC.

Usando o NTP atualmente, ainda vejo que parecem estar desativados em 10 a 20 milésimos de segundo cada.

Qual é a melhor maneira de tê-los cada um no tempo exato?

    
por pdeva 29.08.2014 / 22:39

3 respostas

19

Conectar seu ntpd a servidores NTP fora de sua LAN para sincronização de tempo pode levar a inconsistências, porque cada conexão terá que passar por vários roteadores, cada um com latências imprevisíveis, dependendo do tráfego. Se cada servidor se conectar sozinho, o tempo entre todos os servidores será um pouco menor.

Para evitar a inconsistência, a melhor abordagem é criar um servidor NTP local, sincronizar o tempo com um pool de servidores NTP externo e usar esse servidor NTP local como "relógio mestre" para seus servidores locais:

  1. Servidor NTP local

    Você configura este servidor para sincronizar com um servidor NTP em um pool geograficamente próximo a você. Em este site você pode obter uma lista de servidores e obter um próximo a você. Ele manterá o tempo em sincronia com eles.

  2. NTP Daemon nos seus servidores

    Configure o ntpd em todos os servidores para se conectar ao seu servidor NTP local. À medida que você mantém um servidor NTP local em uma última LAN de baixa latência, a inclinação será mínima.

Usando esta implementação, o tempo em seus servidores estará em sincronia entre si.

    
por 02.09.2014 / 15:03
2

Como apontado por outros, um servidor NTP local que sincroniza a partir de um servidor público e fornece um serviço de baixa latência para seus outros servidores provavelmente será o melhor que você pode fazer.

Você pode obter uma sincronização externa muito precisa do GPS se conseguir ver o céu, mas isso geralmente não é prático.

Eu suspeito que, se você está tendo problemas, você tem um dos dois problemas: Ou você está pesquisando NTP (por exemplo, ntpdate do cron) em vez de executar um daemon local, ou o seu problema está relacionado a testes e latência em seu rede e seus servidores podem estar mais sincronizados do que você imagina.

    
por 03.09.2014 / 06:36
2
  1. Você já pensou em mudar do NTP para o PTP? link
  2. Se você não puder se afastar do NTP, talvez o multicast ajude. link

De qualquer forma, uma das coisas óbvias para acertar é a fonte de tempo de boa qualidade. Obtenha seu próprio receptor de GPS e / ou relógio atômico em seu data center ou conecte-se a vários clocks externos de stratum 0. A estratégia posterior é um pouco incerta. Você nunca sabe que tipo de relógio na internet está fornecendo-o como estrato 0, eles podem ser qualquer coisa, desde relógios realmente bons até os carrapatos do vovô.

p.s. Use ntpq -c peers para ver o nível de estrato dos relógios aos quais você está se conectando. Mais informações sobre depuração, consulte o link

    
por 03.09.2014 / 23:47