ntpd не обновляет время

Я отлично обновил свой старый iMac до Mavericks. Затем я купил новый (на самом деле сертифицированный восстановленный) iMac и перенес все данные из резервной копии Time Machine.

Часы нового iMac отстают на несколько секунд в день. Когда я разблокирую системную настройку « Дата и время », время сразу же синхронизируется с правильным временем. Но потом он просто снова теряет время.

Я прочитал этот ответ , и теперь у меня всего 3 сервера времени, но, похоже, это не решает мою проблему.

В system.logфайле есть следующие соответствующие сообщения:

Dec  3 22:31:34 iMac.local ntpd[66350]: SYNC state ignoring +0.155735 s
Dec  3 22:31:35 iMac.local ntpd[66350]: ntpd: time set +0.308737 s
Dec  3 22:31:35 iMac.local com.apple.time[158]: Interval maximum value is 946100000 seconds (specified value: 9223372036854775807).

Тот Interval maximum valueвыглядит не очень.

Кто-нибудь знает, как это исправить, чтобы время оставалось синхронизированным?


Обновлять

Это заняло некоторое время, но добавление нескольких серверов времени сделало его лучше (не идеально, но лучше). Теперь он выигрывает время, но, по-видимому, гораздо медленнее.

Если добавление нескольких серверов (всего 3) имело какое-либо отношение к улучшению, возможно (?) добавление еще большего количества серверов сделает его еще лучше. Сейчас у меня 5 серверов в ntp.conf. Я посмотрю его в течение следующих нескольких дней и посмотрю, что произойдет. (Даже если это исправит это, это все еще не ответ, почему все это необходимо, чтобы исправить это в первую очередь. Ответ на этот вопрос был бы хорош, но я соглашусь на то, что он будет исправлен на данный момент.)

Кстати: вы можете установить несколько через графический интерфейс Системных настроек : просто введите имена серверов в поле с запятыми, чтобы разделить их. Это обеспечивает синхронизацию графического интерфейса и файла.

Кстати № 2: вот сайт, с которого я получил список общедоступных серверов NTP.

Ответы (5)

Что ж, на некоторые из этих вопросов (ваш маркированный список, включая «почему 5 серверов») немного сложно ответить, синхронизация времени — это кроличья нора. Старая притча о человеке с одними часами, который знает, который час, а человек с двумя никогда не уверен...

Один сервер всегда является очевидным «истинным химиком», потому что ничто не может обесценить его. Два сервера — это «наихудшая возможная конфигурация», по мнению авторов NTP, поскольку никогда не будет известно, какой из них «более» правильный. Как только вы доберетесь до трех серверов, NTP может начать отмечать часы как «ложные метки» на основе некоторых внутренних показателей — они будут отображаться со статусом «x» при запуске ntpq -pв системе. Дополнительные сведения о столбцах и индикаторах состояния для этой команды доступны на сайте ntp.org .

Чтобы вернуться к рассматриваемой проблеме, несколько замечаний:

  • размещение строки pool us.pool.ntp.org iburstв вашем /etc/ntp.confфайле автоматически добавит четыре ntp-сервера stratum 2 из пула ntp в ваш список серверов времени. Они используют циклическую ротацию DNS для распределения нагрузки. Если вы не в США, вы можете использовать другие пулы.

  • вы не можете настроить строку конфигурации пула из графического интерфейса Системных настроек; однако вы могли бы поместить следующее, что имело бы тот же эффект: 0.us.pool.ntp.org, 1.us.pool.ntp.org, 2.us.pool.ntp.org, 3.us.pool.ntp.org.

  • при самостоятельном выборе серверов времени вы всегда должны выбирать серверы «уровня 2» или выше (лучшей практикой в ​​Интернете является переход на серверы уровня 1 только в том случае, если вы обслуживаете время на десятках машин локально). вы также захотите проверить политики в списке общедоступных серверов времени перед изменением minpoll/maxpoll по умолчанию для общедоступных серверов, некоторые администраторы не хотят, чтобы вы меняли значения по умолчанию (это может увеличить нагрузку на их общедоступные серверы). Лучший подход — просто использовать серверы пула NTP.

  • Я также наблюдаю существенное изменение качества времени после перехода на Mavericks. Я только что добавил больше серверов, как и вы, чтобы посмотреть, решит ли это проблему, но что-то определенно изменилось. У меня есть сервер уровня 1 в моей локальной сети, и часы на моем iMac дрейфуют повсюду, тогда как до обновления Mavericks этого не было.

Вы могли бы подумать, что наличие только одного сервера time.apple.com(по умолчанию: собственный сервер Apple) будет «просто работать», поэтому не потребуется больше серверов.

Что ж, наличие 5 серверов NTP, похоже, решило эту проблему, поэтому я думаю, что этот ответ на самом деле был ответом на его исправление , но это неудовлетворительный ответ, потому что он не отвечает на следующие вопросы:

  • Почему 5 серверов?
  • Зачем так много нужно?
  • Зачем нужно больше 1?
  • Есть ли на самом деле аппаратная проблема с микросхемой часов, из-за которой она так сильно дрейфует, что требуется 5 серверов, чтобы поддерживать ее правильность?
Мой до сих пор застревает.
5 не является специальным числом. Часы отключаются, и сеть между вами и часами может выйти из строя, поэтому вам нужно больше одной. Протокол ntp опирается на согласованную сеть, поэтому он может рассчитывать время проверки связи и соответствующим образом настраивать тактовые сигналы. Чем больше серверов, тем выше вероятность того, что один или несколько из них будут давать хороший сигнал. Компьютерные чипы довольно часто дрейфуют, поэтому я не уверен, является ли это аппаратной проблемой или просто фактом жизни с типами аппаратного обеспечения в большинстве ПК.

Я считаю, что Mavericks сделали то же самое с моим Mac Mini. После пары безрезультатных звонков в поддержку Apple (которые дали мне стандартные хромые решения, такие как сброс p-ram), я решил покопаться в этом сам.

Я заметил, что демон ntp (ntpd) завершает работу после первого запуска после запуска системы. (найдено просмотром логов системы через консольную утилиту и фильтрацией по "ntp").

Я позвонил в службу поддержки Apple в третий раз, чтобы найти более подходящее решение, чем редактирование файлов конфигурации. Я разговаривал с одним из их старших сотрудников службы технической поддержки. Он заставил меня сделать еще один сброс p-ram, а также переместить папку SystemConfiguration (находится в папке Macintosh HD/Library/Preferences) в корзину, очистить корзину и перезапустить. После этого мне пришлось снова настроить свой WiFi и имя компьютера (а позже и мои настройки совместного использования экрана, поскольку я использую VNC для удаленного совместного использования экрана).

Пока (около 23 часов спустя) я вижу, что ntpd продолжает работать:

12/6/13 10:14:13.648 AM ntpd[125]: ntpd: time set +0.963208 s
12/6/13 10:17:41.244 AM ntpd[125]: FREQ state ignoring +0.048040 s
12/6/13 10:18:51.412 AM ntpd[125]: FREQ state ignoring +0.065328 s
12/6/13 10:20:25.493 AM ntpd[125]: FREQ state ignoring +0.086068 s
12/6/13 10:23:01.588 AM ntpd[125]: FREQ state ignoring +0.121602 s
12/6/13 10:26:33.638 AM ntpd[125]: FREQ state ignoring +0.171160 s
12/6/13 10:31:06.911 AM ntpd[125]: ntpd: time set +0.233468 s
12/6/13 10:53:45.415 AM ntpd[125]: ntpd: time set +0.314875 s
12/6/13 11:58:56.335 AM ntpd[125]: SYNC state ignoring -0.375950 s
12/6/13 12:30:12.744 PM ntpd[125]: ntpd: time set -0.825345 s
12/6/13 1:47:54.647 PM ntpd[125]: SYNC state ignoring -1.119880 s
12/6/13 2:09:34.354 PM ntpd[125]: ntpd: time set -1.432706 s
12/6/13 3:49:25.547 PM ntpd[125]: SYNC state ignoring -1.439366 s
12/6/13 4:16:33.217 PM ntpd[125]: ntpd: time set -1.830211 s
12/6/13 10:33:28.790 PM ntpd[125]: SYNC state ignoring -0.411060 s
12/6/13 11:06:32.793 PM ntpd[125]: ntpd: time set -0.905610 s
Сброс PRAM был первым, что я попробовал: ничего не сделал. У меня нет .applesavedфайла. См. выше мое обновление.

Этот поток выглядел как хорошее объяснение проблемы и возможного обходного пути.

https://discussions.apple.com/thread/5604114?start=45&tstart=0#27183298

В основном пейсмейкер конфликтует с модифицированным Apple ntp на Mavericks. Несколько обходных путей, предлагаемых по крайней мере: * скомпилируйте свою собственную версию ntp или восстановите из pre-mavericks * принудительно коснитесь файла дрейфа, чтобы кардиостимулятор перечитал его

Я еще не пробовал.

Он сломан даже в Mavericks 10.9.2. Решения, которые я видел, были рекомендованы, по-видимому, на самом деле не решают проблему. Похоже, что единственное реальное исправление — заменить сломанный ntpd и конфигурацию Apple. Подробное объяснение см. в сообщении этого парня: http://www.atmythoughts.com/living-in-a-tech-family-blog/2014/2/28/what-time-is-it

Пожалуйста, кратко изложите решение в ссылке - ответы только по ссылке могут быть признаны недействительными, если связанная страница изменится.