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