Por que o NTP não aumenta o intervalo de pesquisa ao usar um receptor GPS / PPS e servidores da Internet?

7

Eu tenho um sistema Debian que é usado como um servidor NTP. Ele consulta vários servidores na internet e também possui um receptor GPS com saída PPS para cronometragem de precisão.

Se eu não usar o receptor GPS, o NTP aumentará gradualmente o intervalo de pesquisa do intervalo inicial de 64 segundos até o máximo padrão de 1024 segundos, normalmente em uma ou duas horas. Esse é um comportamento normal e geralmente considerado educado, pois minimiza a quantidade de consultas feitas aos servidores da Internet, mantendo o relógio local em sincronia.

No entanto, quando conecto o receptor GPS e adiciono as linhas apropriadas ao arquivo ntp.conf para permitir que o NTP o use como fonte, o comportamento muda: mesmo que eu não tenha alterado nenhuma das entradas server individuais para os servidores da Internet, o intervalo de pesquisa não aumenta e permanece fixo em 64 segundos, mesmo depois que os dias passam.

O sinal PPS mantém o relógio local bem disciplinado ( ntpq -p reporta um deslocamento de 0,000 ms com um jitter de 0,002 ms, com todos os servidores da internet em cerca de 2 ms), enquanto os códigos de contagem em ntpq -p confirmam PPS disciplina e mostrar, como esperado, que a maioria dos servidores de internet são selecionados como "truechimers", enquanto há ocasionalmente alguns outliers.

Em suma : tudo parece estar funcionando normalmente como esperado, com a exceção de que os intervalos de pesquisa dos servidores da Internet não aumentam. Porque não?

Eu posso forçar manualmente o intervalo de pesquisa por mais tempo colocando, por exemplo, minpoll 10 nas linhas server para os servidores da Internet, mas prefiro que o NTP gerencie automaticamente o intervalo de pesquisa dos servidores da Internet quando o PPS está ativado, assim como acontece quando o PPS não é usado.

Atualmente, tenho o NTP configurado para verificar o driver do PPS com minpoll e maxpoll de 4 (16 segundos). No entanto, testei a configuração sem forçar minpoll ou maxpoll em qualquer linha server , incluindo a do driver PPS.

Aqui está a parte relevante do meu arquivo ntp.conf :

# Drift file
driftfile /var/lib/ntp/ntp.drift

# PPS Driver (check every 16 seconds)
server 127.127.22.0 minpoll 4 maxpoll 4
fudge 127.127.22.0 refid PPS

# Internet servers. Use iburst to get quick sync on startup.
# Server is located in Switzerland, so choose Swiss or German
# primary time servers and members of the Swiss NTP pool.
#
# At least one "prefer" server is needed for PPS to work properly.
# See <http://www.eecis.udel.edu/~mills/ntp/html/drivers/driver22.html>
# "This driver is enabled only under one of two conditions..."
server ntp.metas.ch iburst prefer
server ptbtime1.ptb.de iburst prefer
server ptbtime2.ptb.de iburst prefer
server ptbtime3.ptb.de iburst prefer
server 0.ch.pool.ntp.org iburst
server 1.ch.pool.ntp.org iburst
server 2.ch.pool.ntp.org iburst
server 3.ch.pool.ntp.org iburst
    
por heypete 20.02.2014 / 15:00

1 resposta

3

A resposta curta é "porque o Prof. Mills et. al. disse isso". Existe um bug ^ 1 questionando esse comportamento. Na discussão, dois dos desenvolvedores ntp disseram que o intervalo de sondagem "64s" da recclock impede que o intervalo de sondagem da fonte da rede aumente "e que esse comportamento é intencional. ^ 2 Eles também mencionaram que se o aperto do minpoll é realmente um grande problema para você que você pode (como você descobriu) definir manualmente o minpoll dos servidores remotos para qualquer valor que você preferir. No entanto, eles alertaram que esse comportamento não foi recomendado.

A resposta ligeiramente mais técnica é que, na presença de um refclock, a constante de tempo ^ 4 usado para disciplina de relógio também é usado para o intervalo de sondagem. [5] Vale a pena notar que eles disseram que revisitariam o problema se pudessem explicar por que esse comportamento é um problema.

Nota: Com tantas fontes, você deve aumentar as configurações de minclock / minsane. No mínimo:

tos minsane 4 minclock 4

Existe uma razão pela qual você está usando somente o PPS e não está usando as sentenças NMEA? Eu tenho um servidor ntp equipado com NMEA / PPS em casa e eu tenho algumas fontes externas marcadas como noselect com minpoll 10 para que eu possa perceber se algo está errado com o meu servidor. A maioria dos GPSs modernos funciona bem com a antena no peitoril da janela.

    
por 21.02.2014 / 00:47

Tags