Eu tenho uma LAN isolada e com gap de ar que quero sincronizar. Eu tenho um host que será o servidor de horário oficial para todos os clientes na LAN. Não é importante que o horário da LAN reflita o tempo real, mas é importante que todos os clientes concordem com o horário. Todos os hosts estão executando Linux.
Eu esperava configurar de chronyd
forma que ele usasse o RTC no host indicado como fonte de tempo autoritativa e fornecesse um serviço NTP aos clientes para que eles pudessem sincronizar com ele. Portanto, se o administrador precisar alterar o horário na LAN, ele poderá atualizar o RTC no servidor de horário e tudo deverá entrar em sincronia com tempo suficiente.
Infelizmente não estou tendo muita sorte configurando chronyd
desta forma. Se eu não especificar nenhum servidor de horário (" server ...
" in /etc/chrony/chrony.conf
), chronyd
parece operar sem fontes, em vez de usar o RTC local como fonte.
O refclock
parâmetro config pode ser usado para selecionar uma fonte de tempo externa, como GPS ou PPS, mas nenhum dos drivers parece apropriado para ler o RTC.
Uma ideia que tive é escrever um pequeno aplicativo para ler o RTC e fornecê-lo como dados PPS sobre o SOCK
driver, mas uma leitura adicional mostrou que isso também requer uma fonte NTP, pois é uma medição de subsegundo e não o tempo absoluto.
É possível usar chronyd
desta forma?
por si só no chrony.conf é suficiente para habilitar o sistema local como referência.
RTCs não são perfeitos, eles derivam muito. Se você só precisa de precisão, não de exatidão, isso pode ser aceitável.
Outras diretivas também são úteis.
Para responder à minha própria pergunta, achei a documentação do Isolate-networks parcialmente relevante, em uma configuração específica
chrony.conf
para incluir:Isso parece pegar o tempo do RTC inicialmente, então talvez o uso de
settime
não seja necessário? Não tenho certeza semanual
é necessário.