O NTP deve funcionar bem. Veja algumas das opções para sincronização rápida na inicialização. Veja as opções burst
e iburst
para o sistema B. Veja a opção true
para a fonte do relógio GPS.
Considere usar o relógio de hardware como fonte de tempo de backup em ambos os sistemas. Defina um sistema de estrato superior B. Algo como o seguinte deve funcionar:
server 127.127.1.0
fudge 127.127.1.0 stratum 8
Assista a saída de ntpq -c peers
para ver quando você obtém uma fonte de relógio confiável. Normalmente, ntp
deseja um número de respostas de uma fonte de tempo confiável antes de confiar nela. Isso é indicado pelo primeiro caractere em cada linha.
Embora o NTP goste de mais fontes, qualquer número ímpar de fontes de tempo dentro de um nível de estrato deve funcionar bem. Como você só tem dois servidores e um relógio GPS, a prioridade (estrato) das fontes deve aumentar de GPS, relógio no servidor A, relógio no servidor B. Aumentar o estrato entre cada um por três ou quatro níveis garantirá que as prioridades sejam respeitadas. / p>
EDIT: Se você tiver o servidor NTP busybox no servidor A, pode valer a pena instalar o pacote completo do servidor ntp. Entender o que está acontecendo com o servidor A deve ajudar muito a solucionar seu problema. Você precisará de pelo menos uma fonte de tempo confiável antes que o servidor B confie nela. Se ntpq -c peers
não funcionar, você pode tentar ntpdc peers
. Ambos os comandos permitem que você consulte outros hosts. Um peerstats
log também pode ser útil.
No servidor B, use o ntpclient conforme documentado o busybox ntp howto para registrar o que está acontecendo nele
Os relógios devem estar razoavelmente próximos do horário correto, se os servidores não estiverem inativos por muito tempo. Se você precisar sincronizar os dois sistemas, isso deve ser suficiente. O GPS irá sincronizar o tempo com o mundo real.
'ntpd -q' é sincronizado rapidamente, mas sai (comportamento ntpdate). Ele precisa ser seguido por um comando ntpd
sem a opção quit para ter sincronização contínua.
EDIT2: Eu verifiquei meu servidor e descobri que um dos servidores estava desligado por um segundo. Enquanto corrigia isso eu joguei com as configurações. iburst
obtém um servidor confiável muito rapidamente. true
assegurou que o driver do relógio era confiável se não houvesse várias outras fontes confiáveis. O relógio demorou um pouco mais de um minuto para ser confiável localmente e poder ser confiado remotamente.
Ao testar, você deve ser capaz de reiniciar o processo ntpd
depois que ele for sincronizado e testar a velocidade com que as configurações funcionam. No caso acima, o Servidor B pode precisar ser reiniciado para testar a velocidade de sincronização. Ao monitorar ntpd
alterações, eu uso uma linha como:
while ntpq -c peers localhost; do sleep 10; done
O nome do host e o tempo de sono são ajustados conforme necessário. Em alguns casos, eu encadeço duas ou mais linhas de comando ntpq
no loop. Ao fazer isso, eu uso um comando echo e / ou data para fornecer uma indicação de onde os conjuntos de dados são alterados.