por que o ntp não se recupera após uma inicialização sem Internet?

11

Eu tenho alguns dispositivos Linux (sem chips TOY, então eles dependem completamente do ntp) que podem ser inicializados sem acesso à Internet (o link para o switch está ativo). O serviço ntp será iniciado, mas obviamente nenhum ponto será contatado. Depois, acabo com um serviço ntp que está em execução, mas não está sincronizando com nenhum ponto ( ntpq -p fornece um status .INIT. )

O problema é que isso muda quando a conexão com a Internet é estabelecida.

Se a conexão estiver disponível no momento da inicialização, tudo funcionará bem. Idem se eu emitir manualmente um service ntp restart ( ntp se conecta aos peers e a hora está sincronizada corretamente).

O ntp não deve tentar se reconectar em intervalos regulares?

  • se sim: é algo que eu devo configurar (não vi nada na configuração)
  • se não: qual seria uma boa maneira de lidar com a reinicialização do serviço ou o atraso no início do serviço (eu poderia assumir que a conectividade com a Internet estará de volta n minutos após a inicialização)

Nota: parece dos documentos que o tempo máximo do pool (que eu entendo é o tempo máximo que o ntp tentará se conectar aos pares antes de desistir?) É 1024 segundos = 17 minutos , que é muito mais do que o tempo necessário para estabelecer o acesso à Internet (cerca de 2 a 5 minutos, no pior dos casos)

    
por WoJ 06.12.2013 / 12:59

2 respostas

12

Você pode ter sido mordido por um caso extremo de ntpd:

Versões ntpd do IIRC < 4.2.4p3 removeu todos os servidores da sua lista de sincronização que não puderam ser alcançados em algum momento. Isso é obviamente muito ruim nesse caso, já que o ntpd pode muito bem 'esgotar' a lista de seus pares antes de ganhar conectividade com a Internet.

Poderíamos / podemos definir a opção dynamic para esses servidores em ntp.conf para contornar esse problema.

Com versões mais novas, isso não deve ser mais necessário (também, a opção dinâmica foi desativada em algum momento, o que causou pequenas queixas para algumas pessoas com queixas de ntp, de repente).

Assim, você pode atualizar seu ntpd ou definir a opção.

Como uma terceira opção, você pode criar uma dependência adequada em seu sistema init; fazendo o ntpd depender de uma conexão internet estabelecida ( não apenas rede). O resultado seria que você pode reutilizar isso com outros serviços também.

    
por 06.12.2013 / 14:28
1

O pacote Debian OpenNTPD reinicia automaticamente se uma interface aparecer. Isso é comum.

Além disso, você precisará (geralmente) sincronizar um -shot antes de iniciar o xntpd , então eu sugiro que este é o caminho a seguir.

    
por 06.12.2013 / 14:40

Tags