Chrony не синхронизирует время

Не первый раз сталкиваюсь с ситуацией, когда не работает синхронизация времени на сервере. На конкретном примере рассмотрю, как разрешить эту ситуацию при использовании службы синхронизации времени chronyd. Ошибка в первую очередь связана с тем, что провайдер блокирует запросы к серверам времени.

Углубленный онлайн-курс по MikroTik

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.

К примеру, используется дефолтная установка системы centos. Там по-умолчанию настроен chrony. В конфиге /etc/chronyd.conf перечислены серверы времени:

server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst

Я замечаю, что на сервере время начинает отставать. Смотрю системный лог:

Feb  9 23:59:24 proxy-nginx chronyd[25285]: Source 94.247.111.10 replaced with 195.3.254.2
Feb 10 00:30:45 proxy-nginx chronyd[25285]: Source 195.210.189.106 replaced with 128.0.142.251
Feb 10 01:12:08 proxy-nginx chronyd[25285]: Source 194.190.168.1 replaced with 85.21.78.8

Ошибок нет, сервера меняются, но нет намека на то, что что-то не в порядке.

Пробую принудительно обновить время с помощью chrony:

# chronyc -a makestep
200 OK

На вид все в порядке. Проверяю лог.

chronyd[19432]: System clock was stepped by 0.000000 seconds

Вижу, что время не изменилось. Проверяю статистику по подключениям.

# chronyc sources -v

Chrony ошибка синхронизации времени

Понимаю, что реально к серверам подключения нет. Дальше я уже и так все понял, потому что сталкиваюсь не первый раз. Из-за уязвимостей в протоколе ntp, его часто провайдеры блокируют полностью и предоставляют свои сервера для синхронизации времени. Я не стал писать в тех поддержку, чтобы узнать сервер времени провайдера. Просто открыл настройку chrony на сервере, установленном из шаблона провайдера и посмотрел там адреса.

После того, как установил сервера провайдера, все стало в порядке. Синхронизация времени в chrony заработала.

chronyd[19542]: Selected source 188.93.16.19
chronyd[19542]: System clock wrong by -343.992220 seconds, adjustment started
systemd: Time has been changed
chronyd[19542]: System clock was stepped by -343.992220 seconds
chronyd[19542]: System clock was stepped by -0.000011 seconds
systemd: Time has been changed

Список серверов для обновления времени в chrony

После таких больших поправок по времени лучше перезагрузить систему, если есть возможность. Если нет, то хотя бы перезапустить основные сервисы.

Рекомендую настраивать мониторинг времени серверов с помощью zabbix. В последних версиях сервера, в стандартных шаблонах эта проверка есть по-умолчанию. На более старых серверах можно настроить вручную. Метрика вроде бы и не критичная. Но это только на первый взгляд. Из-за неправильного времени ошибки могут всплывать в самых неожиданных местах.

Углубленный онлайн-курс по MikroTik.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.
Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

4 комментария

  1. Максим

    У меня другая проблемя появилась. Crhony видит ntp и синхронизирует время. Но после каждой перезагрузки машины, причем любой, вылазит следущее System clock was stepped by -10796.523280 seconds Через некоторое время он все исправит и у время будет работать как надо. Но вот из-за этих 10 секунд не стартуют при запуске системы некоторые сервисы яля panfs и еже с ними. Че делать не знаю уже всю голову сломал... В инетах у всех одно и тоже - мол у вас chrony не видит NTP (((

    • Так это в биосе время неправильное стоит, либо на гипервизоре, если это виртуалка. Система загружается, получает неправильное время от железа. Потом синхронизирует его и становится правильным.

  2. Аноним

    Класс!

  3. Спасибо, помогло.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar