Итак, я пытаюсь отладить мою текущую настройку NTP, и обнаружил, что смещение от моего единственного настроенного сервера составляет более 3 секунд, а не регулировка. Звездочка на LOCAL (0) в выводе ntpq, похоже, указывает на то, что система успешно синхронизируется с собой, а не с сервером 10.130.33.201 (который является еще одним linux-боксом в нашей системе, с которым мы хотим, чтобы все синхронизировалось).
ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
10.130.33.201 LOCAL(0) 9 u 49 64 377 0.242 -3742.2 1.049
*LOCAL(0) .LOCL. 10 l 2 64 377 0.000 0.000 0.001
И это мой файл ntp.conf. Написано кем-то другим, поэтому я не уверен на 100%, что все правильно.
server 10.130.33.201 burst iburst minpoll 4 maxpoll 11
driftfile /mnt/active/etc/ntp.drift
restrict -4 default nomodify nopeer notrap
restrict -6 default ignore
# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available.
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
Я читал о взрывах, iburst и minpoll / maxpoll, поэтому я понимаю, что они могут и не понадобиться, но я не думаю, что это как-то связано с моей текущей проблемой.
Кроме того, из-за того, как он развернут, для изменения этого конфигурационного файла потребуется много работы, поэтому я надеюсь, что на самом деле ничего не нужно менять. Я надеюсь, что это тот случай, когда я не понимаю, как работает NTP.
РЕДАКТИРОВАТЬ -
Итак, похоже, что это дубликат этого вопроса , но я не чувствую, что у автора есть достаточный ответ, поэтому я все же хотел бы знать, почему местное время предпочитается серверу. Кроме того, согласно одному из ответов ниже, я попытался использовать prefer
ключевое слово в строке сервера конфигурации и перезапустить, но это, похоже, не дало эффекта.
Если я уберу все «локальные» строки в конфигурации, поскольку ответ на другой вопрос подсказывает, что произойдет, если сервер недоступен? NTP умирает или он просто продолжает пытаться?
ВАЖНОЕ РЕДАКТИРОВАНИЕ -
Хорошо, обычно 10.130.33.201 («сервер») не имеет доступа к Интернету и не имеет источника времени GPS для использования. Важным моментом является то, что все устройства в системе имеют одинаковое время с сервером, независимо от того, насколько корректным является это время.
Итак, просто чтобы посмотреть, что произойдет, я добавил один из серверов пулов NTP в конфигурационный файл сервера, чтобы он получал время оттуда, а не от локального. Теперь он правильно получает время с сервера времени NTP.
После этого клиенты теперь синхронизируются с сервером, а не предпочитают LOCAL (0).
ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*10.130.33.201 38.229.71.1 3 u 58 64 377 0.216 715621. 1.001
LOCAL(0) .LOCL. 10 l 18 64 377 0.000 0.000 0.001
НОВЫЙ ВОПРОС - Когда мой сервер использует локальный (оригинальный пример, который был дан), кажется, что клиенты говорят: «О, 10.130.33.201 использует LOCAL (0). Хм, у меня также есть LOCAL (0) сервер - - Я просто буду использовать это напрямую, а не получать ту же информацию через 10.130.33.201 ".
Это тот случай? Они пытаются перейти "прямо к источнику", который неверно ЛОКАЛЬНЫЙ (0)? Мне нужен мой сервер, чтобы получать время от LOCAL (0), и мне нужны клиенты, чтобы получать время с сервера. Сейчас удаление «локального» сервера из файлов конфигурации клиента - единственный вариант, но я хотел бы понять, почему это происходит, и, если это вообще возможно, избегать изменения их конфигураций (изменение конфигурации будет большой работой из-за наше окружение...).
Кроме того, это выглядит как еще один дубликат без хорошего ответа.