почему ntp не восстанавливается после запуска без интернета?


11

У меня есть несколько устройств Linux (без чипов TOY, поэтому они полностью полагаются на ntp), которые могут загружаться без доступа к Интернету (связь с коммутатором установлена). ntpСлужба начнет , но , очевидно , ни один из узлов не будет связаться. Затем я получаю ntpсервис, который работает, но не синхронизируется с какими-либо узлами ( ntpq -pдает .INIT.статус)

Проблема в том, что это меняется, когда установлено соединение с Интернетом.

Если соединение доступно во время загрузки, то все работает нормально. То же самое, если я вручную выдаю service ntp restart( ntpподключается к пирам и время правильно синхронизировано).

Не должен ли NTP попытаться восстановить соединение через равные промежутки времени?

  • если да: это то, что я должен настроить (я ничего не видел в конфиге)
  • если нет: что было бы хорошим способом для обработки перезапуска службы или задержки запуска службы (я мог бы предположить, что подключение к Интернету вернется через n минут после загрузки)

Примечание. Из документов видно, что максимальное время пула (которое, как я понимаю, является максимальным временем, которое ntp будет пытаться подключиться к одноранговым узлам, прежде чем сдаться?), Составляет 1024 секунды = 17 минут, что намного больше времени, необходимого для установления Доступ в интернет (от 2 до 5 минут, в худшем случае)

Ответы:


12

Вы могли быть укушены крайним случаем для ntpd:

Версии IIRC ntpd <4.2.4p3 удалили все серверы из списка синхронизации, которые в какой-то момент не были доступны. Это, конечно, довольно плохо в этом случае, так как ntpd вполне может «исчерпать» список своих пиров до получения подключения к Интернету.

Можно / можно установить dynamicпараметр для этих серверов, ntp.confчтобы обойти эту проблему.

В более новых версиях это больше не должно быть необходимым (также динамическая опция была удалена в какой-то момент, что вызвало незначительные проблемы у некоторых людей с внезапными жалобами ntp).

Таким образом, вы можете либо обновить свой ntpd, либо установить опцию.

В качестве третьего варианта вы можете создать правильную зависимость в вашей системе инициализации; заставляя ntpd полагаться на установленное интернет- соединение ( не только на сеть). В результате вы можете использовать это и в других сервисах.


1

Упаковка Debian OpenNTPD автоматически перезапускает его, если появляется интерфейс. Это распространено.

Кроме того, вам (как правило) нужно будет синхронизировать один выстрел перед запуском xntpd , так что я предлагаю этот путь.


1
Интерфейс работает. Это Интернет, который не доступен.
WoJ

Мне также никогда не нужно было синхронизировать один выстрел. Это явно возможный случай, но перезапуск службы очищает статус вверх.
WoJ
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.