
No passado, vi que a maior parte do meu computador na minha rede local não tinha 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) tivesse exatamente o mesmo relógio. Eu sei que posso usar o NTP para esse assunto e sei que posso fazer com que um servidor obtenha a hora de um relógio atômico e os outros sejam sincronizados com esse servidor.
Porém, tenho uma preocupação principal com essa técnica: se aquele servidor quebrar, minha sincronização de horário será interrompida... o que não é nada bom.
Existe uma maneira adequada de garantir que todos os 48 computadores tenham seus relógios sincronizados com uma precisão de cerca de 0,5 µs? Se não for 0,5µs, o que podemos esperar? (ou seja, 0,5 ms?)
Responder1
O NTP pode usar um pool de servidores (por exemplohttp://www.pool.ntp.org/en/mas você pode criar o seu próprio) para evitar o caso de um servidor inoperante, e os servidores também podem manter um relógio local se, por algum motivo, todos os seus servidores pai estiverem indisponíveis.
Responder2
Na verdade eu encontrei umpostagem no blogcom as informações que eu procurava. Eles mencionam que seu cluster possui computadores devidamente sincronizados a 1ms usando NTP.
ParecePTP, conforme sugerido por Michael Hampton, segue a mesma estratégia de: utilizará um computador,o grande mestre, como fonte para sincronização de horário, em vez de tentar obter o horário absoluto correto em todos os computadores (como resultado, seo grande mestreestá 10ms diferente do que o mundo consideroutempo real absoluto, todos os nós serão desativados em 10 ms).
A solução proposta nesse documento é:
1)Configure um computador para recuperar o tempo absoluto com NTP. Se esse computador falhar, os relógios podem começar a oscilar, mas não se tornarão imprecisos entre si, estarão à deriva em comparação com otempo real absolutoapenas.
Neste caso, você usa server
definições (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, digamoslocal.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 entre si; 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.). você obtém uma rede ponto a ponto que sincroniza entre si 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 o mais próximo possível do tempo real.
A local.ntp
própria referência pode ser vista como um par (você pode até torná-la um par?)
O uso de PS restrict
é fortemente recomendado ao usar peer
em uma rede semipública para evitar que outras pessoas acessem sua rede NTP.