Quão preciso podemos obter relógios de computador sincronizados em uma rede local de qualquer número de computadores?

1

No passado, vi que a maioria do meu computador na minha rede local não tem o mesmo tempo em até 1 segundo ou mais.

Então eu queria ter certeza de que seria possível que uma pilha de servidores (digamos, 48 computadores 1U) tivessem exatamente o mesmo clock. Eu sei que posso usar NTP para o assunto e sei que posso ter um servidor obter tempo de um relógio atômico, e os outros sincronizados com esse servidor.

No entanto, tenho uma preocupação principal com essa técnica: se esse servidor quebrar, a sincronização de tempo será interrompida ... não é nada bom.

Existe uma maneira correta de garantir que 48 computadores tenham seu relógio sincronizado com uma precisão de cerca de 0,5 µs? Se não 0,5µs, o que podemos esperar? (isto é, 0,5 ms?)

    
por Alexis Wilke 24.09.2015 / 01:16

2 respostas

2

O NTP pode usar um pool de servidores (por exemplo, link , mas você pode criar o seu próprio) para evitar server-is-down, e os servidores também podem manter um relógio local se, por algum motivo, todos os seus servidores-pai estiverem indisponíveis.

    
por 24.09.2015 / 02:18
0

Na verdade, encontrei uma postagem no blog com as informações que eu estava procurando. Eles mencionam que o cluster deles tem computadores devidamente sincronizados em 1ms usando o NTP.

Parece que o PTP , como sugerido por Michael Hampton, segue a mesma estratégia de: ele fará uso de um computador, o grande mestre , como fonte de sincronização de horário, em oposição a tentar obter o tempo absoluto correto em todos os computadores (como resultado, se o grande mestre estiver desligado) 10ms do que o mundo considerou tempo real absoluto , todos os nós estarão desligados em 10 ms).

A solução proposta nesse documento é:

1) Configure um computador para recuperar o tempo absoluto com o NTP. Se esse computador cair, os relógios podem começar a se desviar, mas eles não se tornarão imprecisos entre os outros, eles estarão à deriva em comparação com o tempo real absoluto somente.

Nesse caso, você usa as definições de server ( o grande mestre ):

server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
...

Configure também este computador como um servidor NTP, digamos local.ntp

2) Configure os outros computadores como pares

server local.ntp   # only on a few other (3 to 5) computers
peer c0 iburst
peer c1 iburst
peer c2 iburst

Você não precisa ter todos os 48 computadores conectados uns aos outros, em vez disso você teria entre 3 e 5 com cada computador usando uma configuração ligeiramente diferente (c1, c2, c3, depois c2, c3, c4, etc.) Como resultado, você obtém uma rede ponto a ponto que sincroniza uns aos outros o mais próximo possível, com alguns computadores (3 a 5) vinculados ao nó definido em (1), ou seja, local.ntp , para obter o tempo mais próximo possível ao tempo real.

A referência local.ntp pode ela mesma ser vista como um par (você pode até mesmo torná-la par?)

P.S. o uso de restrict é altamente recomendado ao usar peer em uma rede semi-pública para impedir que outras pessoas acessem sua rede NTP.

    
por 26.09.2015 / 02:48