Назад | Перейти на главную страницу

системные часы отклоняются назад на 112 секунд

Я устраняю проблему на одном из моих серверов NTP. Этот сервер, кажется, не поддается логике, и я в своем уме пытаюсь устранить его. Примерно каждые 162 секунды системные часы возвращаются к (текущее время - 112 секунд), несмотря на то, что аппаратные часы являются точными. Это происходит независимо от того, запущен ntpd или нет, и когда часы переключаются, аппаратные часы по-прежнему сообщают точное время (до некоторого более позднего времени, когда hwclock синхронизируется с системными часами).

Я собрал небольшой однострочный текст, чтобы продемонстрировать проблему:

$ date ; sudo /sbin/service ntpd stop ; date; sudo ntpdate -u time.nist.gov ; sudo /sbin/hwclock --systohc  --utc ; sudo /sbin/hwclock --hctosys --utc ; i=0 ; ss=$(/bin/date +%s) ; while [ $i -lt 240 ] ; do date ; ts=$(($(/bin/date +%s)-$ss)) ; /sbin/hwclock --show --utc ; echo "seconds since last sync: $ts" ; sleep 1 ; ((i++)) ; done
Tue Jan  6 03:44:41 UTC 2015
Shutting down ntpd:                                        [  OK  ]
Tue Jan  6 03:44:41 UTC 2015
 6 Jan 03:46:34 ntpdate[13092]: step time server 24.56.178.140 offset 112.261660 sec
Tue Jan  6 03:46:37 UTC 2015
Tue 06 Jan 2015 03:46:38 AM UTC  -0.994306 seconds
seconds since last sync: 0
Tue Jan  6 03:46:39 UTC 2015
Tue 06 Jan 2015 03:46:40 AM UTC  -0.995661 seconds
seconds since last sync: 2
Tue Jan  6 03:46:41 UTC 2015
Tue 06 Jan 2015 03:46:42 AM UTC  -0.995526 seconds
seconds since last sync: 4
Tue Jan  6 03:46:43 UTC 2015
Tue 06 Jan 2015 03:46:44 AM UTC  -0.995515 seconds
seconds since last sync: 6
Tue Jan  6 03:46:45 UTC 2015
Tue 06 Jan 2015 03:46:46 AM UTC  -0.995465 seconds
seconds since last sync: 8
Tue Jan  6 03:46:47 UTC 2015
Tue 06 Jan 2015 03:46:48 AM UTC  -0.995293 seconds
seconds since last sync: 10
Tue Jan  6 03:46:49 UTC 2015
Tue 06 Jan 2015 03:46:50 AM UTC  -0.995207 seconds

Это продолжается немного, но в конечном итоге системные часы перескакивают на 112 секунд назад:

Tue Jan  6 03:47:07 UTC 2015
Tue 06 Jan 2015 03:47:08 AM UTC  -0.995297 seconds
seconds since last sync: 30
Tue Jan  6 03:45:16 UTC 2015
Tue 06 Jan 2015 03:47:10 AM UTC  -0.995259 seconds
seconds since last sync: -81
Tue Jan  6 03:45:18 UTC 2015
Tue 06 Jan 2015 03:47:12 AM UTC  -0.996067 seconds
seconds since last sync: -79
Tue Jan  6 03:45:20 UTC 2015
Tue 06 Jan 2015 03:47:14 AM UTC  -0.996148 seconds
seconds since last sync: -77

некоторые мелкие детали: эта система работает под управлением CentOS 5.11, работает на «голом железе» (не на виртуальной машине), время безотказной работы составляет 23 дня, и эта проблема началась пару месяцев назад. У меня действительно не было времени взглянуть на него до сих пор, поэтому я не уверен, было ли какое-то обновление / активность с этим сервером при его запуске.

Итак, я думаю, мой вопрос в том, что еще, кроме ntpd, может обновлять системные часы? Я подтвердил, что нет запланированных заданий cron, которые касаются часов, и, насколько я могу судить, ни один из запущенных демонов не должен касаться часов.

Оказывается, это был дрейф времени на контроллерах домена Active Directory, к которым был привязан этот хост. Фиксированное время на контроллерах домена и настройка их для синхронизации с сервером ntp. Версия, которую также использовали хосты, не обновляла никаких журналов, указывающих на изменение времени, что и усложняло устранение неполадок.