É possível configurar ntpd
para alterar o nível de estrato de uma fonte de rede?
À primeira vista, achei que a fudge
diretiva poderia fazer isso; no entanto, depois de navegar nas ntp.conf(5)
páginas do manual, descobri que essa diretiva se aplica apenas aos relógios de referência.
Alguns detalhes:
Eu tenho um servidor local em execução ntpd
como fonte de tempo principal para clientes na LAN. Este servidor está apontado para o pool ntp.org e geralmente mantém o nível 3 do estrato.
Além do meu servidor principal, eu tenho um dispositivo de rede de terceiros cujo trabalho principal é sincronizar relógios de parede sem fio via. Transmissão de RF. A especificação do dispositivo diz que é um "Time Server compatível com RFC2030", mas, caso contrário, é praticamente uma caixa preta. Eu configurei o dispositivo para usar meu servidor principal, pois é apenas a fonte de tempo:
configuração da caixa preta http://www.freeimagehosting.net/uploads/21bafb12bd.png
Meu problema surgiu quando eu configurei ntpd
no meu computador pessoal para usar o meu servidor NTP principal e o transmissor sem fio como fontes de tempo. Ao consultar meu ntpd local, notei que a "caixa preta" (10.xxZ) era a fonte de tempo preferida:
$ ntpq -pn
remote refid st t when poll reach delay offset jitter
==============================================================================
x10.x.x.X 69.164.222.108 3 u 48 64 177 0.501 370.029 1.530
*10.x.x.Z 10.x.x.Z 2 u 50 64 377 1.354 -23.681 14.179
Como 10.x.x.Z
a única fonte de tempo do servidor é o servidor 10.x.x.X
(que é o estrato 3), ele deve ser o estrato 4. Acredito que o fabricante codificou seu nível de estrato.
Existe alguma maneira de fazer a minha máquina favorecer o servidor "bom" (10.xxX), apesar do seu nível de estrato mais alto? Eu também tentei a prefer
diretiva no meu ntp.conf
arquivo local , mas sem sucesso, a pequena caixa preta sempre vence: /
Pelo que vale a pena, minha máquina local está executando o Mac OS X 10.6.
$ ntpq -c rv | grep version
version="ntpd [email protected] Mon May 18 19:38:25 UTC 2009 (1)",
Respostas:
Depois de mais algumas pesquisas, parece "enganar" o nível de estrato de uma fonte de rede não é possível. Então segui em frente e tentei a resposta de dtoubeli . Para minha surpresa, simplesmente fazer do meu servidor de horário local um nível de estrato 2 (igual ao dispositivo de terceiros) nem sempre fazia com que ele fosse a fonte de horário preferida. Meu ntpd local ainda os governaria como "ticks falsos". Por alguma razão, não tenho certeza, mas acho que eram as únicas duas fontes de tempo e seus tempos estavam muito distantes.
O maior problema aqui é o fato de que meu dispositivo de terceiros não parece ter um tempo muito consistente; na verdade, ele flutua muito. A solução para o meu problema foi adicionar várias outras fontes de tempo precisas (pool.ntp.org) ao meu
/etc/ntp.conf
. Agora, meu servidor local é sempre escolhido como a fonte de tempo preferida, muitas vezes apesar de ter um nível de estrato mais alto do que alguns dos servidores no pool.fonte
Você pode tentar executar o ntpd local no estrato 2. Em vez de apontá-lo para pool.ntp.org, crie uma lista de 5-7 servidores do estrato 1 e adicione-os diretamente à configuração. Com o servidor de referência no estrato 1, o seu estará executando no estrato 2. Então sua
prefer
opção pode funcionar.Contudo, pela minha experiência, o nível do estrato nem sempre é o fator vencedor na eleição da fonte primária. Eu acho que latência e instabilidade também têm influência significativa. Eu havia notado em várias ocasiões que o servidor de menor nível de estrato foi eleito como fonte primária, embora houvesse vários servidores de mais alto nível disponíveis apenas por apresentar a menor latência. É por isso que não posso garantir que a abordagem sugerida funcione.
fonte
Eu tenho uma fonte de tempo GPS de hardware de "alto estrato (10)" em nossa rede local que me fornece um status de falsetick (x) no ntpq. Descobri que usar
server [x.x.x.x] true
(x = endereço IP) no ntp.conf ignorará a verificação do falssetick, permitindo que seja um possível candidato. Parece que o número do estrato nem sempre significa prioridade mais alta.fonte
Se você não gosta deste servidor 10.xxZ como referência, deve fazer o truque:
Isso é útil se o servidor deve ser usado apenas por motivos de monitoramento. Como alternativa, você também pode configurar:
Portanto, 10.xxZ não será usado se 10.xxX estiver disponível.
fonte
Uma razão pela qual é preferível é que seu outro servidor de horas esteja inacessível recentemente. Veja a coluna de alcance?
fonte