У меня есть несколько устройств Linux (без чипов TOY, поэтому они полностью полагаются на ntp), которые могут загружаться без доступа к Интернету (ссылка на переключатель активна). В ntp
служба запустится, но, очевидно, никто не свяжется с узлами. Затем я получаю ntp
служба, которая запущена, но не синхронизируется ни с одним партнером (ntpq -p
дает .INIT.
положение дел)
Проблема в том, что это действительно меняется, когда устанавливается подключение к Интернету.
Если соединение доступно во время загрузки, все работает нормально. То же, если я вручную выдаю service ntp restart
(ntp
подключается к одноранговым узлам, и время правильно синхронизируется).
Не следует ли ntp пытаться повторно подключаться через определенные промежутки времени?
Примечание: похоже из документов что максимальное время пула (которое, как я понимаю, является максимальным временем, в течение которого ntp будет пытаться подключиться к одноранговым узлам перед отказом?) составляет 1024 секунды = 17 минут, что намного больше, чем время, необходимое для установления доступа в Интернет (примерно от 2 до 5 минут , худший случай)
Возможно, вас укусил крайний случай для ntpd:
IIRC ntpd версий <4.2.4p3 удалил из списка синхронизации все серверы, которые не могли быть достигнуты в какой-то момент. В данном случае это, конечно, очень плохо, поскольку ntpd вполне может «исчерпать» список своих сверстников, прежде чем получить доступ к Интернету.
Можно / можно установить dynamic
вариант для этих серверов в ntp.conf
чтобы обойти эту проблему.
С более новыми версиями в этом больше не должно быть необходимости (кроме того, в какой-то момент была удалена динамическая опция, что внезапно вызвало незначительные нарекания у некоторых людей с жалобами ntp).
Итак, вы можете либо обновить свой ntpd, либо установить опцию.
В качестве третьего варианта вы можете создать соответствующую зависимость в своей системе инициализации; заставляя ntpd полагаться на установленный Интернет соединение (не просто сеть). В результате вы можете повторно использовать это и с другими сервисами.
Пакетирование Debian OpenNTPD автоматически перезапускает его, если появляется интерфейс. Это обычное дело.
Также, вам (обычно) нужно синхронизировать один снимок перед запуском xntpd в любом случае, так что я предлагаю это путь.